<?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-590151449538254295</id><updated>2012-01-26T14:37:46.080+07:00</updated><category term='C Programming'/><category term='android'/><category term='masak'/><category term='resep'/><category term='Structured Programming'/><category term='Database'/><category term='Game'/><category term='Java Programming'/><category term='CCNA1'/><category term='Networking'/><category term='Dota'/><category term='Misc'/><category term='Pascal Programming'/><category term='CCNA3'/><category term='bloggeroid'/><category term='Study Materials'/><category term='News'/><category term='Application'/><category term='Web'/><category term='kue'/><title type='text'>Saindra Santyadiputra</title><subtitle type='html'>learning by doing | speaking by thinking | trying by praying</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-4840541370049364222</id><published>2011-01-25T18:28:00.001+07:00</published><updated>2011-01-25T18:28:53.930+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='resep'/><category scheme='http://www.blogger.com/atom/ns#' term='masak'/><category scheme='http://www.blogger.com/atom/ns#' term='kue'/><title type='text'>Kue Tape Keju Coklat</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;[V] Telor&lt;br/&gt;[V] Terigu&lt;br/&gt;[V] Baking soda&lt;br/&gt;[V] Gula pasir&lt;br/&gt;[V] Tape&lt;br/&gt;[V] Maezena&lt;br/&gt;[V] Keju&lt;br/&gt;[V] Minyak klp&lt;br/&gt;[V] Coklat btang&lt;br/&gt;&lt;br/&gt;&lt;p style='font-size: xx-small' align='right'&gt;posted from Bloggeroid&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-4840541370049364222?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/4840541370049364222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2011/01/kue-tape-keju-coklat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4840541370049364222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4840541370049364222'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2011/01/kue-tape-keju-coklat.html' title='Kue Tape Keju Coklat'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-3351917081121640295</id><published>2010-12-28T14:34:00.001+07:00</published><updated>2010-12-28T14:34:55.301+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bloggeroid'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>[TESTING] BLOGGEROID FOR ANDROID ON SAMSUNG GALAXY S</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Iseng2 cr aplikasi posting ke blog dr mobile phone.. Ketemu Blogger-droid.. Search aj d market dengan keyword blog.. Psti ktemu..&lt;br/&gt;&lt;br/&gt;Menjelang 2011.. Mudah2an content blog ini bs terus terupdate.. Hehe.. Myb akan ada map dota baru n tutorial2.. Blkngan ne lumayan dpt pengetahuan baru.. Jd hrus bnyk di share.. &lt;br/&gt;&lt;br/&gt;Ok cukup utk hari ini.. sekian dan terimakasih..&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-3351917081121640295?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/3351917081121640295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2010/12/testing-bloggeroid-for-android-on.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3351917081121640295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3351917081121640295'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2010/12/testing-bloggeroid-for-android-on.html' title='[TESTING] BLOGGEROID FOR ANDROID ON SAMSUNG GALAXY S'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7205125005747585255</id><published>2010-02-03T08:02:00.000+07:00</published><updated>2010-02-03T08:02:39.122+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Dota'/><title type='text'>Latest DotA Map: v6.66b and v6.66b AI Map</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;center&gt; &lt;img src="http://www.playdota.com/img/site/changelogs.png" /&gt; &lt;/center&gt;       &lt;br /&gt;&lt;img alt="Changelog 6.66b" border="0" id="6.66b" src="http://www.playdota.com/img/changelogs/1264567093.jpg" /&gt;  &lt;br /&gt;* Fixed a major exploit recently discovered&lt;br /&gt;&lt;br /&gt;* Recoded Bounty Hunter's wind walk damage bonus as to not require two separate attacks to trigger his new passive&lt;br /&gt;&lt;br /&gt;* Some Doombringer nerfs:&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt; &lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt; &lt;div style="display: none; margin: 0px; padding: 0px;"&gt; - Reduced base armor by 2&lt;br /&gt;- Reduced base movement speed by 10&lt;br /&gt;- Increased Scorched Earth cooldown from 60/50/40/30 to 60/55/50/45&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;* Readjusted the Divine Rapier pickup rules to prevent some abuses. &lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt; &lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt; &lt;div style="display: none; margin: 0px; padding: 0px;"&gt;If the first time the item is lost from its original owner it is picked up by an allied hero, it becomes muted (no damage) until it returns to its owner. It has the same rules as the previous version when an enemy is carrying it. Here are the complete rapier rules to clarify:&lt;br /&gt;- "Original Rapier" has two modes, active and muted. It is active (bonus damage, droppable) when carried by the owner and muted (no damage, droppable) when carried by an ally&lt;br /&gt;- "Free Rapier" is the item state that occurs when an enemy acquires it. This is a permanent transformation for the item. It will always provide bonus damage and will always be undroppable, regardless of how it switches sides back and forth afterwards. This is the same as the previous patch. &lt;br /&gt;Summary: The primary change that is done here is that a hero cannot intentionally pool the rapier to his ally.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;* -unlock now requires a majority vote before the gold and items of a leaver will be released. As a reminder, once a hero is unlocked, it cannot be switched. &lt;br /&gt;&lt;br /&gt;* Added a 15 second wait period before the drafting begins in -CD to give both teams a chance to look at the heroes.&lt;br /&gt;&lt;br /&gt;* Renamed the controlon/off commands to be clearer which is which. They are now -disableselection (-ds) and -enableselection (-es)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Various map optimizations&lt;br /&gt;* Fixed an old recipe fusing exploit with leaver items that could result in crashes &lt;br /&gt;* Fixed Essence Shift on units that change form&lt;br /&gt;* Fixed a couple of bugs with Dark Pact debuff &lt;br /&gt;* Added replay data for creep kills/denies (at time intervals, &lt;br /&gt;format: "CSK"+I2S(PlayerID),value and "CSD"+I2S(PlayerID),value)&lt;br /&gt;* Fixed various tooltips&lt;br /&gt;* Fixed gold not being split after using -unlock when someone leaves via -kickafk&lt;br /&gt;* Fixed being able to -unlock while a switch vote is ongoing&lt;br /&gt;* Fixed some spells incorrectly triggering Magic Stick/Essence Aura (Devoured Neutral Troll Priests Heal, Radiance Swap, etc)&lt;br /&gt;* Fixed some -CD language text issues as well as some missing parser information&lt;br /&gt;* Fixed Arcane Ring recipe purchase hotkey&lt;br /&gt;* Fixed some potential Basher bugs on some levels of Spirit Bear&lt;br /&gt;* Fixed an abuse possible with one hero carrying multiple Urn of Shadows &lt;br /&gt;* Fixed the second Forged Spirit from being added to your control despite having control helper turned off &lt;br /&gt;* Fixed a bug with -switch when you have Rapier (that you don't own) on you&lt;br /&gt;* Fixed a few other misc minor bugs&lt;br /&gt;&lt;br /&gt;&lt;a href="http://64.20.55.210/eng/DotA%20Allstars%20v6.66b.w3x"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;DOWNLOAD DotA Map v6.66b HERE&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.playdota.com/forums/attachment.php?attachmentid=10386&amp;amp;d=1264849424"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;DOWNLOAD DotA Map v6.66b AI HERE&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7205125005747585255?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7205125005747585255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2010/02/latest-dota-map-v666b-and-v666b-ai-map.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7205125005747585255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7205125005747585255'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2010/02/latest-dota-map-v666b-and-v666b-ai-map.html' title='Latest DotA Map: v6.66b and v6.66b AI Map'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1471792053699226601</id><published>2010-01-26T20:51:00.001+07:00</published><updated>2010-01-26T20:56:25.876+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Enable Hide Inactive Icons Tray Using Registry in Windows</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Many of the Windows XP, Windows Vista or Windows 7 users usually find that the Auto Hide Inactive Icons tray from the taskbar has stopped working or it is missing inspite of&amp;nbsp; enabling it from the control panel or the taskbar properties. This problem is very common. May be after reboot it may work again, but for some systems the tray may never come up. This tray will hide the inactive and unnecessary icons from the taskbar. So many people like this feature. Making it work again is what we are talking about here. See the images below where one is not having hide inactive Icon tray and another one is having it:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: justify;"&gt;Enabling the Inactive icon tray consists of changing only a single registry. Its an easy process. There are two methods given below. Both the methods needs registry editing to be enabled. If your Registry editing has been disabled by the administrator then visit: How to enable Registry Editor (REGEDIT) to enable it.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://techrena.blogspot.com/2008/11/how-to-enable-registry-editor-regedit.html" target="_blank" title="Enable Registry Editor"&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;h4 style="color: red;"&gt;Method 1: Using Elevated Command Prompt&lt;/h4&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b style="color: orange;"&gt;Step1:&lt;/b&gt; Copy the whole command from the table below:&lt;br /&gt;&lt;br /&gt;&lt;table border="2" cellpadding="2" cellspacing="0" style="width: 545px;"&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td valign="top" width="541"&gt;&lt;b&gt;REG ADD HKCUSoftwareMicrosoftWindowsCurrentVersionExplorer /t REG_DWORD /v EnableAutoTray /d 1 /f&lt;/b&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt; &lt;/table&gt;&lt;b style="color: orange;"&gt;Step 2:&lt;/b&gt; Open a Command Prompt (Press Start + R, type cmd and Enter). Paste the command you had copied into the Command Prompt. In order to paste in Command Prompt right click and select paste.&lt;br /&gt;&lt;a href="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/EnableAutoTray.png" target="_blank"&gt;&lt;img alt="View Enable Auto Tray using Command Prompt Image" border="0" class="meebo-_sharableItem" height="134" src="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/EnableAutoTray_thumb.png" style="-moz-user-select: none; border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="View Enable Auto Tray using Command Prompt Image" width="526" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b style="color: orange;"&gt;Step 3:&lt;/b&gt; Press Enter to execute the command. It should execute successfully.&lt;br /&gt;&lt;b style="color: orange;"&gt;Step 4:&lt;/b&gt; Log Off your computer and Log On again. Now your Hidden Icon tray will be working.&lt;br /&gt;&lt;br /&gt;&lt;h4 style="color: red;"&gt;Method 2: Using Registry Editor&lt;/h4&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b style="color: orange;"&gt;&lt;b&gt;Step 1&lt;/b&gt;:&lt;/b&gt; Open a Registry Editor(Press Start + R, type regedit and Enter)&lt;br /&gt;&lt;b style="color: orange;"&gt;&lt;b&gt;Step 2&lt;/b&gt;:&lt;/b&gt; Go to the registry key path given below:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer&lt;/b&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;b&gt;&lt;a href="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/Hide_icon.png" target="_blank"&gt;&lt;img alt="View Hide icon key Image" border="0" class="meebo-_sharableItem" height="360" src="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/Hide_icon_thumb.png" style="-moz-user-select: none; border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="View Hide icon key Image" width="221" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;b style="color: orange;"&gt;Step 3:&lt;/b&gt;&lt;span style="color: orange;"&gt; &lt;/span&gt;In the Right Side of the registry editor see for the value EnableAutoTray. [If you are not able to find it, create a new value with the same name. To create a, value right click anywhere on the right pane and select New DWORD. Change the Name to EnableAutoTray(Press F2 for name change)]. Double click on EnableAutoTray and change the value to 1.&lt;br /&gt;&lt;a href="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/new_hide_icon.png" target="_blank"&gt;&lt;img alt="View new hide icon tray Value Image" border="0" class="meebo-_sharableItem" height="137" src="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/new_hide_icon_thumb.png" style="-moz-user-select: none; border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="View new hide icon tray Value Image" width="366" /&gt;&lt;/a&gt;&lt;a href="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/EnableAutoTrayNewReg.png" target="_blank"&gt;&lt;img alt="View Enable AutoTray New Value Image" border="0" class="meebo-_sharableItem" height="143" src="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/EnableAutoTrayNewReg_thumb.png" style="-moz-user-select: none; border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="View Enable AutoTray New Value Image" width="244" /&gt;&lt;/a&gt; &lt;a href="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/EnableAutoTrayReg.png" target="_blank"&gt;&lt;img alt="View Enable Auto Tray Registry value Image" border="0" height="55" src="http://www.techrena.net/images/EnableHideInactiveIconTrayUsingRegistryi_14F6/EnableAutoTrayReg_thumb.png" style="border: 0px none; display: block; float: none; margin-left: auto; margin-right: auto;" title="View Enable Auto Tray Registry value Image" width="374" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b style="color: orange;"&gt;Step 4:&lt;/b&gt; Now close the editor and log off your computer. Log On and you will find your tray is working.&lt;br /&gt;Congratulations you have enabled your Auto Hide Inactive Icons.&lt;br /&gt;&lt;span style="color: red;"&gt;&lt;b&gt;Note:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;1. Log Off means complete logging off the computer not Locking the computer like pressing Start+L.&lt;br /&gt;2. Restarting the computer will also work after the performing the procedure.&lt;br /&gt;3. If you change the Value as 0 the it will disable the Tray.&lt;br /&gt;4. This method works for windows XP, Vista and 7.&lt;br /&gt;&lt;a href="http://www.blogger.com/goog_1264514133373"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;a href="http://techsalsa.com/wp-content/uploads/2009/04/enableautotray.zip"&gt;Download Registry Script Here&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1471792053699226601?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1471792053699226601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2010/01/enable-hide-inactive-icons-tray-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1471792053699226601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1471792053699226601'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2010/01/enable-hide-inactive-icons-tray-using.html' title='Enable Hide Inactive Icons Tray Using Registry in Windows'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7469297866145867508</id><published>2010-01-16T16:04:00.001+07:00</published><updated>2010-01-16T16:05:16.427+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Dota'/><title type='text'>DotA Map v6.66 Released!</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt; &lt;img src="http://www.playdota.com/img/site/changelogs.png" /&gt; &lt;/center&gt;       &lt;br /&gt;&lt;img alt="Changelog 6.66" border="0" id="6.66" src="http://www.playdota.com/img/changelogs/1263316014.jpg" /&gt;  &lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/heroes.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/bat.gif" title="Bat" /&gt; &lt;a href="http://www.playdota.com/heroes/batrider" target="_blank"&gt; Batrider&lt;/a&gt;&lt;br /&gt;- Flaming Lasso cooldown decreased from 130/90/50 to 90/70/50&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/beast.gif" title="BM" /&gt; &lt;a href="http://www.playdota.com/heroes/beastmaster" target="_blank"&gt;Beastmaster&lt;/a&gt;&lt;br /&gt;- Wild Axes now properly hits invisible units&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/bh.gif" title="Bh" /&gt; &lt;a href="http://www.playdota.com/heroes/bounty-hunter" target="_blank"&gt;Bounty Hunter&lt;/a&gt;&lt;br /&gt;- Jinada cooldown improved from 22/17/12/7 to 21/16/11/6&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/cw.gif" title="Cw" /&gt; &lt;a href="http://www.playdota.com/heroes/clockwerk-goblin" target="_blank"&gt;Clockwerk&lt;/a&gt;&lt;br /&gt;- Rocket Flare cooldown decreased from 30/25/20/15 to 20/18/16/14&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/dirge.gif" title="Dirge" /&gt; &lt;a href="http://www.playdota.com/heroes/undying" target="_blank"&gt;Dirge&lt;/a&gt;&lt;br /&gt;- Added Aghanim's Scepter for Undying.&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;Regular Plague Aura&lt;br /&gt;- Plague Aura amplifies up to 20% / 25% / 30% max and heals for 6% of heroes and 2% of creeps&lt;br /&gt;Scepter Upgraded Plague Aura&lt;br /&gt;- Plague Aura amplifies up to 25% / 30% / 35% and heals for 10% of heroes and 3% of creeps&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/doom.gif" title="Doom" /&gt; &lt;a href="http://www.playdota.com/heroes/doom-bringer" target="_blank"&gt; Doom Bringer&lt;/a&gt; &lt;br /&gt;- Reworked and rebalanced most of his abilities&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;Old Devour:&lt;br /&gt;===========&lt;br /&gt;Creeps: Up to level 1/2/4/6&lt;br /&gt;Bonus Gold: 10/20/30/40&lt;br /&gt;cd: 30/25/20/15&lt;br /&gt;manacost: 50/45/40/35&lt;br /&gt;&lt;br /&gt;New Devour:&lt;br /&gt;===========&lt;br /&gt;Creeps: Up to level 2/4/5/6&lt;br /&gt;Bonus Gold: 40/60/80/100&lt;br /&gt;cd: 60/55/50/45&lt;br /&gt;manacost: 60&lt;br /&gt;&lt;br /&gt;Gains the abilities of the target neutral creep has until you devour another creep with abilities to replace it&lt;br /&gt;&lt;br /&gt;Old Scorched Earth:&lt;br /&gt;====================&lt;br /&gt;Large aoe castable.&lt;br /&gt;&lt;br /&gt;MS Bonus: 10/15/20/30%&lt;br /&gt;AS Bonus: 10/15/20/30%&lt;br /&gt;Deals: 1/2/3/4 dps&lt;br /&gt;Heals: 1/2/3/4 dps&lt;br /&gt;&lt;br /&gt;Duration: 20&lt;br /&gt;CD: 10&lt;br /&gt;Manacost: 60&lt;br /&gt;Cast Range: 800&lt;br /&gt;AOE: 700&lt;br /&gt;&lt;br /&gt;New Scorched Earth:&lt;br /&gt;====================&lt;br /&gt;Temporary effect around you. Earth is scorched wherever you are walking.&lt;br /&gt;&lt;br /&gt;MS Bonus: 20%&lt;br /&gt;Damage: 15/20/25/30&lt;br /&gt;Heals: 15/20/25/30&lt;br /&gt;&lt;br /&gt;Duration: 8/10/12/14&lt;br /&gt;Cooldown: 60/50/40/30&lt;br /&gt;Manacost: 60&lt;br /&gt;AOE: 600&lt;br /&gt;&lt;br /&gt;Old Doom:&lt;br /&gt;==========&lt;br /&gt;Regular&lt;br /&gt;-Duration: 12/14/16&lt;br /&gt;-DPS: 40/60/80&lt;br /&gt;-Cooldown: 160/130/100&lt;br /&gt;&lt;br /&gt;Scepter&lt;br /&gt;-Duration: 14/16/18&lt;br /&gt;-DPS: 50/70/90&lt;br /&gt;-Cooldown: 90/80/70&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;New Doom:&lt;br /&gt;==========&lt;br /&gt;Regular&lt;br /&gt;-Duration: 14&lt;br /&gt;-DPS: 30/50/70&lt;br /&gt;-Cooldown: 110&lt;br /&gt;&lt;br /&gt;Scepter&lt;br /&gt;-Duration: 14&lt;br /&gt;-DPS: 50/80/110&lt;br /&gt;-Cooldown: 110&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/es.gif" title="Es" /&gt; &lt;a href="http://www.playdota.com/heroes/earthshaker" target="_blank"&gt; Earthshaker&lt;/a&gt; &lt;br /&gt;- Echo Slam no longer counts corpses for damage Echo damage (They used to count them for partial damage)&lt;br /&gt;- Aftershock AoE from 280 to 300&lt;br /&gt;- Enchant Totem damage increased from 50/100/150/200 to 75/150/225/300&lt;br /&gt;- Added Aghanim's Scepter to Earthshaker's Echo Slam (echo bounces twice for each hero it hits)&lt;br /&gt;- Echo Slam's Echo damage increased from 35/45/65 to 40/55/70&lt;br /&gt;- Echo Slam's unit search aoe increased by 75 (this is not the damage aoe, just the initial unit search aoe)&lt;br /&gt;- Note: The main idea with most of these changes is to emphasis the timing aspect of the echo slam more. Some other buffs are done to compensate for the reduced power from the corpse count loss.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/enchant.gif" title="Enchant" /&gt; &lt;a href="http://www.playdota.com/heroes/enchantress" target="_blank"&gt; Enchantress&lt;/a&gt;&lt;br /&gt;- Movement speed increased from 295 to 305&lt;br /&gt;- Enchant's slow effect increased from 10/20/30/40% to 20/30/40/50%&lt;br /&gt;- Enchant's slow effect duration decreased from 7 to 5.5 seconds&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/void.gif" title="Void" /&gt; &lt;a href="http://www.playdota.com/heroes/faceless-void" target="_blank"&gt;Faceless Void&lt;/a&gt;&lt;br /&gt;- Timewalk slow increased from 10/20/30/40% to 25/30/35/40% &lt;br /&gt;- Timewalk cooldown rebalanced from 13 to 19/17/15/13&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/voke.gif" title="Voke" /&gt; &lt;a href="http://www.playdota.com/heroes/invoker" target="_blank"&gt;Invoker&lt;/a&gt;&lt;br /&gt;- Invoke cd from 30/25/12/5 cd to 22/17/12/5&lt;br /&gt;- Invoke manacost from 20/50/80/110 to 20/40/60/80&lt;br /&gt;- Alacrity bonus damage increased from 20-80 to 30-90&lt;br /&gt;- Alacrity duration increased from 8 to 9&lt;br /&gt;- Chaos Meteor damage improved:&lt;br /&gt;Main damage from 40-130 to 55-145 every 0.5 seconds &lt;br /&gt;Burn damage from 8-26 to 11-29 per second&lt;br /&gt;- Cold Snap now applies an initial ministun on cast&lt;br /&gt;- Forged Spirits Armor is now based on Exort and Range is now based on Quas&lt;br /&gt;- Ghost Walk manacost reduced from 300 to 200&lt;br /&gt;- Ghost Walk slow rescaled from 10-40% to 20-40%&lt;br /&gt;- Ice Wall manacost increased from 125 to 175&lt;br /&gt;- Ice Wall cooldown increased from 20 to 25&lt;br /&gt;- Sun Strike damage rescaled from 75-450 to 100-475&lt;br /&gt;- Tornado range increased from 700-3100 -&amp;gt; 800-3200&lt;br /&gt;- Tornado duration increased from 0.6-2.2 -&amp;gt; 0.8-2.5&lt;br /&gt;- Tornado damage increased from max of 375 to 400&lt;br /&gt;- Quas per instance regen from 0.75 to 1&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/jugg.gif" title="Jugg" /&gt; &lt;a href="http://www.playdota.com/heroes/juggernaut" target="_blank"&gt;Juggernat&lt;/a&gt;&lt;br /&gt;- Blade Fury cooldown reduced from 30 to 30/28/26/24&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/aa.gif" title="Ancient Apparition" /&gt; &lt;a href="http://www.playdota.com/heroes/ancient-apparition" target="_blank"&gt; Kaldr&lt;/a&gt;&lt;br /&gt;- Cold Feet manacost increased from 90 to 90/100/110/120&lt;br /&gt;- Ice Blast impact delay is a little slower now&lt;br /&gt;- Ice Blast no longer pierces Shallow Grave&lt;br /&gt;- Ice Blast debuff is now purgable&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/ogre.gif" title="Ogre" /&gt; &lt;a href="http://www.playdota.com/heroes/ogre-magi" target="_blank"&gt;Ogre Magi&lt;/a&gt;&lt;br /&gt;- Fireblast Multicast upgraded cooldown improved from 15/12/9/6 to 12/10/8/6&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/od.gif" title="Od" /&gt; &lt;a href="http://www.playdota.com/heroes/obsidian-destroyer" target="_blank"&gt;Obsidian Destroyer&lt;/a&gt;&lt;br /&gt;- Essence Aura no longer has a lower chance to trigger when autocasting Arcane Orb&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/potm.gif" title="Potm" /&gt; &lt;a href="http://www.playdota.com/heroes/priestess-of-the-moon" target="_blank"&gt;Priestess of the Moon&lt;/a&gt;&lt;br /&gt;- Moonlight Shadow manacost from 200/250/300 to a constant 175&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/pug.gif" title="Pug" /&gt; &lt;a href="http://www.playdota.com/heroes/oblivion" target="_blank"&gt;Pugna&lt;/a&gt;&lt;br /&gt;- Decrepify cast range increased from 550 to 550/600/650/700&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/qop.gif" title="Qop" /&gt; &lt;a href="http://www.playdota.com/heroes/queen-of-pain" target="_blank"&gt;Queen of Pain&lt;/a&gt;&lt;br /&gt;- Scream of Pain now affects Decrepified units&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/sb.gif" title="Sb" /&gt; &lt;a href="http://www.playdota.com/heroes/spiritbreaker" target="_blank"&gt;Spirit Breaker&lt;/a&gt;&lt;br /&gt;- Nether Strike now makes Spirit Breaker magic immune for the second that he is fading out during its cast&lt;br /&gt;- Charge of Darkness decreased manacost from 120 to 75&lt;br /&gt;- Charge of Darkness cast mechanic reworked&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;Charge of Darknessnow charges up in place for up to 4 seconds and then you move out at a speed relative to how long you charged it for. (Total movement bonus is the same as before, it just depends on chargeup time now instead of increasing slowly over time)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/murloc.gif" title="Murloc Nightcrawler" /&gt; &lt;a href="http://www.playdota.com/heroes/murloc-nightcrawler" target="_blank"&gt;Slark&lt;/a&gt;&lt;br /&gt;- Pounce Leash now gets removed if the target blinks or teleports away&lt;br /&gt;- Shadow Dance passive no longer works if Slark is Doomed&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/ursa.gif" title="Ursa" /&gt; &lt;a href="http://www.playdota.com/heroes/ursa-warrior" target="_blank"&gt; Ursa Warrior&lt;/a&gt;&lt;br /&gt;- Undid previous cast animation change on Overpower&lt;br /&gt;- Fixed a bug in the recent Overpower rewrite that prevented it from being removed by purge/euls&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/visage.gif" title="Visage" /&gt; &lt;a href="http://www.playdota.com/heroes/necrolic" target="_blank"&gt;Visage&lt;/a&gt;&lt;br /&gt;- Soul Assumption damage per charge decreased from 130 to 110&lt;br /&gt;- Soul Assumption manacost from 100/120/140/160 to 100&lt;br /&gt;- Soul Assumption cooldown from 7/6/5/4 to 4&lt;br /&gt;- Familiars Bounty reduced from 150 to 100&lt;br /&gt;- Familiars now magic reduction from 70/95/95% to 95% at all levels &lt;br /&gt;- Familiars bonus damage attack bonus attack damage from 72/90/100 to 84/105/126 &lt;br /&gt;- Familiars now have a small (160) ranged attack instead of melee &lt;br /&gt;- Gravekeeper's Cloak recharge time improved from 14/12/10/8 to 10/9/8/7 &lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/lock.gif" title="Lock" /&gt; &lt;a href="http://www.playdota.com/heroes/warlock" target="_blank"&gt;Warlock&lt;/a&gt;&lt;br /&gt;- Fatal Bonds damage increased from 3.75/7.5/11.25/15% to 15%&lt;br /&gt;- Fatal Bonds link count reduced from 5 to 2/3/4/5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/items.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/ArcaneSanctum/BTNINV_Wand_05.gif" title="AghanimsScepter" /&gt; &lt;a href="http://www.playdota.com/items/aghanims-scepter" target="_blank"&gt;Aghanim's Scepter&lt;/a&gt;&lt;br /&gt;- Added Undying and Earthshaker&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Ancient_Weaponry/BTNINV_Sword_25.gif" title="DivineRapier" /&gt; &lt;a href="http://www.playdota.com/items/divine-rapier" target="_blank"&gt; Divine Rapier&lt;/a&gt;&lt;br /&gt;- Can no longer be destroyed by attacking the item&lt;br /&gt;- If a player other than the original owner of the Rapier picks it up, they cannot drop it&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/ArcaneSanctum/BTNForceStaff.gif" title="ForceStaff" /&gt; &lt;a href="http://www.playdota.com/items/force-staff" target="_blank"&gt; Force Staff&lt;/a&gt;&lt;br /&gt;- Double clicking force staff now acts as if you clicked on yourself&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Enchanted%20Artifacts/BTNStormHammer.gif" title="Maelstrom" /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Enchanted%20Artifacts/BTNThunderMallet.gif" title="Mjollnir" /&gt; &lt;a href="http://www.playdota.com/items/maelstrom" target="_blank"&gt;Maelstrom&lt;/a&gt; &amp;amp; &lt;a href="http://www.playdota.com/items/mjollnir" target="_blank"&gt; Mjollnir&lt;/a&gt;&lt;br /&gt;- Increased max bounces from 3 to 4&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Gateway%20Relics/BTNPhaseBoots.gif" title="PhaseBoots" /&gt; &lt;a href="http://www.playdota.com/items/phase-boots" target="_blank"&gt;Phase Boots&lt;/a&gt;&lt;br /&gt;- Cooldown from 12 seconds to 10 seconds&lt;br /&gt;- Duration from 6 seconds to 5 seconds&lt;br /&gt;- Movement bonus from 10% to 12%&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/AncientOfWonders/BTNScrollUber.gif" title="ScrollOfTownPortal" /&gt; &lt;a href="http://www.playdota.com/items/scroll-of-town-portal" target="_blank"&gt; Scroll of Town Portal&lt;/a&gt;&lt;br /&gt;- Double clicking on scrolls now automatically targets your fountain&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/gameplayandcosmetics.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;* Switch now only works as long as the items of the leaver remain intact. Once someone leaves, the inventory of that hero becomes locked. Players can use an -unlock command, but once that is done switch cannot be used on that hero anymore. Once this feature is used enough to be considered stable, switch will be usable by default (-so mode won't be required) with the restrictions described above. The gold that the leaver is carrying is also frozen until the hero is either unlocked or swapped.&lt;br /&gt;&lt;br /&gt;* Added a new command, "-controloff"/"-controlon", to disable control help in the game (to prevent stuff like adding summoned units to your current selection: Invoker, Techies, Lanaya, etc)&lt;br /&gt;* Added a new test command to toggle creeps spawn off and on -spawnoff/-spawnon&lt;br /&gt;* Restored -mc, but with more detailed statistics to match up with the recently changed Multicast chance system&lt;br /&gt;* To prevent some abuses with -unstuck, it no longer works if your taking damage during the first few seconds after you enter the command&lt;br /&gt;&lt;br /&gt;* Doubled Satyr Trickster manapool and purge manacost (primarily affects just stolen ability via Devour)&lt;br /&gt;* Fixed the teleport effects sometimes being visually on an angle&lt;br /&gt;* Fixed Nightcrawler status buff text format&lt;br /&gt;* Fixed Tango visual buff being slightly inaccurate (this is just a cosmetic improvement/fix)&lt;br /&gt;&lt;br /&gt;* Added a visual effect for allied players to indicate which creep you infesting&lt;br /&gt;* Added a new sound set for Furion (&lt;a href="http://www.playdota.com/forums/91160/soundset-furion/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;91160&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Added a new sound set for Clockwerk&lt;br /&gt;* Added a new visual effect for Spirit Lance&lt;br /&gt;* Added new charge icon for Soul Assumption (&lt;a href="http://www.playdota.com/forums/137459-page2/interface-soul-assumption/#post660251" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;137459&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Disabled visual charge indication if the cooldown for Soul Assumption is not ready&lt;br /&gt;* Added a new overhead indictor for Soul Assumption (&lt;a href="http://www.playdota.com/forums/137459/interface-soul-assumption" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;137459&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Added an visaul effect when Eclipse misses to help players keep track (&lt;a href="http://www.playdota.com/forums/109017/animation-eclipse/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;109017&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Phantom Assassin images now have the proper fade visual effect (&lt;a href="http://www.playdota.com/forums/114120/visual-mortreds-illusions/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;114120&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Improved Eyes In The Forest cast animation (&lt;a href="http://www.playdota.com/forums/95740/visual-treant-protectors-casting-animation/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;95740&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Added new visual effect for Flesh Golem (&lt;a href="http://www.playdota.com/forums/51874-page2/animation-dirge-flesh-golem-plague-aura/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;51874&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;* Game mode status, rune messages and a few other misc strings are now externalized properly to allow for more flexible translation choices&lt;br /&gt;* Added replay parsing data for assists (Format: "Assist"+I2S(KillerId),DyingId)&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/bugs.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;* Fixed a few areas where you could get stuck in using TP scrolls&lt;br /&gt;* Fixed Malefice not reliably working if the enemy is fogged&lt;br /&gt;* Fixed Last Word from firing off on the precast for Ice Blast and Unstable Concoction&lt;br /&gt;* Fixed Ice Blast indicator staying at edge of map until you release it&lt;br /&gt;* Fixed Ice Blast debuff from overriding Time Lapse&lt;br /&gt;* Fixed some Dark Pact bugs&lt;br /&gt;* Fixed Essence Shift from piercing Shallow Grave&lt;br /&gt;* Fixed Essence Shift sometimes not registering properly at high attack speeds&lt;br /&gt;* Fixed Murloc sometimes not attacking the pounced target&lt;br /&gt;* Fixed dispersion damage on creeps&lt;br /&gt;* Fixed bugs with Charge of Darkness interaction with euls and ghost scepter&lt;br /&gt;* Fixed some mac specific bugs&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://www.clanwoof.com/dota/eng/DotA%20Allstars%20v6.66.w3x"&gt;DOWNLOAD DotA MAP v 6.66 HERE!&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7469297866145867508?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7469297866145867508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2010/01/dota-map-v666-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7469297866145867508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7469297866145867508'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2010/01/dota-map-v666-released.html' title='DotA Map v6.66 Released!'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7634339899270096756</id><published>2009-12-30T10:26:00.000+07:00</published><updated>2009-12-30T10:26:42.998+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>Avenged Sevenfold’s Drummer "The Rev" is DEAD</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Avenge Sevenfold’s ‘The Rev’ reportedly died of natural causes today. According to Fox News, James (Jimmy) Owen Sullivan aka “The Rev” was found dead at his home in Southern California. He was a backup vocalist and drummer for the Southern California band, “Avenged Sevenfold.”&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;They say James Owen Sullivan who went by the stage name, “The Rev” appears to have died of natural causes today in Huntington Beach,California. He was only 28 years old. The Orange County coroner’s office is reportedly investigating the death.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The Avenged Sevenfold band was formed in Huntington Beach,California back in 1999 and won “Best New Artist” at the 2006 MTV Video Music Awards. Also they were working on their fifth album,according to their Myspace page.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The band released a statement earlier to today,stating :&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;It is with great sadness and heavy hearts that we tell you of the passing today of Jimmy “The Rev” Sullivan. Jimmy was not only one of the world's best drummers, but more importantly he was our best friend and brother. Our thoughts and prayers go out to Jimmy's family and we hope that you will respect their privacy during this difficult time.&lt;br /&gt;&lt;br /&gt;Jimmy you are forever in our hearts.&lt;br /&gt;We love you.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;M Shadows, Synyster Gates, Zacky Vengeance and Johnny Christ&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Sullivan was found dead at his home in Huntington Beach on Monday, December 28, 2009, at 11:00 a.m. The Orange County Police Department is investigating his death; they said that it appeared to be due to natural causes.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7634339899270096756?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7634339899270096756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/12/avenged-sevenfolds-drummer-rev-is-dead.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7634339899270096756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7634339899270096756'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/12/avenged-sevenfolds-drummer-rev-is-dead.html' title='Avenged Sevenfold’s Drummer &quot;The Rev&quot; is DEAD'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7448155863154239177</id><published>2009-12-25T22:31:00.001+07:00</published><updated>2009-12-25T22:34:27.281+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Dota'/><title type='text'>DotA Map v6.65 Released!</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt; &lt;img src="http://www.playdota.com/img/site/changelogs.png" /&gt; &lt;/center&gt;       &lt;br /&gt;&lt;img alt="Changelog 6.65" border="0" id="6.65" src="http://www.playdota.com/img/changelogs/1261159321.jpg" /&gt;  &lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/heroes.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;- &lt;span style="color: darkorange;"&gt;New agility hero (Murloc Nightcrawler)&lt;/span&gt;&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;Range: 128&lt;br /&gt;Movement Speed: 305&lt;br /&gt;Hero Type: Agility&lt;br /&gt;&lt;br /&gt;Agility: 21 + 2.0&lt;br /&gt;Strength: 21 + 1.0&lt;br /&gt;Intelligence: 16 + 1.6&lt;br /&gt;&lt;br /&gt;Dark Pact:&lt;br /&gt;===========&lt;br /&gt;Slark calls upon deities of the swamps to seal a dark pact. Sacrificing some of his lifeblood, Slark is redeemed of all negative effects. After 2 seconds, a dark wave of destruction emits from the Nightcrawler, dealing damage to himself as well as all nearby enemies.&lt;br /&gt;&lt;br /&gt;Damage: 75/150/225/300&lt;br /&gt;AoE: 325&lt;br /&gt;Manacost: 55/50/45/40&lt;br /&gt;Cooldown: 10&lt;br /&gt;&lt;br /&gt;Deals half the damage to you immediately as part of the cost.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pounce:&lt;br /&gt;========&lt;br /&gt;Surges directly forward and latches on to the first enemy he hits, binding it with chains of darkness. The enemy is unable to move more than 275 distance away from the point of impact for 3.5 seconds.&lt;br /&gt;&lt;br /&gt;Pounce Range: 400/500/600/700&lt;br /&gt;Pounce Damage: 50/75/100/125&lt;br /&gt;Leash Range: 275&lt;br /&gt;Leash Duration: 3.5&lt;br /&gt;&lt;br /&gt;Cooldown: 16&lt;br /&gt;Manacost: 75&lt;br /&gt;&lt;br /&gt;Note: Moves forward in the direction it is looking, this is not a target position cast.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Essence Shift:&lt;br /&gt;===============&lt;br /&gt;Passive.&lt;br /&gt;&lt;br /&gt;Reciting ancient Nightcrawler incantations, Slark enchants his blade to steal the power and courage from his enemies. Every time Slark hits an enemy hero, he steals 1 point from all attributes and 1 additional from the main attribute of that enemy hero while Slark gains 4 points of Agility. &lt;br /&gt;&lt;br /&gt;Duration: 15/30/45/60&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Shadow Dance:&lt;br /&gt;==============&lt;br /&gt;Has an active and a passive portion.&lt;br /&gt;&lt;br /&gt;Covers himself with a dark smoke, he becomes invisible and does not reveal himself while attacking or casting spells for 5.5 seconds. &lt;br /&gt;&lt;br /&gt;Passively increases Nightcrawler's movement speed and regeneration when he is out of sight of hostile units. Has a 0.7 delay when activated or deactivated.&lt;br /&gt;&lt;br /&gt;Movement Speed: 30/35/40%&lt;br /&gt;Health Regeneration: 2/3/4%&lt;br /&gt;&lt;br /&gt;Active duration: 5.5 seconds&lt;br /&gt;Cooldown: 25&lt;br /&gt;Manacost: 120&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;- &lt;span style="color: darkorange;"&gt;New intelligence hero (Ancient Apparition)&lt;/span&gt;&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;Range: 600&lt;br /&gt;Movement Speed: 295&lt;br /&gt;Hero Type: Intelligence &lt;br /&gt;&lt;br /&gt;Agility: 20 + 2.2&lt;br /&gt;Strength: 18 + 1.4&lt;br /&gt;Intelligence: 25 + 2.6&lt;br /&gt;&lt;br /&gt;Custom hero model by PrMosquito&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cold Feet:&lt;br /&gt;==========&lt;br /&gt;The Apparition curses his foes with The Frozen Mark which will freeze enemies to the ground. Unless target enemy moves at least 740 away from the mark within 4 seconds he is frozen still. &lt;br /&gt;&lt;br /&gt;Damage per second: 37.5/50/62.5/75&lt;br /&gt;Stun duration if triggered: 1.25/2/2.75/3.5&lt;br /&gt;&lt;br /&gt;Cooldown: 15/13/11/9&lt;br /&gt;Manacost: 90&lt;br /&gt;&lt;br /&gt;Single Target Spell&lt;br /&gt;&lt;br /&gt;Note: Target takes damage per second until he is stunned or moves out of range.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ice Vortex:&lt;br /&gt;===========&lt;br /&gt;Gathers ancient frost energy into one area to create a small, immobile ice vortex at a location. Whenever enemies are near it, their movement speed and magical resistance are reduced. &lt;br /&gt;&lt;br /&gt;Movement Reduction: 18/22/26/30&lt;br /&gt;Magic Resistance: -10/15/20/25&lt;br /&gt;AOE: 275&lt;br /&gt;&lt;br /&gt;Duration: 12&lt;br /&gt;Cooldown: 6&lt;br /&gt;Manacost: 80/90/100/110&lt;br /&gt;&lt;br /&gt;Chilling Touch:&lt;br /&gt;================&lt;br /&gt;Releases a gust of cold wind at a target area, enchanting allied heroes with bonus magical damage on their attacks. Lasts for a limited number of attacks up to a maximum of 40 seconds. While the enchanted heroes have this chilling touch, their attack speed is reduced by 15%. &lt;br /&gt;&lt;br /&gt;Maximum number of attacks: 2/3/4/5&lt;br /&gt;Bonus Damage: 40/50/60/70&lt;br /&gt;Attack Speed Reduction: -15%&lt;br /&gt;&lt;br /&gt;Cooldown: 50/46/42/38&lt;br /&gt;Manacost: 140&lt;br /&gt;&lt;br /&gt;Note: Damage only triggers on enemy heroes, not creeps.&lt;br /&gt;&lt;br /&gt;Ice Blast:&lt;br /&gt;==========&lt;br /&gt;Ancient Apparition projects his presence out to make way for a powerful ripple of hailstone and dark magic. Once cast, it can release the spell to strike targets within 200 area of where his presence was upon release. It will deal damage to enemy units and apply a frostbite curse on them for 7 seconds where their health regeneration will be frozen and will shatter if they fall close enough to death. This spell has global range depending on how long you wait for the projections to move. Frostbitten units will take minor damage over time.&lt;br /&gt;&lt;br /&gt;Impact Damage: 250/350/450&lt;br /&gt;Shatter Threshold: 10/11/12%&lt;br /&gt;&lt;br /&gt;Cooldown: 44/32/20&lt;br /&gt;Manacost: 100/125/150&lt;br /&gt;&lt;br /&gt;Note: You can charge (non-channeling, time based) this as long as you want if you want it to travel further outwards. Has an initial aoe of 200, but increases by a small amount the further it travels.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/alch.gif" title="Alch" /&gt; &lt;a href="http://www.playdota.com/heroes/alchemist" target="_blank"&gt;Alchemist&lt;/a&gt;&lt;br /&gt;- &lt;span style="color: darkorange;"&gt;Reworked Unstable Concoction&lt;/span&gt;&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;&lt;br /&gt;Razzil brews up an unstable concoction that he can throw at an enemy hero, to stun and deal damage. Once Razzil starts brewing, he can continue for up to 5 seconds. Each second of brewing will increase the potency of the concoction and make Razzil more red. After the 5 seconds, there is a small buffer window. If Razzil does not throw the concoction soon after it will blow up and Razzil himself will suffer as if he was hit by the concoction. Concoction can blow up mid air if fired too late.&lt;br /&gt;&lt;br /&gt;Charge Duration: up to 5 seconds&lt;br /&gt;Buffer Duration: 1.5&lt;br /&gt;Damage: Up to 150/200/250/300 (Physical damage type)&lt;br /&gt;Stun:  Up to 1/2/3/4 seconds&lt;br /&gt;Cooldown: 16&lt;br /&gt;Manacost: 90&lt;br /&gt;&lt;br /&gt;The longer it charges up, the more damage and stun it deals. Listed values are the maximum.&lt;br /&gt;&lt;br /&gt;Note: This is hero only target spell. You cannot release it if there isn't a visible target nearby (if you don't release it on time, it explodes on you instead, damage and stunning you). After casting, it builds up for 5 seconds. There is a small buffer duration after that. &lt;br /&gt;&lt;br /&gt;Note 2: Alchemist has a red counter that counts down from 5 ontop of his head. Everyone can see this. It will be clear to the enemy when you are charging this.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="color: red;"&gt;Not Channeling&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/am.gif" title="Am" /&gt; &lt;a href="http://www.playdota.com/heroes/anti-mage" target="_blank"&gt;Anti-Mage&lt;/a&gt;&lt;br /&gt;- Mana Void cooldown reduced from 120/100/80 to 70&lt;br /&gt;- Mana Break scaling increased from 16/32/48/64 to 28/40/52/64&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/bone.gif" title="Bone" /&gt; &lt;a href="http://www.playdota.com/heroes/bone-fletcher" target="_blank"&gt;Bone Fletcher&lt;/a&gt;&lt;br /&gt;- Searing Arrows cooldown from 2/2/0/0 to 2/0/0/0&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/bh.gif" title="Bh" /&gt; &lt;a href="http://www.playdota.com/heroes/bounty-hunter" target="_blank"&gt;Bounty Hunter&lt;/a&gt;&lt;br /&gt;- &lt;span style="color: darkorange;"&gt;Reworked Jinada &lt;/span&gt;&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;Old Jinada:&lt;br /&gt;==========&lt;br /&gt;Passive. &lt;br /&gt;&lt;br /&gt;Crit: 1.25/1.5/1.75/2.0x &lt;br /&gt;Crit Chance: 15%&lt;br /&gt;&lt;br /&gt;Evasion: 5/10/15/20%&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;New Jinada:&lt;br /&gt;===========&lt;br /&gt;Passive. Adds a critical strike and small maim to your next attack. Has a cooldown.&lt;br /&gt;&lt;br /&gt;Critical Strike: 1.4/1.6/1.8/2.0x&lt;br /&gt;Maim: 25% MS/AS for 3 seconds&lt;br /&gt;&lt;br /&gt;Cooldown: 22/17/12/7&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/bs.gif" title="Bs" /&gt; &lt;a href="http://www.playdota.com/heroes/blood-seeker" target="_blank"&gt;Blood Seeker&lt;/a&gt;&lt;br /&gt;- Bloodrage Rebalanced from 6/9/12/15 duration and 10 cd to 6/7/8/9 duration and 12/10/8/6 cd. HP loss at a constant 20 hp per sec.&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/brood.gif" title="Brood" /&gt; &lt;a href="http://www.playdota.com/heroes/broodmother" target="_blank"&gt;Broodmother&lt;/a&gt;&lt;br /&gt;- Spiderlings gold bounty increased from 6-8 to 11-13 and XP bounty increased from 12 to 20&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/ck.gif" title="Ck" /&gt; &lt;a href="http://www.playdota.com/heroes/chaos-knight" target="_blank"&gt;Chaos Knight&lt;/a&gt;&lt;br /&gt;- Cast Point Improved &lt;br /&gt;- &lt;span style="color: darkorange;"&gt;Reworked his Blink Strike&lt;/span&gt; (&lt;a href="http://www.playdota.com/forums/7225/brainstorming-cks-blink-strike//" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;7225&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;Reality Rift:&lt;br /&gt;=============&lt;br /&gt;Target an enemy unit. Teleports you, any images you have and the enemy unit to a random point along the line between the two of you. Gives you bonus attack damage for one attack.&lt;br /&gt;&lt;br /&gt;Cast Range: 550/600/650/700&lt;br /&gt;Bonus Attack Damage: 25/50/75/100 (for one attack)&lt;br /&gt;Cooldown: 24/18/12/6&lt;br /&gt;Manacost: 50 &lt;br /&gt;&lt;br /&gt;Note: Chance is weighted, more likely to appear near center +/- 200 than on the extremes.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/seer.gif" title="Seer" /&gt; &lt;a href="http://www.playdota.com/heroes/dark-seer" target="_blank"&gt;Dark Seer&lt;/a&gt;&lt;br /&gt;- Vacuum cast range decreased from 800 to 550&lt;br /&gt;- Vacuum damage decreased from 60/120/180/240 to 40/80/120/160&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/dp.gif" title="Dp" /&gt; &lt;a href="http://www.playdota.com/heroes/death-prophet" target="_blank"&gt;Death Prophet&lt;/a&gt;&lt;br /&gt;- Witchcraft's movement bonus has been restored (3/6/9/12%)&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/furion.gif" title="Furion" /&gt; &lt;a href="http://www.playdota.com/heroes/prophet" target="_blank"&gt;Furion&lt;/a&gt;&lt;br /&gt;- Force of Nature's Treants now have 33% spell resistance&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/lina.gif" title="Lina" /&gt; &lt;a href="http://www.playdota.com/heroes/slayer" target="_blank"&gt;Lina&lt;/a&gt;&lt;br /&gt;- Fiery Soul buff duration increased from 5 to 7 seconds&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/lesh.gif" title="Lesh" /&gt; &lt;a href="http://www.playdota.com/heroes/tormented-soul" target="_blank"&gt;Leshrac&lt;/a&gt;&lt;br /&gt;- Movement speed increased from 300 to 310&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/dusa.gif" title="Dusa" /&gt; &lt;a href="http://www.playdota.com/heroes/medusa" target="_blank"&gt;Medusa&lt;/a&gt;&lt;br /&gt;- Stone Gaze cooldown increased to 100&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/naix.gif" title="Naix" /&gt; &lt;a href="http://www.playdota.com/heroes/lifestealer" target="_blank"&gt;N'aix&lt;/a&gt;&lt;br /&gt;- Movement speed increased from 300 to 315&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/ns.gif" title="Ns" /&gt; &lt;a href="http://www.playdota.com/heroes/night-stalker" target="_blank"&gt;Night Stalker&lt;/a&gt;&lt;br /&gt;- Void manacost decreased from 90/112/130/145 to 80/90/100/110&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/panda.gif" title="Panda" /&gt; &lt;a href="http://www.playdota.com/heroes/pandaren-brewmaster" target="_blank"&gt;Panda&lt;/a&gt;&lt;br /&gt;- Lowered Fire Panda armor by 2 points, hp from 900/1350/1800/2200 to 1200 and reworked damage from 52/105/214/234 to 70/112/140/180&lt;br /&gt;- Primal Split cooldown from 180/150/120/90 to 180/160/140/120&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/potm.gif" title="Potm" /&gt; &lt;a href="http://www.playdota.com/heroes/priestess-of-the-moon" target="_blank"&gt;Priestess of the Moon&lt;/a&gt;&lt;br /&gt;- Starfall AoE increased by 50 to fix issues with it not hitting units on the edge of your attack&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/pudge.gif" title="Pudge" /&gt; &lt;a href="http://www.playdota.com/heroes/pudge" target="_blank"&gt;Pudge&lt;/a&gt;&lt;br /&gt;- Meat Hook scaling rebalanced. Cast range from 400/600/800/1000 to 550/700/850/1000, cd from 14 to 14/13/12/11 and manacost from 140 to 110/120/130/140&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/pug.gif" title="Pug" /&gt; &lt;a href="http://www.playdota.com/heroes/oblivion" target="_blank"&gt;Pugna&lt;/a&gt;&lt;br /&gt;- Cast Point improved&lt;br /&gt;- Decrepify can now be cast on Nether Ward&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/qop.gif" title="Qop" /&gt; &lt;a href="http://www.playdota.com/heroes/queen-of-pain" target="_blank"&gt;Queen of Pain&lt;/a&gt;&lt;br /&gt;- Base Intelligence increased by 5&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/razor.gif" title="Razor" /&gt; &lt;a href="http://www.playdota.com/heroes/lightning-revenant" target="_blank"&gt;Razor&lt;/a&gt;&lt;br /&gt;- Agi growth decreased from 2.5 to 2.0&lt;br /&gt;- Strength grown decreased from 1.9 to 1.7&lt;br /&gt;- Eye of the Storm mana cost increased from 100 to 100/150/200&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/sp.gif" title="Sp" /&gt; &lt;a href="http://www.playdota.com/heroes/shadow-priest" target="_blank"&gt;Shadow Priest&lt;/a&gt;&lt;br /&gt;- Shallow Grave cooldown increased from 54/40/26/12 to 60/45/30/15&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/silencer.gif" title="Silencer" /&gt; &lt;a href="http://www.playdota.com/heroes/silencer" target="_blank"&gt;Silencer&lt;/a&gt;&lt;br /&gt;- Base damage modified a little from 39-61 to 43-57&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/sniper.gif" title="Sniper" /&gt; &lt;a href="http://www.playdota.com/heroes/sniper" target="_blank"&gt;Sniper&lt;/a&gt;&lt;br /&gt;- Shrapnel duration decreased from 10 to 8 seconds&lt;br /&gt;- Shrapnel AoE decreased from 450 to 325&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/spec.gif" title="Spec" /&gt; &lt;a href="http://www.playdota.com/heroes/spectre" target="_blank"&gt;Spectre&lt;/a&gt;&lt;br /&gt;- Dispersion now spreads the reflected damage over the number of nearby heroes. So it is the same in a 1v1 case, but greatly reduced in team fights.&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/thd.gif" title="Thd" /&gt; &lt;a href="http://www.playdota.com/heroes/twin-head-dragon" target="_blank"&gt;Twin Head Dragon&lt;/a&gt;&lt;br /&gt;- Ice Path stun rescaled from 0.8/1.2/1.6/2.0 to 1.00/1.33/1.66/2.0&lt;br /&gt;- Ice Path cooldown scales from 16 to 16/15/14/13&lt;br /&gt;- Macropyre spawn speed improved&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/ursa.gif" title="Ursa" /&gt; &lt;a href="http://www.playdota.com/heroes/ursa-warrior" target="_blank"&gt;Ursa&lt;/a&gt;&lt;br /&gt;- Overpower is no longer removed when BKB is activated &lt;br /&gt;- Overpower will not interrupt your movement when cast&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/lock.gif" title="Lock" /&gt; &lt;a href="http://www.playdota.com/heroes/warlock" target="_blank"&gt;Warlock&lt;/a&gt;&lt;br /&gt;- Upheaval cooldown increased from 20 to 65 seconds&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/visage.gif" title="Visage" /&gt; &lt;a href="http://www.playdota.com/heroes/necrolic" target="_blank"&gt;Visage&lt;/a&gt;&lt;br /&gt;- &lt;span style="color: darkorange;"&gt;Reworked hero&lt;/span&gt; (&lt;a href="http://www.playdota.com/forums/124153-new-post/remake-visage/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;124153&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;&lt;br /&gt;Range: 600&lt;br /&gt;Movement Speed: 295&lt;br /&gt;Hero Type: Intelligence&lt;br /&gt;&lt;br /&gt;Agility: 11 + 1.3&lt;br /&gt;Strength: 20 + 2.2&lt;br /&gt;Intelligence: 21 + 2.5&lt;br /&gt;&lt;br /&gt;Grave Chill:&lt;br /&gt;=============&lt;br /&gt;Visage drains the life from a target, slowing its attack and move speed by 32%.  He then gets bonuses equal to those drained.&lt;br /&gt;&lt;br /&gt;Stolen MS &amp;amp; AS: 32&lt;br /&gt;Duration: 3/4/5/6 (for both you and the target)&lt;br /&gt;Manacost: 70/80/90/100&lt;br /&gt;Cooldown 10 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Soul Assumption:&lt;br /&gt;=================&lt;br /&gt;Visage sends out a surge of agony towards an enemy unit, echoing the suffering that nearby heroes (foe or allied) have taken. For each 130 damage taken around him, his soul counter increases by one for up to 6 seconds. &lt;br /&gt;&lt;br /&gt;Deals 20 damage + 60 for each charge. &lt;br /&gt;&lt;br /&gt;Max Soul Counters: 3/4/5/6&lt;br /&gt;Cooldown: 7/6/5/4&lt;br /&gt;Manacost: 100/120/140/160&lt;br /&gt;&lt;br /&gt;Note: Does not count damage taken from creeps. Charges when either allied heroes or enemy heroes take damage. Damage only has a 6 second window.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gravekeeper's Cloak:&lt;br /&gt;====================&lt;br /&gt;Passive. &lt;br /&gt;&lt;br /&gt;Visage surrounds himself with the magical energy of the dead, granting extra physical armor and magic damage resistance. However, the energy degenerates with every instance of damage taken and will require time to recover back to full strength. Has 4 layers.&lt;br /&gt;&lt;br /&gt;Armor per layer: 2/3/4/5&lt;br /&gt;Magic Resistance per layer: 4/8/12/16&lt;br /&gt;&lt;br /&gt;Cloak Recovery: 14/12/10/8 seconds&lt;br /&gt;&lt;br /&gt;Instances: 4&lt;br /&gt;&lt;br /&gt;Note: This is only affected by player based damage.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Summon Familiars:&lt;br /&gt;==================&lt;br /&gt;Visage conjures up two blind Familiars from the realm of death. Familiars have high attack power but each attack, up to 6, drains their power and temporarily weakens them. &lt;br /&gt;&lt;br /&gt;Familiars can transform into stone, stunning nearby enemy units upon landing and regenerating their health and attack power. Familiars give a large bounty (150 each) if killed. &lt;br /&gt;&lt;br /&gt;Level 1: Up to 72 attack damage, 300 HP, 1 second stun. &lt;br /&gt;Level 2: Up to 90 attack damage  400 HP, 1.25 second stun. &lt;br /&gt;Level 3: Up to 108 attack damage  500 HP, 1.5 second stun. &lt;br /&gt;&lt;br /&gt;Familiars take reduced damage from spells.&lt;br /&gt;&lt;br /&gt;Stoneform Cooldown: 30&lt;br /&gt;&lt;br /&gt;Summon Cooldown: 160&lt;br /&gt;Summon Manacost: 150&lt;br /&gt;&lt;br /&gt;Note: Can only have 2 Familiars up at any point. &lt;br /&gt;Note 2: Stoned familiars are temporarily immune to damage, but they revert to normal form after 7 seconds&lt;br /&gt;Note 3: Familiars will not autoattack enemies on their own, as to not consume their limited attack energy&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/wr.gif" title="Wr" /&gt; &lt;a href="http://www.playdota.com/heroes/windrunner" target="_blank"&gt;Windrunner&lt;/a&gt;&lt;br /&gt;- Windrunner cooldown improved from 30/25/20/15 to 15&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/wd.gif" title="Wd" /&gt; &lt;a href="http://www.playdota.com/heroes/witch-doctor" target="_blank"&gt;Witch Doctor&lt;/a&gt;&lt;br /&gt;- Paralyzing Casks now do 50 damage to heroes on each bounce&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/items.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;- &lt;span style="color: darkorange;"&gt;Added a new recipe item (Urn of Shadows)&lt;/span&gt;&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;Requries:&lt;br /&gt;- Sobi Mask (325)&lt;br /&gt;- 2x Gauntlets of Strength (300)&lt;br /&gt;- Recipe (250)&lt;br /&gt;Total: 875&lt;br /&gt;&lt;br /&gt;Provides:&lt;br /&gt;+ 50% Mana Regeneration&lt;br /&gt;+ 6 Strength&lt;br /&gt;+ Active&lt;br /&gt;&lt;br /&gt;Starts with 0 charges. Each time an enemy hero dies near you, it gains a charge. The first charges increments by 2, so it goes 0/2/3/4/5/etc&lt;br /&gt;Each usage of the item decreases the charge by 1.&lt;br /&gt;&lt;br /&gt;Each hero death can only charge up one of these items per death, so more than one hero having this will not increase the charges for both of the items. &lt;br /&gt;&lt;br /&gt;Can be cast on an ally to heal, dispels on non-creep damage. Can alternatively be cast on an enemy hero to do half the heal (200) as damage over 8 seconds.&lt;br /&gt;&lt;br /&gt;Heal: 400 HP over 8 seconds&lt;br /&gt;Cooldown: 10&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/AncientOfWonders/BTNScrollUber.gif" title="ScrollOfTownPortal" /&gt; &lt;a href="http://www.playdota.com/items/scroll-of-town-portal" target="_blank"&gt;Scroll of Town Portal&lt;/a&gt;&lt;br /&gt;- &lt;span style="color: darkorange;"&gt;Reworked mechanics&lt;/span&gt;&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;- The casting time system for scroll teleports are now dynamic.&lt;br /&gt;Whenever a hero teleports to an area, it causes any other teleports to that area to be delayed with extra time based on the number of heroes that teleported or are teleporting there. Each teleport leaves has memory lasts about 20 seconds for that location.&lt;br /&gt;&lt;br /&gt;This does not affect teleports to the fountain area (it accounts for rough areas around shop area as well).&lt;br /&gt;&lt;br /&gt;Example: First hero teleports to his tower, he takes the usual 3 seconds casting time. Then lets say the 3 other heroes teleport right after. The second one that telports after the original has a 5 second teleport time. Then 6 seconds, 7, etc. &lt;br /&gt;&lt;br /&gt;- Teleport location effect no longer lies to the enemies about the landing spot&lt;br /&gt;&lt;br /&gt;- Enemies now see the colors of the teleporting heroes&lt;br /&gt;&lt;br /&gt;- Increases max range on where you can choose teleport near a building from 350 to 525&lt;br /&gt;&lt;br /&gt;- The color of the teleport effect changes if you are in delayed teleport mode. It goes to normal once you have the standard 3 seconds left. So both sides can tell if its a quick or a delayed teleport and time things accoringly. &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/ArcaneSanctum/BTNINV_Wand_05.gif" title="AghanimsScepter" /&gt; &lt;a href="http://www.playdota.com/items/aghanims-scepter" target="_blank"&gt;Aghanim's Scepter&lt;/a&gt;&lt;br /&gt;- Added support for Axe. Cooldown decreased from 75/65/55 to 20&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/CacheOfTheQuel-Thelan/BTNBootsOfSpeed.gif" title="BootsOfSpeed" /&gt; &lt;a href="http://www.playdota.com/items/boots-of-speed" target="_blank"&gt;Boots of Speed&lt;/a&gt;&lt;br /&gt;- Now available in the side shops&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Protectorate/BTNINV_Chest_Plate06.gif" title="BladeMail" /&gt; &lt;a href="http://www.playdota.com/items/blademail" target="_blank"&gt;Blademail&lt;/a&gt;&lt;br /&gt;- Duration reduced from 5 to 3.5 seconds&lt;br /&gt;- Cooldown increased from 15 to 25&lt;br /&gt;- Blademail can no longer reflect blademail sourced damage &lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/ArcaneSanctum/BTNForceStaff.gif" title="ForceStaff" /&gt; &lt;a href="http://www.playdota.com/items/force-staff" target="_blank"&gt;Force Staff&lt;/a&gt;&lt;br /&gt;- Push distance increased from 500 to 600&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Protectorate/BTNOrb%20of%20Water.gif" title="LinkensSphere" /&gt; &lt;a href="http://www.playdota.com/items/linkens-sphere" target="_blank"&gt;Linken's Sphere&lt;/a&gt;&lt;br /&gt;- Properly blocks Unstable Concoction and Death Coil&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Enchanted%20Artifacts/BTNStormHammer.gif" title="Maelstrom" /&gt; &lt;a href="http://www.playdota.com/items/maelstrom" target="_blank"&gt;Maelstrom&lt;/a&gt;&lt;br /&gt;- Maelstrom attack speed bonus increased from 15 to 25&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/CacheOfTheQuel-Thelan/BTNINV_Misc_Cape_08.gif" title="PlaneswalkersCloak" /&gt; &lt;a href="http://www.playdota.com/items/planewalkers-cloak" target="_blank"&gt;Planeswalker's Cloak&lt;/a&gt;&lt;br /&gt;- Price increased by 100 &lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Ancient_Weaponry/BTNTransmute.gif" title="Radiance" /&gt;: &lt;a href="http://www.playdota.com/items/radiance" target="_blank"&gt;Radiance&lt;/a&gt;&lt;br /&gt;- AoE damage effect can now be toggled on and off&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Protectorate/BTNAdvancedUnholyArmor.gif" title="Vanguard" /&gt; &lt;a href="http://www.playdota.com/items/vanguard" target="_blank"&gt;Vanguard&lt;/a&gt;&lt;br /&gt;- Damage block reduced from 40 to 20 when equipped on ranged heroes  (50% less block like stout and Poor Man's Shield)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/gameplayandcosmetics.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;* &lt;span style="color: darkorange;"&gt;Readjusted the -bonus gold/xp system that is given in an aoe around dying heroes from being static unsplit to a dynamic split variation (numbers adjusted as well)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* &lt;span style="color: darkorange;"&gt;Rebalanced the creep stats for your creeps when you kill an enemy rax&lt;/span&gt;&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Show" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="display: none; margin: 0px; padding: 0px;"&gt;&lt;br /&gt;Old Melee:&lt;br /&gt;XP Bounty: 41&lt;br /&gt;Gold Bounty: 21-41&lt;br /&gt;&lt;br /&gt;New Melee:&lt;br /&gt;XP Bounty: 25&lt;br /&gt;Gold Bounty: 18-26&lt;br /&gt;&lt;br /&gt;Old Range:&lt;br /&gt;XP Bounty: 25&lt;br /&gt;Gold Bounty: 21-41&lt;br /&gt;&lt;br /&gt;New Range:&lt;br /&gt;XP Bounty: 25&lt;br /&gt;Gold Bounty: 18-26&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* Added a new small neutral camp (&lt;a href="http://www.playdota.com/forums/102473/neutral-camp-harpys-debut/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;102473&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Increase the buffer time in -CM from 45 to 60 seconds (This means 15 seconds total for each player, not 15 seconds for each turn)&lt;br /&gt;* Added the new hero death timers to observer scoreboard title&lt;br /&gt;* Reworked Recipe tooltips (&lt;a href="http://www.playdota.com/forums/128284/text-recipes-visual-form/#post604682" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;128284&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* A text message and minimap indictator is now displayed when an ally purchases a Courier&lt;br /&gt;* Observer board now shows ultimate cooldowns (&lt;a href="http://www.playdota.com/forums/120509/cosmetic-observer-scoreboard-ultimates/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;120509&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Added a new physical model for Gem of Truesight (&lt;a href="http://www.playdota.com/forums/124547/model-gem-true-sight/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;124547&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New and reworked heroes are temporarily unavailable in -CM&lt;br /&gt;&lt;br /&gt;* Added a new visual effect when you have the Haste powerup (&lt;a href="http://www.playdota.com/forums/83240/animation-haste-rune-new-concept/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;83240&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* A special death animation is now played when Pudge suicides (&lt;a href="http://www.playdota.com/forums/17542/cosmetic-make-pudge-explode-suicide/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;17542&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Improved spawning location code for couriers, to help against minimap icon overlap&lt;br /&gt;* Decreased cooldown on Courier Morph and added a mini techies courier (&lt;a href="http://www.playdota.com/forums/123947/buff-change-courier-type/#post582607" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;123947&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Fixed Inner Beast buff icon&lt;br /&gt;* Removed extra spikes that appear on some (except Leshrac) characters with Aghanims Scepter (&lt;a href="http://www.playdota.com/forums/11289-page3/cosmetic-remove-aghanims-spikes-heroes/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;11289&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Added new sound effect for Scream of Pain&lt;br /&gt;* Improved quality of Panda's Thunderclap icon&lt;br /&gt;* Removed the gorge in the terrain near the bottom  sentinel lane &lt;br /&gt;* Added visual effect for Huskar's Scepter (&lt;a href="http://www.playdota.com/forums/20814/cosmetics-huskar-aghanims-scepter-effect/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;20814&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Some Nighstalker visual improvements (&lt;a href="http://www.playdota.com/forums/5227/animation-hunter-night/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;5227&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Rotated the direction the Frozen Throne is facing (&lt;a href="http://www.playdota.com/forums/82193/map-layout-rotate-throne-lil/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;82193&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Changed Scourge consumable shop model from Graveyard to Tomb of Relics (&lt;a href="http://www.playdota.com/forums/114591/buildings-graveyard-tomb-relics/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;114591&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* Added hero pick/ban data to replays for -CD mode (same data format as -CM)&lt;br /&gt;* Added hero pool information to replays for -CD mode (Format: Pool+index,id)&lt;br /&gt;* Fixed hero death timer overwriting player name color for leavers&lt;br /&gt;&lt;br /&gt;* Added a camera control command (-center) that locks the camera to your hero. -centeroff disables it (Not recommend for regular games)&lt;br /&gt;* Clarified Ward tooltips&lt;br /&gt;* Fixed lots of typos&lt;br /&gt;* Replay Data: host playerid is 0 if the game was created using HCL automode&lt;br /&gt;* Adjusted where the kill timer shows on the open scoreboard. Names are always visible now.&lt;br /&gt;* Some minor code optimizations when heroes are picked&lt;br /&gt;* Invoker: Forged Spirit units are now added to your control group when created&lt;br /&gt;* Invoker: Added an Ally/Observer only visual effect that plays before sun strike lands&lt;br /&gt;&lt;br /&gt;* New icon for Essence Aura&lt;br /&gt;* New icon for Darkness&lt;br /&gt;* New icon for Desolate&lt;br /&gt;* New icon for Void (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Enchant (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Impetus (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Nature's Attendants (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Backtrack (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for SA's Blink Strike (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Crystal Nova (&lt;a href="http://www.playdota.com/forums/118362/icon-crystal-nova/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;118362&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Death Ward (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Divided We Stand (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Dual Breath (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for EMP (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Exorcism (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Geostrike (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Impale NA (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Juxtapose (&lt;a href="http://www.playdota.com/forums/108662/icon-phantom-lancer/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;108662&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Phantom Edge (&lt;a href="http://www.playdota.com/forums/108662/icon-phantom-lancer/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;108662&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Malefice (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Reaper's Scythe (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Timelock (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Timewalk (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Invoke Tornado (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Last Word (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Amplify Damage (&lt;a href="http://www.playdota.com/forums/126145/list-massive-cosmetic-collection/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;126145&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Jinada (&lt;a href="http://www.playdota.com/forums/105435/cosmetic-icon-bounty-hunter/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;105435&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;* New icon for Track (&lt;a href="http://www.playdota.com/forums/105435/cosmetic-icon-bounty-hunter/" target="_blank"&gt;&lt;span style="color: dimgrey;"&gt;105435&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/bugs.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;* Fixed bug with swapping with Kunkka and getting Quelling Blade&lt;br /&gt;* Fixed Kraken Shell not getting disabled when Doomed&lt;br /&gt;* Fixed an area where you could TP and become stuck &lt;br /&gt;* Fixed a bug with Forged Spirits dying when getting an allied War Cry buff&lt;br /&gt;* Fixed a recent issue with Frost Arrows cast range&lt;br /&gt;* Fixed Eul's movement speed bonus not functioning correctly sometimes (if your hero has a unit morphing ability)&lt;br /&gt;* Fixed a minor bug with Ursa's Enrage + Fury Swipes combo against Vanguard&lt;br /&gt;* Fixed some Ion Shell stacking bugs&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://mirrors.joni-b.net/dota/eng/DotA%20Allstars%20v6.65.w3x"&gt;CLICK HERE FOR DOWNLOAD DOTA MAP v6.65&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7448155863154239177?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7448155863154239177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/12/dota-map-v665-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7448155863154239177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7448155863154239177'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/12/dota-map-v665-released.html' title='DotA Map v6.65 Released!'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-5913730058475419192</id><published>2009-12-03T11:44:00.000+07:00</published><updated>2009-12-03T11:44:58.189+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL VIEW: Create View, Update View, and Drop View</title><content type='html'>&lt;table style="text-align: justify;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;A view is a virtual table. This chapter shows how to create, update, and delete a view.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;CREATE VIEW&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;In SQL, a view is a virtual table based on the result-set of an SQL statement. A view contains rows and columns, just like a real table. The fields in a view are fields from one or more real tables in the database. You can add SQL functions, WHERE, and JOIN statements to a view and present the data as if the data were coming from one single table.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;CREATE VIEW view_name AS&lt;br /&gt;SELECT column_name(s)&lt;br /&gt;FROM table_name&lt;br /&gt;WHERE condition&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Note: A view always shows up-to-date data! The database engine recreates the data, using the view's SQL statement, every time a user queries a view.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;UPDATE VIEW&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can update a view by using the following syntax:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;CREATE OR REPLACE VIEW view_name AS&lt;br /&gt;SELECT column_name(s)&lt;br /&gt;FROM table_name&lt;br /&gt;WHERE condition&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Now we want to add the "Category" column to the "Current Product List" view. We will update the view with the following SQL:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;CREATE VIEW [Current Product List] AS&lt;br /&gt;SELECT ProductID,ProductName,Category&lt;br /&gt;FROM Products&lt;br /&gt;WHERE Discontinued=No&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="background-color: orange;"&gt;DELETE VIEW&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can delete a view with the DROP VIEW command:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;DROP VIEW view_name&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span" style="color: orange;"&gt;MY EXERCISE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Create Table BARANG:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; CREATE table barang (&lt;br /&gt;-&amp;gt; kd_brg varchar(3) not null primary key,&lt;br /&gt;-&amp;gt; nama_barang varchar(50),&lt;br /&gt;-&amp;gt; harga_barang int)&lt;br /&gt;-&amp;gt; engine=INNODB;&lt;br /&gt;Query OK, 0 rows affected (0.09 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Create Table JUAL:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; create table jual (&lt;br /&gt;-&amp;gt; tgl date,&lt;br /&gt;-&amp;gt; kode varchar(3),&lt;br /&gt;-&amp;gt; jml_jual int)&lt;br /&gt;-&amp;gt; engine=INNODB;&lt;br /&gt;Query OK, 0 rows affected (0.02 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Insert Value Into BARANG:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; insert into barang values&lt;br /&gt;-&amp;gt; ('b01','Sepatu','50000'),&lt;br /&gt;-&amp;gt; ('b02','Sandal','10000'),&lt;br /&gt;-&amp;gt; ('b03','Handuk','25000'),&lt;br /&gt;-&amp;gt; ('b04','Ember','5000'),&lt;br /&gt;-&amp;gt; ('b05','Celana','20000');&lt;br /&gt;Query OK, 5 rows affected (0.05 sec)&lt;br /&gt;Records: 5  Duplicates: 0  Warnings: 0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Insert Value Into JUAL:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; insert into jual values&lt;br /&gt;-&amp;gt; ('09-08-23','b01','5'),&lt;br /&gt;-&amp;gt; ('09-10-21','b02','10'),&lt;br /&gt;-&amp;gt; ('09-11-14','b03','3'),&lt;br /&gt;-&amp;gt; ('09-12-01','b04','7'),&lt;br /&gt;-&amp;gt; ('09-12-01','b05','20');&lt;br /&gt;Query OK, 5 rows affected (0.03 sec)&lt;br /&gt;Records: 5  Duplicates: 0  Warnings: 0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Create Table View VIEW_JUAL:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; CREATE VIEW VIEW_JUALAN as &lt;br /&gt;-&amp;gt;     SELECT &lt;br /&gt;-&amp;gt;     DATE_FORMAT(b.tgl,'%d %M %Y') as tgl,&lt;br /&gt;-&amp;gt;     b.kode, &lt;br /&gt;-&amp;gt;     a.nama_barang,&lt;br /&gt;-&amp;gt;     a.harga_barang, &lt;br /&gt;-&amp;gt;     b.jml_jual, &lt;br /&gt;-&amp;gt;     (a.harga_barang*b.jml_jual) as total &lt;br /&gt;-&amp;gt;   FROM jual b, barang a &lt;br /&gt;-&amp;gt;   WHERE b.kode=a.kd_brg;&lt;br /&gt;Query OK, 0 rows affected (0.05 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Select It :)&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; SELECT * FROM VIEW_JUALAN;&lt;br /&gt;+------------------+------+-------------+--------------+----------+--------+&lt;br /&gt;| tgl              | kode | nama_barang | harga_barang | jml_jual | total  |&lt;br /&gt;+------------------+------+-------------+--------------+----------+--------+&lt;br /&gt;| 23 August 2009   | b01  | Sepatu      |        50000 |        5 | 250000 |&lt;br /&gt;| 21 October 2009  | b02  | Sandal      |        10000 |       10 | 100000 |&lt;br /&gt;| 14 November 2009 | b03  | Handuk      |        25000 |        3 |  75000 |&lt;br /&gt;| 01 December 2009 | b04  | Ember       |         5000 |        7 |  35000 |&lt;br /&gt;| 01 December 2009 | b05  | Celana      |        20000 |       20 | 400000 |&lt;br /&gt;+------------------+------+-------------+--------------+----------+--------+&lt;br /&gt;5 rows in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="text-align: justify;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-5913730058475419192?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/5913730058475419192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/12/sql-view-create-view-update-view-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5913730058475419192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5913730058475419192'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/12/sql-view-create-view-update-view-and.html' title='SQL VIEW: Create View, Update View, and Drop View'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-8789166867416985110</id><published>2009-11-26T14:04:00.003+07:00</published><updated>2009-12-03T12:05:49.824+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>[PASCAL PROGRAMMING] Binary Tree</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;In computer science, a binary tree is a tree data structure in which each node has at most two children. Typically the first node is known as the parent and the child nodes are called left and right. In type theory, a binary tree with nodes of type A is defined inductively as TA = μα. 1 + A × α × α. Binary trees are commonly used to implement binary search trees and binary heaps.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Graph theorists use the following definition: A binary tree is a connected acyclic graph such that the degree of each vertex is no more than 3. It can be shown that in any binary tree, there are exactly two more nodes of degree one than there are of degree three, but there can be any number of nodes of degree two. A rooted binary tree is such a graph that has one of its vertices of degree no more than 2 singled out as the root.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;With the root thus chosen, each vertex will have a uniquely defined parent, and up to two children; however, so far there is insufficient information to distinguish a left or right child. If we drop the connectedness requirement, allowing multiple connected components in the graph, we call such a structure a forest.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Another way of defining binary trees is a recursive definition on directed graphs. A binary tree is either:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;A single vertex.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A graph formed by taking two binary trees, adding a vertex, and adding an edge directed from the new vertex to the root of each binary tree.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;This also does not establish the order of children, but does fix a specific root node.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The groupings of pairs of nodes in a tree can be represented as pairs of letters, surrounded by parenthesis. Thus, (a b) denotes the binary tree whose left subtree is a and whose right subtree is b. Strings of balanced pairs of parenthesis may therefore be used to denote binary trees in general. The set of all possible strings consisting entirely of balanced parentheses is known as the Dyck language.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Given n nodes, the total number of ways in which these nodes can be arranged into a binary tree is given by the Catalan number Cn. For example, C2 = 2 declares that (a 0) and (0 a) are the only binary trees possible that have two nodes, and C3 = 5 declares that ((a 0) 0), (0 a) 0), (0 (a 0)), (0 (0 a)), and (a b) are the only five binary trees possible that have 3 nodes. Here 0 represents a subtree that is not present.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The ability to represent binary trees as strings of symbols and parentheses implies that binary trees can represent the elements of a magma. Conversely, the set of all possible binary trees, together with the natural operation of attaching trees to one-another, forms a magma, the free magma.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Given a string representing a binary tree, the operators to obtain the left and right subtrees are sometimes referred to as car and cdr.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;SOURCE:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;a href="http://docs.google.com/Doc?docid=0AR5w-4kQFP95ZGZtN2hkbTlfMWdoMnRud2N0&amp;amp;hl=en"&gt;http://docs.google.com/Doc?docid=0AR5w-4kQFP95ZGZtN2hkbTlfMWdoMnRud2N0&amp;amp;hl=en&lt;/a&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Inorder&lt;br /&gt;1   2   4   8   9  10  12  13  15&lt;br /&gt;preorder&lt;br /&gt;8   4   1   2  12   9  10  15  13&lt;br /&gt;postorder&lt;br /&gt;2   1   4  10   9  13  15  12   8&lt;br /&gt;&lt;br /&gt;9   4   1   2  12  10  15  13&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Show an Animation about Binary Tree by clicking link below&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cs.jhu.edu/~goodrich/dsa/trees/btree.html"&gt;http://www.cs.jhu.edu/~goodrich/dsa/trees/btree.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And here is a COOL APPLET AVL TREE's, check this out..&lt;br /&gt;&lt;br /&gt;&lt;a href="http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm"&gt;http://webpages.ull.es/users/jriera/Docencia/AVL/AVL%20tree%20applet.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-8789166867416985110?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/8789166867416985110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-binary-tree.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/8789166867416985110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/8789166867416985110'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-binary-tree.html' title='[PASCAL PROGRAMMING] Binary Tree'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-658514334952206040</id><published>2009-11-26T13:39:00.000+07:00</published><updated>2009-11-26T13:39:28.337+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>Normalization Exercise (1)</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Case:&lt;br /&gt;&lt;a href="http://docs.google.com/Doc?docid=0AR5w-4kQFP95ZGZtN2hkbTlfMGdkdnRiOWNq&amp;amp;hl=en"&gt;Click here to see a NORMALIZATION CASE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Completion:&lt;br /&gt;&lt;br /&gt;Create table SUPPLY&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; create table supply (&lt;br /&gt;-&amp;gt; kode_supply varchar(3) not null primary key,&lt;br /&gt;-&amp;gt; nama_supply varchar(50));&lt;br /&gt;Query OK, 0 rows affected (0.03 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Create table BARANG&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; create table barang (&lt;br /&gt;-&amp;gt; kode_brg varchar(3) not null primary key,&lt;br /&gt;-&amp;gt; nama_brg varchar(100));&lt;br /&gt;Query OK, 0 rows affected (0.03 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Create table PRIMARY FAKTUR&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; create table primary_faktur&lt;br /&gt;-&amp;gt; (no_fak int(3) not null primary key,&lt;br /&gt;-&amp;gt; tanggal date,&lt;br /&gt;-&amp;gt; jatuh_tempo date,&lt;br /&gt;-&amp;gt; kode_supply varchar(3),&lt;br /&gt;-&amp;gt; foreign key (kode_supply) references &lt;br /&gt;-&amp;gt; supply(kode_supply) on update cascade);&lt;br /&gt;Query OK, 0 rows affected (0.03 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Create table DETIL FAKTUR&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; create table detil_faktur (&lt;br /&gt;-&amp;gt; no_fak int(3),&lt;br /&gt;-&amp;gt; kode_brg varchar(3),&lt;br /&gt;-&amp;gt; kuantitas int(3),&lt;br /&gt;-&amp;gt; foreign key (no_fak) references primary_faktur(no_fak) on update cascade,&lt;br /&gt;-&amp;gt; foreign key (kode_brg) references barang(kode_brg) on update cascade);&lt;br /&gt;Query OK, 0 rows affected (0.05 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;TO BE CONTINUED..&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-658514334952206040?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/658514334952206040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/normalization-exercise-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/658514334952206040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/658514334952206040'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/normalization-exercise-1.html' title='Normalization Exercise (1)'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-5257538134504068531</id><published>2009-11-25T12:36:00.002+07:00</published><updated>2009-11-25T12:36:52.094+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>[Pascal Programming] Quick Sort</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;SOURCE:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program QuickSort;&lt;br /&gt;uses WinCrt;&lt;br /&gt;type Array100 = array [1..100] of integer;&lt;br /&gt;var&lt;br /&gt;  Data: Array100;&lt;br /&gt;  DataCount: Integer;&lt;br /&gt;&lt;br /&gt;procedure InputData(var d: Array100; var c: Integer);&lt;br /&gt;var&lt;br /&gt;  Code, k: Integer;&lt;br /&gt;  i: String;&lt;br /&gt;begin&lt;br /&gt;  k := 1;&lt;br /&gt;&lt;br /&gt;  Writeln('Quick Sort');&lt;br /&gt;  Writeln('-----------');&lt;br /&gt;  Writeln;&lt;br /&gt;&lt;br /&gt;  repeat     &lt;br /&gt;    Write('Masukkan angka ke-',k,' : ');readln(i);&lt;br /&gt;    if(i &lt;&gt; '') then&lt;br /&gt;    begin&lt;br /&gt;      Val(i,d[k],Code);&lt;br /&gt;      if(Code &lt;&gt; 0) then&lt;br /&gt;        d[k] := 0;&lt;br /&gt;    end;&lt;br /&gt;    Inc(k);&lt;br /&gt;  until (k &gt; 100) or (i = '');&lt;br /&gt;  c := k - 2;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Swap(var a,b: Integer);&lt;br /&gt;var&lt;br /&gt;  t: Integer;&lt;br /&gt;begin&lt;br /&gt;  t := a;&lt;br /&gt;  a := b;&lt;br /&gt;  b := t;  &lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Tampil(d: Array100; c: Integer);&lt;br /&gt;var&lt;br /&gt;  i: Integer;&lt;br /&gt;begin&lt;br /&gt;  for i:=1 to c do&lt;br /&gt;    Write(d[i]:5);&lt;br /&gt;    Writeln;&lt;br /&gt;end; &lt;br /&gt;&lt;br /&gt;procedure Sorting(var d: Array100; a,b: Integer);&lt;br /&gt;var&lt;br /&gt;  a1, b1, pivot: Integer;&lt;br /&gt;begin&lt;br /&gt;  a1:=a;&lt;br /&gt;  b1:=b;&lt;br /&gt;  pivot:= d[(a+b) div 2];&lt;br /&gt;&lt;br /&gt;  repeat&lt;br /&gt;    while(d[a1] &lt; pivot) do      Inc(a1);    while(d[b1] &gt; pivot) do&lt;br /&gt;      Dec(b1);&lt;br /&gt;    if (a1&lt;=b1) then    begin      Swap(d[a1], d[b1]);      Inc(a1);      Dec(b1);    end;  until (a1 &gt; b1);&lt;br /&gt;&lt;br /&gt;  Tampil(d,b);&lt;br /&gt;&lt;br /&gt;  if (a &lt; b1) then    Sorting(d,a,b1);  if (a1 &lt; b) then    Sorting(d,a1,b);end; begin  InputData(Data, DataCount);  Writeln;  Writeln('Sebelum diurutkan');  Tampil(Data,DataCount);  Sorting(Data,1,DataCount);  {data, index terkecil, index terbesar/banyak data}  Writeln;  Writeln('Sesudah diurutkan');  Tampil(Data,DataCount);end.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Quick Sort&lt;br /&gt;-----------&lt;br /&gt;&lt;br /&gt;Masukkan angka ke-1 : 9&lt;br /&gt;Masukkan angka ke-2 : 8&lt;br /&gt;Masukkan angka ke-3 : 7&lt;br /&gt;Masukkan angka ke-4 : 6&lt;br /&gt;Masukkan angka ke-5 : 5&lt;br /&gt;Masukkan angka ke-6 : 4&lt;br /&gt;Masukkan angka ke-7 : 3&lt;br /&gt;Masukkan angka ke-8 : 2&lt;br /&gt;Masukkan angka ke-9 : 1&lt;br /&gt;Masukkan angka ke-10 :&lt;br /&gt;&lt;br /&gt;Sebelum diurutkan&lt;br /&gt;    9    8    7    6    5    4    3    2    1&lt;br /&gt;    1    2    3    4    5    6    7    8    9&lt;br /&gt;    1    2    3    4&lt;br /&gt;    1    2    3    4&lt;br /&gt;    1    2    3    4    5    6    7    8    9&lt;br /&gt;    1    2    3    4    5    6    7    8    9&lt;br /&gt;&lt;br /&gt;Sesudah diurutkan&lt;br /&gt;    1    2    3    4    5    6    7    8    9&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-5257538134504068531?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/5257538134504068531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-quick-sort.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5257538134504068531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5257538134504068531'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-quick-sort.html' title='[Pascal Programming] Quick Sort'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-4630216726670692779</id><published>2009-11-25T12:34:00.000+07:00</published><updated>2009-11-25T12:34:58.013+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>[Pascal Programming] Selection Sort</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;SOURCE:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program SelectionSort;&lt;br /&gt;uses WinCrt;&lt;br /&gt;type Array100 = array [1..100] of integer;&lt;br /&gt;var&lt;br /&gt;  Data: Array100;&lt;br /&gt;  DataCount: Integer;&lt;br /&gt;&lt;br /&gt;procedure InputData(var d: Array100; var c: Integer);&lt;br /&gt;var&lt;br /&gt;  Code, k: Integer;&lt;br /&gt;  i: String;&lt;br /&gt;begin&lt;br /&gt;  k := 1;&lt;br /&gt;&lt;br /&gt;  Writeln('Selection Sort');&lt;br /&gt;  Writeln('--------------');&lt;br /&gt;  Writeln;&lt;br /&gt;&lt;br /&gt;  repeat     &lt;br /&gt;    Write('Masukkan angka ke-',k,' : ');readln(i);&lt;br /&gt;    if(i &lt;&gt; '') then&lt;br /&gt;    begin&lt;br /&gt;      Val(i,d[k],Code);&lt;br /&gt;      if(Code &lt;&gt; 0) then&lt;br /&gt;        d[k] := 0;&lt;br /&gt;    end;&lt;br /&gt;    Inc(k);&lt;br /&gt;  until (k &gt; 100) or (i = '');&lt;br /&gt;  c := k - 2;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Swap(var a,b: Integer);&lt;br /&gt;var&lt;br /&gt;  t: Integer;&lt;br /&gt;begin&lt;br /&gt;  t := a;&lt;br /&gt;  a := b;&lt;br /&gt;  b := t;  &lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Sorting(var d: Array100; c: Integer);&lt;br /&gt;var&lt;br /&gt;  lok, i, j: Integer;&lt;br /&gt;begin&lt;br /&gt;  for i:= 1 to c-1 do&lt;br /&gt;  begin&lt;br /&gt;    lok := i;  &lt;br /&gt;      for j:=i+1 to c do&lt;br /&gt;        if(d[j] &lt; d[lok]) then          lok := j;          Swap(d[i],d[lok]);  end;end;procedure Tampil(d: Array100; c: Integer);var  i: Integer;begin  for i:=1 to c do    Write(d[i]:5);    Writeln;end;begin  InputData(Data, DataCount);  Writeln;  Writeln('Sebelum diurutkan');  Tampil(Data,DataCount);  Sorting(Data,DataCount);  Writeln;  Writeln('Sesudah diurutkan');  Tampil(Data,DataCount);end.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Selection Sort&lt;br /&gt;--------------&lt;br /&gt;&lt;br /&gt;Masukkan angka ke-1 : 9&lt;br /&gt;Masukkan angka ke-2 : 8&lt;br /&gt;Masukkan angka ke-3 : 7&lt;br /&gt;Masukkan angka ke-4 : 6&lt;br /&gt;Masukkan angka ke-5 : 5&lt;br /&gt;Masukkan angka ke-6 : 4&lt;br /&gt;Masukkan angka ke-7 : 3&lt;br /&gt;Masukkan angka ke-8 : 2&lt;br /&gt;Masukkan angka ke-9 : 1&lt;br /&gt;Masukkan angka ke-10 :&lt;br /&gt;&lt;br /&gt;Sebelum diurutkan&lt;br /&gt;    9    8    7    6    5    4    3    2    1&lt;br /&gt;&lt;br /&gt;Sesudah diurutkan&lt;br /&gt;    1    2    3    4    5    6    7    8    9&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-4630216726670692779?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/4630216726670692779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-selection-sort.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4630216726670692779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4630216726670692779'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-selection-sort.html' title='[Pascal Programming] Selection Sort'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-20925751589629998</id><published>2009-11-25T12:32:00.000+07:00</published><updated>2009-11-25T12:32:25.073+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>[Pascal Programming] Insertion Sort</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;SOURCE:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program SelectionSort;&lt;br /&gt;uses WinCrt;&lt;br /&gt;type Array100 = array [1..100] of integer;&lt;br /&gt;var&lt;br /&gt;  Data: Array100;&lt;br /&gt;  DataCount: Integer;&lt;br /&gt;&lt;br /&gt;procedure InputData(var d: Array100; var c: Integer);&lt;br /&gt;var&lt;br /&gt;  Code, k: Integer;&lt;br /&gt;  i: String;&lt;br /&gt;begin&lt;br /&gt;  k := 1;&lt;br /&gt;&lt;br /&gt;  Writeln('Selection Sort');&lt;br /&gt;  Writeln('--------------');&lt;br /&gt;  Writeln;&lt;br /&gt;&lt;br /&gt;  repeat     &lt;br /&gt;    Write('Masukkan angka ke-',k,' : ');readln(i);&lt;br /&gt;    if(i &lt;&gt; '') then&lt;br /&gt;    begin&lt;br /&gt;      Val(i,d[k],Code);&lt;br /&gt;      if(Code &lt;&gt; 0) then&lt;br /&gt;        d[k] := 0;&lt;br /&gt;    end;&lt;br /&gt;    Inc(k);&lt;br /&gt;  until (k &gt; 100) or (i = '');&lt;br /&gt;  c := k - 2;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Swap(var a,b: Integer);&lt;br /&gt;var&lt;br /&gt;  t: Integer;&lt;br /&gt;begin&lt;br /&gt;  t := a;&lt;br /&gt;  a := b;&lt;br /&gt;  b := t;  &lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Sorting(var d: Array100; c: Integer);&lt;br /&gt;var&lt;br /&gt;  lok, i, j: Integer;&lt;br /&gt;begin&lt;br /&gt;  for i:= 1 to c-1 do&lt;br /&gt;  begin&lt;br /&gt;    lok := i;  &lt;br /&gt;      for j:=i+1 to c do&lt;br /&gt;        if(d[j] &lt; d[lok]) then          lok := j;          Swap(d[i],d[lok]);  end;end;procedure Tampil(d: Array100; c: Integer);var  i: Integer;begin  for i:=1 to c do    Write(d[i]:5);    Writeln;end;begin  InputData(Data, DataCount);  Writeln;  Writeln('Sebelum diurutkan');  Tampil(Data,DataCount);  Sorting(Data,DataCount);  Writeln;  Writeln('Sesudah diurutkan');  Tampil(Data,DataCount);end.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Insertion Sort&lt;br /&gt;--------------&lt;br /&gt;&lt;br /&gt;Masukkan angka ke-1 : 9&lt;br /&gt;Masukkan angka ke-2 : 8&lt;br /&gt;Masukkan angka ke-3 : 7&lt;br /&gt;Masukkan angka ke-4 : 6&lt;br /&gt;Masukkan angka ke-5 : 5&lt;br /&gt;Masukkan angka ke-6 : 4&lt;br /&gt;Masukkan angka ke-7 : 3&lt;br /&gt;Masukkan angka ke-8 : 2&lt;br /&gt;Masukkan angka ke-9 : 1&lt;br /&gt;Masukkan angka ke-10 :&lt;br /&gt;&lt;br /&gt;Sebelum diurutkan&lt;br /&gt;    9    8    7    6    5    4    3    2    1&lt;br /&gt;&lt;br /&gt;Sesudah diurutkan&lt;br /&gt;    1    2    3    4    5    6    7    8    9&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-20925751589629998?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/20925751589629998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-insertion-sort.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/20925751589629998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/20925751589629998'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-insertion-sort.html' title='[Pascal Programming] Insertion Sort'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-609693280735875344</id><published>2009-11-25T12:29:00.000+07:00</published><updated>2009-11-25T12:29:25.096+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>[Pascal Programming] Bubble Sort</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;SOURCE:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program BubbleSort;&lt;br /&gt;uses WinCrt;&lt;br /&gt;type Array100 = array [1..100] of integer;&lt;br /&gt;var&lt;br /&gt;  Data: Array100;&lt;br /&gt;  DataCount: Integer;&lt;br /&gt;&lt;br /&gt;procedure InputData(var d: Array100; var c: Integer);&lt;br /&gt;var&lt;br /&gt;  Code, k: Integer;&lt;br /&gt;  i: String;&lt;br /&gt;begin&lt;br /&gt;  k := 1;&lt;br /&gt;&lt;br /&gt;  Writeln('Bubble Sort');&lt;br /&gt;  Writeln('-----------');&lt;br /&gt;  Writeln;&lt;br /&gt;&lt;br /&gt;  repeat     &lt;br /&gt;    Write('Masukkan angka ke-',k,' : ');readln(i);&lt;br /&gt;    if(i &lt;&gt; '') then&lt;br /&gt;    begin&lt;br /&gt;      Val(i,d[k],Code);&lt;br /&gt;      if(Code &lt;&gt; 0) then&lt;br /&gt;        d[k] := 0;&lt;br /&gt;    end;&lt;br /&gt;    Inc(k);&lt;br /&gt;  until (k &gt; 100) or (i = '');&lt;br /&gt;  c := k - 2;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Swap(var a,b: Integer);&lt;br /&gt;var&lt;br /&gt;  t: Integer;&lt;br /&gt;begin&lt;br /&gt;  t := a;&lt;br /&gt;  a := b;&lt;br /&gt;  b := t;  &lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure Sorting(var d: Array100; c: Integer);&lt;br /&gt;var&lt;br /&gt;  i,j: Integer;&lt;br /&gt;begin&lt;br /&gt;  for i:=1 to c-1 do&lt;br /&gt;    for j:=c downto i+1 do&lt;br /&gt;      if(d[j] &lt; d[j-1]) then        Swap(d[j],d[j-1]);end;procedure Tampil(d: Array100; c: Integer);var  i: Integer;begin  for i:=1 to c do    Write(d[i]:5);    Writeln;end;begin  InputData(Data, DataCount);  Writeln;  Writeln('Sebelum diurutkan');  Tampil(Data,DataCount);  Sorting(Data,DataCount);  Writeln;  Writeln('Sesudah diurutkan');  Tampil(Data,DataCount);end.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Bubble Sort&lt;br /&gt;-----------&lt;br /&gt;&lt;br /&gt;Masukkan angka ke-1 : 9&lt;br /&gt;Masukkan angka ke-2 : 8&lt;br /&gt;Masukkan angka ke-3 : 7&lt;br /&gt;Masukkan angka ke-4 : 6&lt;br /&gt;Masukkan angka ke-5 : 5&lt;br /&gt;Masukkan angka ke-6 : 4&lt;br /&gt;Masukkan angka ke-7 : 3&lt;br /&gt;Masukkan angka ke-8 : 2&lt;br /&gt;Masukkan angka ke-9 : 1&lt;br /&gt;Masukkan angka ke-10 :&lt;br /&gt;&lt;br /&gt;Sebelum diurutkan&lt;br /&gt;    9    8    7    6    5    4    3    2    1&lt;br /&gt;&lt;br /&gt;Sesudah diurutkan&lt;br /&gt;    1    2    3    4    5    6    7    8    9&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-609693280735875344?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/609693280735875344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-bubble-sort.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/609693280735875344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/609693280735875344'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/pascal-programming-bubble-sort.html' title='[Pascal Programming] Bubble Sort'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-2964897197502423859</id><published>2009-11-25T11:52:00.000+07:00</published><updated>2009-11-25T11:52:28.752+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>JAVA APPLET SORTING ALGORITHMS</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;In computer science and mathematics, a sorting algorithm is an algorithm that puts elements of a list in a certain order. The most-used orders are numerical order and lexicographical order. Efficient sorting is important to optimizing the use of other algorithms (such as search and merge algorithms) that require sorted lists to work correctly; it is also often useful for canonicalizing data and for producing human-readable output. More formally, the output must satisfy two conditions:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The output is in nondecreasing order (each element is no smaller than the previous element according to the desired total order);&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The output is a permutation, or reordering, of the input.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Since the dawn of computing, the sorting problem has attracted a great deal of research, perhaps due to the complexity of solving it efficiently despite its simple, familiar statement. For example, bubble sort was analyzed as early as 1956.[1] Although many consider it a solved problem, useful new sorting algorithms are still being invented (for example, library sort was first published in 2004). Sorting algorithms are prevalent in introductory computer science classes, where the abundance of algorithms for the problem provides a gentle introduction to a variety of core algorithm concepts, such as big O notation, divide and conquer algorithms, data structures, randomized algorithms, best, worst and average case analysis, time-space tradeoffs, and lower bounds.&lt;br /&gt;&lt;/div&gt;Classification&lt;br /&gt;&lt;br /&gt;Sorting algorithms used in computer science are often classified by:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Computational complexity (worst, average and best behaviour) of element comparisons in terms of the size of the list&amp;nbsp;&lt;span style="font-family: Arial; font-size: 13px; line-height: 19px;"&gt;&lt;img alt="\left( n \right)" class="tex" src="http://upload.wikimedia.org/math/0/6/3/063551e67051dd087ae252a08d210a14.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" /&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 16px; line-height: normal;"&gt;. For typical sorting algorithms good behavior is&amp;nbsp;&lt;span style="font-family: Arial; font-size: 13px; line-height: 19px;"&gt;&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Big_O_notation" style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: initial; background-image: none; background-position: initial initial; background-repeat: initial; color: #002bb8; text-decoration: none;" title="Big O notation"&gt;&lt;img alt="\mathcal{O}" class="tex" src="http://upload.wikimedia.org/math/a/e/b/aeb29ed2e1ec2353da1748944aef3c2f.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" /&gt;&lt;/a&gt;&lt;img alt="\left( n \log n\right)" class="tex" src="http://upload.wikimedia.org/math/2/c/3/2c32a6a1308f9ece18fa60b78e4d3235.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" /&gt;&amp;nbsp;&lt;span style="font-family: 'Times New Roman'; font-size: 16px; line-height: normal;"&gt;and bad behavior is&lt;span style="font-family: Arial; font-size: 13px; line-height: 19px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Arial; font-size: 13px; line-height: 19px;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 16px; line-height: normal;"&gt;&lt;span style="font-family: Arial; font-size: 13px; line-height: 19px;"&gt;&lt;img alt="\mathcal{O}\left( n^2 \right)" class="tex" src="http://upload.wikimedia.org/math/5/b/3/5b39d9aa1df17ace9368294060325af6.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" /&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 16px; line-height: normal;"&gt;. (See Big O notation) Ideal behavior for a sort is&amp;nbsp;&lt;span style="font-family: Arial; font-size: 13px; line-height: 19px;"&gt;&lt;img alt="\mathcal{O}\left( n \right)" class="tex" src="http://upload.wikimedia.org/math/4/f/f/4ffb6f36df8528cc63aa62b32c85ff7c.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" /&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 16px; line-height: normal;"&gt;. Comparison sorts, sort algorithms which only access the list via an abstract key comparison operation, need at least&amp;nbsp;&lt;span style="font-family: Arial; font-size: 13px; line-height: 19px;"&gt;&lt;img alt="\mathcal{O}\left( n \log n\right)" class="tex" src="http://upload.wikimedia.org/math/0/6/b/06b794d6fc33d5aaae41ee7658a09898.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" /&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 16px; line-height: normal;"&gt;comparisons for most inputs.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Computational complexity of swaps (for "in place" algorithms).&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Memory usage (and use of other computer resources). In particular, some sorting algorithms are "in place". This means that they need only&amp;nbsp;&lt;span style="font-family: Arial; font-size: 13px; line-height: 19px;"&gt;&amp;nbsp;&lt;img alt="\mathcal{O}(1)" class="tex" src="http://upload.wikimedia.org/math/e/3/2/e32428924d34e88d8a50e9f1805128d2.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" /&gt;&amp;nbsp;or&amp;nbsp;&lt;img alt="\mathcal{O}(\log n)" class="tex" src="http://upload.wikimedia.org/math/6/a/2/6a2e1009f7e6194825cc7c80ed2528e4.png" style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-style: none; border-width: initial; vertical-align: middle;" /&gt;&lt;/span&gt;&amp;nbsp;memory beyond the items being sorted and they don't need to create auxiliary locations for data to be temporarily stored, as in other sorting algorithms.&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Recursion. Some algorithms are either recursive or non-recursive, while others may be both (e.g., merge sort).&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Stability: stable sorting algorithms maintain the relative order of records with equal keys (i.e., values).&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Whether or not they are a comparison sort. A comparison sort examines the data only by comparing two elements with a comparison operator.&lt;br /&gt;&lt;/li&gt;&lt;li style="text-align: justify;"&gt;General method: insertion, exchange, selection, merging, etc. Exchange sorts include bubble sort and quicksort. Selection sorts include shaker sort and heapsort.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Adaptability: Whether or not the presortedness of the input affects the running time. Algorithms that take this into account are known to be adaptive.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: orange;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;FOR EXAMPLE,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: orange;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;SEE THE JAVA APPLET FOR THE SORTING ALGORITHMS IN LINK BELOW:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;code&gt;&lt;br /&gt;&lt;a href="http://maven.smith.edu/~thiebaut/java/sort/"&gt;&lt;br /&gt;http://maven.smith.edu/~thiebaut/java/sort/&lt;/a&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-2964897197502423859?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/2964897197502423859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/java-applet-sorting-algorithms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2964897197502423859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2964897197502423859'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/java-applet-sorting-algorithms.html' title='JAVA APPLET SORTING ALGORITHMS'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-6734598157695605629</id><published>2009-11-19T13:04:00.004+07:00</published><updated>2009-11-19T15:46:24.139+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Programming'/><title type='text'>JAVA MATRIX CALCULATOR</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;No special classes or libraries are used with this application. The complete source resides in the one file above. After downloading, the following should work in any JDK 1.2 compatible compiler:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;javac MatrixCalculator.java&lt;/code&gt;&lt;br /&gt;&lt;code&gt;java MatrixCalculator&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: orange;"&gt;&lt;span style="font-size: x-large;"&gt;Matrix Calculator Tips/Help&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: orange; font-weight: bold;"&gt;&lt;br class="webkit-block-placeholder" /&gt;&lt;/span&gt;&lt;br /&gt;All Matrices must be symmetric (n x n)&lt;br /&gt;&lt;br /&gt;Enter Matrix Elements Row by Row seperated by spaces.&lt;br /&gt;Ex. (3x3)&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;1 2 3&lt;br /&gt;4 5 6&lt;br /&gt;7 8 9&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Results will be placed in the C matrix.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The calculation of the determinant, by definition, is based upon a factorial number of calculations with respect to the size of the matrix. ie. a 3x3 matrix would have 6 calculations (3!) to make, whereas a 20x20 matrix would have 2.43 x 10^18 calculations (20!). So instead of brute forcing the calculations, I first do some operations on the matrix, which converts it to a upper triangular matrix, and then calculate the determinant by multipling down the diagonal, since everything below is 0, this will give the determinant.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Floating Points and Accuracies&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;For some reason computers aren't as accurate as I think they are, probably my calculation techniques. The accuracy of the numbers are probably only to 3 maybe 2 decimal places. If you keep applying operations to matrices and then use the resultant matrix a couple of times, the decimals get out of whack. Calculating an inverse and then multplying the matrix by it, is a good example of this.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Test Some Mathematical Theories&lt;/span&gt;&lt;br /&gt;The determinant of A-inverse equals 1 over the determinant of A.&lt;br /&gt;If two rows of matrix A are equal, the determinant of A equals 0.&lt;br /&gt;det(A*B)=det(A)det(B)&lt;br /&gt;A*B does not necessarily equal B*A&lt;br /&gt;The determinant of A-transpose equals the determinant of A.&lt;br /&gt;If the matrix B is constructed by interchanging two rows (columns) in matrix A, then the determinant of B equals the negative determinant of A&lt;br /&gt;You can test, adj(A) = det(A) * inv(A), but this is the theorem I use to calculate the inverse, so it better work.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mathematics and Linear Algebra&amp;nbsp;Calculating the Determinant&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The calculation of the determinant, by definition, is based upon a factorial number of calculations with respect to the size of the matrix. ie. a 3x3 matrix would have 6 calculations (3!), whereas a 20x20 matrix would have 2.43 x 10^18 calculations (20!).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;So instead of brute forcing the calculations, I first do some operations on the matrix, which converts it to a upper triangular matrix, and then calculate the determinant by multipling down the diagonal, since everything below is 0, this will give the determinant.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;See The Mathematics Behind Them for more information and mathematical explanations on the definitions and calculation techniques.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="color: #e69138;"&gt;&lt;i&gt;&lt;b&gt;Click the spoiler below for displaying source-code&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin: 5px;"&gt;&lt;div class="bigfont" style="margin-bottom: 2px;"&gt;&lt;input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Close'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Open'; }" style="margin: 0px; padding: 0px; width: 60px;" type="button" value="Open" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px inset; margin: 0px; padding: 6px;"&gt;&lt;div style="display: none;"&gt;SOURCE CODE&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import java.awt.BorderLayout;&lt;br /&gt;import java.awt.Component;&lt;br /&gt;import java.awt.Dimension;&lt;br /&gt;import java.awt.GridLayout;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;import java.awt.event.WindowAdapter;&lt;br /&gt;import java.awt.event.WindowEvent;&lt;br /&gt;import java.text.NumberFormat;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.StringTokenizer;&lt;br /&gt;&lt;br /&gt;import javax.swing.BorderFactory;&lt;br /&gt;import javax.swing.Box;&lt;br /&gt;import javax.swing.BoxLayout;&lt;br /&gt;import javax.swing.JButton;&lt;br /&gt;import javax.swing.JFrame;&lt;br /&gt;import javax.swing.JLabel;&lt;br /&gt;import javax.swing.JPanel;&lt;br /&gt;import javax.swing.JScrollPane;&lt;br /&gt;import javax.swing.JTextArea;&lt;br /&gt;&lt;br /&gt;public class MatrixCalculator {&lt;br /&gt;&lt;br /&gt;private boolean DEBUG = true;&lt;br /&gt;&lt;br /&gt;private boolean INFO = true;&lt;br /&gt;&lt;br /&gt;private static int max = 100;&lt;br /&gt;&lt;br /&gt;private static int decimals = 3;&lt;br /&gt;&lt;br /&gt;private JLabel statusBar;&lt;br /&gt;&lt;br /&gt;private JTextArea taA, taB, taC;&lt;br /&gt;&lt;br /&gt;private int iDF = 0;&lt;br /&gt;&lt;br /&gt;private int n = 4;&lt;br /&gt;&lt;br /&gt;private static NumberFormat nf;&lt;br /&gt;&lt;br /&gt;public Component createComponents() {&lt;br /&gt;&lt;br /&gt;/* == MATRIKS == */&lt;br /&gt;taA = new JTextArea();&lt;br /&gt;taB = new JTextArea();&lt;br /&gt;taC = new JTextArea();&lt;br /&gt;&lt;br /&gt;JPanel paneMs = new JPanel();&lt;br /&gt;paneMs.setLayout(new BoxLayout(paneMs, BoxLayout.X_AXIS));&lt;br /&gt;paneMs.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));&lt;br /&gt;paneMs.add(MatrixPane("Matrix A", taA));&lt;br /&gt;paneMs.add(Box.createRigidArea(new Dimension(10, 0)));&lt;br /&gt;paneMs.add(MatrixPane("Matrix B", taB));&lt;br /&gt;paneMs.add(Box.createRigidArea(new Dimension(10, 0)));&lt;br /&gt;paneMs.add(MatrixPane("Matrix C", taC));&lt;br /&gt;&lt;br /&gt;/* == OPERATION BUTTONS == */&lt;br /&gt;JPanel paneBtn = new JPanel();&lt;br /&gt;paneBtn.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));&lt;br /&gt;paneBtn.setLayout(new GridLayout(3, 3));&lt;br /&gt;JButton btnApB = new JButton("A + B = C");&lt;br /&gt;JButton btnAmB = new JButton("A * B = C");&lt;br /&gt;JButton btnBmA = new JButton("B * A = C");&lt;br /&gt;JButton btnAdjA = new JButton("adjoint(A) = C");&lt;br /&gt;JButton btnInvA = new JButton("inverse(A) = C");&lt;br /&gt;JButton btnInvB = new JButton("inverse(B) = C");&lt;br /&gt;JButton btnTrnsA = new JButton("transpose(A) = C");&lt;br /&gt;JButton btnDetA = new JButton("determ(A) = C");&lt;br /&gt;JButton btnDetB = new JButton("determ(B) = C");&lt;br /&gt;paneBtn.add(btnApB);&lt;br /&gt;paneBtn.add(btnAmB);&lt;br /&gt;paneBtn.add(btnBmA);&lt;br /&gt;paneBtn.add(btnAdjA);&lt;br /&gt;paneBtn.add(btnInvA);&lt;br /&gt;paneBtn.add(btnInvB);&lt;br /&gt;paneBtn.add(btnTrnsA);&lt;br /&gt;paneBtn.add(btnDetA);&lt;br /&gt;paneBtn.add(btnDetB);&lt;br /&gt;&lt;br /&gt;/* == ADD BUTTON Listeners == */&lt;br /&gt;btnApB.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;DisplayMatrix(AddMatrix(ReadInMatrix(taA),&lt;br /&gt;ReadInMatrix(taB)), taC);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;btnAmB.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;DisplayMatrix(MultiplyMatrix(&lt;br /&gt;ReadInMatrixNotSquare(taA),&lt;br /&gt;ReadInMatrixNotSquare(taB)), taC);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;btnBmA.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;DisplayMatrix(MultiplyMatrix(ReadInMatrixNotSquare(taB),&lt;br /&gt;ReadInMatrixNotSquare(taA)), taC);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;btnInvA.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;DisplayMatrix(Inverse(ReadInMatrix(taA)), taC);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;btnInvB.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;DisplayMatrix(Inverse(ReadInMatrix(taB)), taC);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;btnAdjA.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;DisplayMatrix(Adjoint(ReadInMatrix(taA)), taC);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;btnTrnsA.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;DisplayMatrix(Transpose(ReadInMatrixNotSquare(taA)), taC);&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;btnDetA.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;taC.setText("Determinant A: "&lt;br /&gt;+ nf.format(Determinant(ReadInMatrix(taA))));&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;btnDetB.addActionListener(new ActionListener() {&lt;br /&gt;public void actionPerformed(ActionEvent evt) {&lt;br /&gt;try {&lt;br /&gt;taC.setText("Determinant B: "&lt;br /&gt;+ nf.format(Determinant(ReadInMatrix(taB))));&lt;br /&gt;} catch (Exception e) {&lt;br /&gt;System.err.println("Error: " + e);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;/* == MAIN PANEL == */&lt;br /&gt;JPanel pane = new JPanel();&lt;br /&gt;pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));&lt;br /&gt;pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));&lt;br /&gt;pane.add(paneMs);&lt;br /&gt;pane.add(paneBtn);&lt;br /&gt;&lt;br /&gt;JPanel fpane = new JPanel();&lt;br /&gt;fpane.setLayout(new BorderLayout());&lt;br /&gt;fpane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));&lt;br /&gt;fpane.add("Center", pane);&lt;br /&gt;statusBar = new JLabel("Ready");&lt;br /&gt;fpane.add("South", statusBar);&lt;br /&gt;&lt;br /&gt;return fpane;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* == Setup Invidual Matrix Panes == */&lt;br /&gt;private JPanel MatrixPane(String str, JTextArea ta) {&lt;br /&gt;JScrollPane scrollPane = new JScrollPane(ta);&lt;br /&gt;int size = 200;&lt;br /&gt;&lt;br /&gt;scrollPane.setPreferredSize(new Dimension(size, size));&lt;br /&gt;JLabel label = new JLabel(str);&lt;br /&gt;label.setLabelFor(scrollPane);&lt;br /&gt;&lt;br /&gt;JPanel pane = new JPanel();&lt;br /&gt;pane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));&lt;br /&gt;pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));&lt;br /&gt;pane.add(label);&lt;br /&gt;pane.add(scrollPane);&lt;br /&gt;&lt;br /&gt;return pane;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main(String[] args) {&lt;br /&gt;JFrame frame = new JFrame("Matrix Calculator");&lt;br /&gt;frame.setSize(new Dimension(725, 200));&lt;br /&gt;MatrixCalculator app = new MatrixCalculator();&lt;br /&gt;&lt;br /&gt;Component contents = app.createComponents();&lt;br /&gt;frame.getContentPane().add(contents, BorderLayout.CENTER);&lt;br /&gt;frame.addWindowListener(new WindowAdapter() {&lt;br /&gt;public void windowClosing(WindowEvent e) {&lt;br /&gt;System.exit(0);&lt;br /&gt;}&lt;br /&gt;});&lt;br /&gt;frame.pack();&lt;br /&gt;frame.setVisible(true);&lt;br /&gt;&lt;br /&gt;nf = NumberFormat.getInstance();&lt;br /&gt;nf.setMinimumFractionDigits(1);&lt;br /&gt;nf.setMaximumFractionDigits(decimals);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// ------------------------------------------------------------------------------&lt;br /&gt;// ------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public float[][] ReadInMatrix(JTextArea ta) throws Exception {&lt;br /&gt;if (DEBUG) {&lt;br /&gt;System.out.println("Reading In Matrix");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/* == Parse Text Area == */&lt;br /&gt;String rawtext = ta.getText();&lt;br /&gt;String val = "";&lt;br /&gt;int i = 0;&lt;br /&gt;int j = 0;&lt;br /&gt;int[] rsize = new int[max];&lt;br /&gt;&lt;br /&gt;/* == Determine Matrix Size/Valid == */&lt;br /&gt;StringTokenizer ts = new StringTokenizer(rawtext, "\n");&lt;br /&gt;while (ts.hasMoreTokens()) {&lt;br /&gt;StringTokenizer ts2 = new StringTokenizer(ts.nextToken());&lt;br /&gt;while (ts2.hasMoreTokens()) {&lt;br /&gt;ts2.nextToken();&lt;br /&gt;j++;&lt;br /&gt;}&lt;br /&gt;rsize[i] = j;&lt;br /&gt;i++;&lt;br /&gt;j = 0;&lt;br /&gt;}&lt;br /&gt;statusBar.setText("Ukuran Matriks: " + i);&lt;br /&gt;if ((DEBUG) || (INFO)) {&lt;br /&gt;System.out.println("Ukuran Matriks: " + i);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for (int c = 0; c &lt; i; c++) {   if (DEBUG) {    System.out.println("i=" + i + "  j=" + rsize[c] + "   Kolom: "      + c);   }   if (rsize[c] != i) {    statusBar.setText("Invalid Matrix. Size Mismatch.");    throw new Exception("Invalid Matrix. Size Mismatch.");   }  }  /* == set ukuran matriks == */  n = i;  float matrix[][] = new float[n][n];  i = j = 0;  val = "";  /* == Actual Parsing == */  StringTokenizer st = new StringTokenizer(rawtext, "\n");  while (st.hasMoreTokens()) {   StringTokenizer st2 = new StringTokenizer(st.nextToken());   while (st2.hasMoreTokens()) {    val = st2.nextToken();    try {     matrix[i][j] = Float.valueOf(val).floatValue();    } catch (Exception exception) {     statusBar.setText("Invalid Number Format");    }    j++;   }   i++;   j = 0;  }  if (DEBUG) {   System.out.println("Baca Matriks::");   for (i = 0; i &lt; n; i++) {    for (j = 0; j &lt; n; j++) {     System.out.print("m[" + i + "][" + j + "] = "       + matrix[i][j] + "   ");    }    System.out.println();   }  }  return matrix; } public float[][] ReadInMatrixNotSquare(JTextArea ta)   throws Exception {  if (DEBUG) {   System.out.println("Membaca Matriks");  }  /* == Parse Text Area == */  String rawtext = ta.getText();  /* == Determine Matrix Size/Valid == */  StringTokenizer ts = new StringTokenizer(rawtext, "\n");  if (DEBUG)   System.out.println("Baris: " + ts.countTokens());  float matrix[][] = new float[ts.countTokens()][];  StringTokenizer st2;  int row = 0;  int col = 0;  //making sure rows are same length  int last = -5;  int curr = -5;  while (ts.hasMoreTokens()) {   st2 = new StringTokenizer(ts.nextToken(), " ");   last = curr;   curr = st2.countTokens();   if(last != -5 &amp;&amp; curr!= last)    throw new Exception("Baris != length");   if (DEBUG)    System.out.println("Kolom: " + st2.countTokens());   matrix[row] = new float[st2.countTokens()];   while (st2.hasMoreElements()) {    matrix[row][col++] = Float.parseFloat(st2.nextToken());   }   row++;   col = 0;  }  System.out.println();  return matrix; } // -------------------------------------------------------------- // Display Matrix in TextArea // -------------------------------------------------------------- public void DisplayMatrix(float[][] matrix, JTextArea ta) {    if (DEBUG) {   System.out.println("Displaying Matrix");  }    String rstr = "";  String dv = "";  for (int i = 0; i &lt; matrix.length; i++) {   for (int j = 0; j &lt; matrix[i].length; j++) {    dv = nf.format(matrix[i][j]);    rstr = rstr.concat(dv + "  ");   }   rstr = rstr.concat("\n");  }  ta.setText(rstr); } public float[][] AddMatrix(float[][] a, float[][] b) throws Exception {  int tms = a.length;  int tmsB = b.length;  if (tms != tmsB) {   statusBar.setText("Matrix Size Mismatch");  }  float matrix[][] = new float[tms][tms];  for (int i = 0; i &lt; tms; i++)   for (int j = 0; j &lt; tms; j++) {    matrix[i][j] = a[i][j] + b[i][j];   }  return matrix; } // -------------------------------------------------------------- public float[][] MultiplyMatrix(float[][] a, float[][] b) throws Exception {    if(a[0].length != b.length)   throw new Exception("Matrices incompatible for multiplication");  float matrix[][] = new float[a.length][b[0].length];  for (int i = 0; i &lt; a.length; i++)   for (int j = 0; j &lt; b[i].length; j++)    matrix[i][j] = 0;  //cycle through answer matrix  for(int i = 0; i &lt; matrix.length; i++){   for(int j = 0; j &lt; matrix[i].length; j++){    matrix[i][j] = calculateRowColumnProduct(a,i,b,j);   }  }  return matrix; } public float calculateRowColumnProduct(float[][] A, int row, float[][] B, int col){  float product = 0;  for(int i = 0; i &lt; A[row].length; i++)   product +=A[row][i]*B[i][col];  return product; } // --------------------------------------------------------------  public float[][] Transpose(float[][] a) {  if (INFO) {   System.out.println("Performing Transpose...");  }    float m[][] = new float[a[0].length][a.length];  for (int i = 0; i &lt; a.length; i++)   for (int j = 0; j &lt; a[i].length; j++)    m[j][i] = a[i][j];  return m; } // -------------------------------------------------------------- public float[][] Inverse(float[][] a) throws Exception {  // Formula used to Calculate Inverse:  // inv(A) = 1/det(A) * adj(A)  if (INFO) {   System.out.println("Performing Inverse...");  }  int tms = a.length;  float m[][] = new float[tms][tms];  float mm[][] = Adjoint(a);  float det = Determinant(a);  float dd = 0;  if (det == 0) {   statusBar.setText("Determinant = 0, Not Invertible.");   if (INFO) {    System.out.println("Determinant = 0, Not Invertible.");   }  } else {   dd = 1 / det;  }  for (int i = 0; i &lt; tms; i++)   for (int j = 0; j &lt; tms; j++) {    m[i][j] = dd * mm[i][j];   }  return m; } // -------------------------------------------------------------- public float[][] Adjoint(float[][] a) throws Exception {  if (INFO) {   System.out.println("Performing Adjoint...");  }  int tms = a.length;  float m[][] = new float[tms][tms];  int ii, jj, ia, ja;  float det;  for (int i = 0; i &lt; tms; i++)   for (int j = 0; j &lt; tms; j++) {    ia = ja = 0;    float ap[][] = new float[tms - 1][tms - 1];    for (ii = 0; ii &lt; tms; ii++) {     for (jj = 0; jj &lt; tms; jj++) {      if ((ii != i) &amp;&amp; (jj != j)) {       ap[ia][ja] = a[ii][jj];       ja++;      }     }     if ((ii != i) &amp;&amp; (jj != j)) {      ia++;     }     ja = 0;    }    det = Determinant(ap);    m[i][j] = (float) Math.pow(-1, i + j) * det;   }  m = Transpose(m);  return m; } // -------------------------------------------------------------- public float[][] UpperTriangle(float[][] m) {  if (INFO) {   System.out.println("Converting to Upper Triangle...");  }  float f1 = 0;  float temp = 0;  int tms = m.length; // get This Matrix Size (could be smaller than       // global)  int v = 1;  iDF = 1;  for (int col = 0; col &lt; tms - 1; col++) {   for (int row = col + 1; row &lt; tms; row++) {    v = 1;    outahere: while (m[col][col] == 0) // check if 0 in diagonal    { // if so switch until not     if (col + v &gt;= tms) // check if switched all rows&lt;br /&gt;{&lt;br /&gt;iDF = 0;&lt;br /&gt;break outahere;&lt;br /&gt;} else {&lt;br /&gt;for (int c = 0; c &lt; tms; c++) {       temp = m[col][c];       m[col][c] = m[col + v][c]; // switch rows       m[col + v][c] = temp;      }      v++; // count row switchs      iDF = iDF * -1; // each switch changes determinant          // factor     }    }    if (m[col][col] != 0) {     if (DEBUG) {      System.out.println("tms = " + tms + "   col = " + col        + "   row = " + row);     }     try {      f1 = (-1) * m[row][col] / m[col][col];      for (int i = col; i &lt; tms; i++) {       m[row][i] = f1 * m[col][i] + m[row][i];      }     } catch (Exception e) {      System.out.println("Still Here!!!");     }    }   }  }  return m; } // -------------------------------------------------------------- public float Determinant(float[][] matrix) {  if (INFO) {   System.out.println("Getting Determinant...");  }  int tms = matrix.length;  float det = 1;  matrix = UpperTriangle(matrix);  for (int i = 0; i &lt; tms; i++) {   det = det * matrix[i][i];  } // multiply down diagonal  det = det * iDF; // adjust w/ determinant factor  if (INFO) {   System.out.println("Determinant: " + det);  }  return det; }}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;FOR DOWNLOAD: &lt;a href="http://www.COMINGSOON!!!.com"&gt;CLICK HERE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-6734598157695605629?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/6734598157695605629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/java-matrix-calculator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6734598157695605629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6734598157695605629'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/java-matrix-calculator.html' title='JAVA MATRIX CALCULATOR'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7693946125406213093</id><published>2009-11-18T10:38:00.000+07:00</published><updated>2009-11-18T10:38:42.855+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Dota'/><title type='text'>Warcraft Patch 1.24b Guide</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="color: #919390; font-family: verdana; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #919390; font-family: verdana; font-size: 13px;"&gt;&lt;div id="post_message_294750"&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: deepskyblue;"&gt;Things you should already have:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;Original Warcraft and The Frozen Throne&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;One Dota map: 6.62b or higher for testing&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: blue;"&gt;Official 1.24b patch download section&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;Download here:&amp;nbsp;&lt;a href="http://ftp.blizzard.com/pub/war3x/patches/pc/War3TFT_124b_English.exe" style="color: #64a8e5; text-decoration: none;" target="_blank"&gt;&lt;u&gt;&lt;b&gt;Official 1.24b&lt;/b&gt;&lt;/u&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: deepskyblue;"&gt;Others 1.24b section:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;When you enter blizzard FTP, scroll all the way down, and chose your patch.&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;&lt;a href="http://ftp.blizzard.com/pub/war3x/patches/pc/" style="color: #64a8e5; text-decoration: none;" target="_blank"&gt;Other Languages&lt;/a&gt;&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;&lt;a href="http://ftp.blizzard.com/pub/war3x/patches/Mac/" style="color: #64a8e5; text-decoration: none;" target="_blank"&gt;Machintosh&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: red;"&gt;WARNING FOR MAC USERS: Any Mac user wishing to patch should get the 1.24a patch and then connect to battle.net for the final upgrade.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: deepskyblue;"&gt;How to Install the patch:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;If everything is fine, then just press BattleNet button, it will be automatic&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;If you downloaded it, just double click it.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: deepskyblue;"&gt;How to check what version you have:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;Just check the number under your Quit button. It should be 1.24.1.6374&lt;/li&gt;&lt;/ul&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/forums/picture.php?albumid=362&amp;amp;pictureid=3322" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: deepskyblue;"&gt;Solving problems:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The most common problems of all is "Missing install path" problem. This problem is (99%) caused because game wasn't Installed, because it was only copied from another computer. The game is missing registry entries, thus, patch can't update. Example of "Missing path error"&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/forums/picture.php?albumid=362&amp;amp;pictureid=3323" /&gt;&lt;br /&gt;&lt;br /&gt;First you need to download War3 Registry fix program. Click to&amp;nbsp;&lt;b&gt;&lt;a href="http://www.playdota.com/forums/attachment.php?attachmentid=4366&amp;amp;stc=1&amp;amp;d=1252533650" rel="nofollow" style="color: #64a8e5; text-decoration: none;" target="_blank"&gt;Download&lt;/a&gt;&lt;/b&gt;. Unpack it, and just double click it. You should get this screen. Now click the&amp;nbsp;&lt;b&gt;Fix Reign of Chaos&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/forums/picture.php?albumid=362&amp;amp;pictureid=3324" /&gt;&lt;br /&gt;&lt;br /&gt;Find your Warcraft 3 folder. Its ussually at&amp;nbsp;&lt;b&gt;C:\Program Files\Warcraft III&lt;/b&gt;. At my example, its at&amp;nbsp;&lt;b&gt;C:\Warcraft III&lt;/b&gt;. When you find it, mark it untill that&amp;nbsp;&lt;span style="color: yellow;"&gt;+&lt;/span&gt;&amp;nbsp;becomes&amp;nbsp;&lt;span style="color: yellow;"&gt;-&lt;/span&gt;. Now at that bar above, path should be correct, but program generates DIABLO2 folder. DELETE IT! That Diablo folder is program mistake. Delete it with Backspace or Delete button untill its gone like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;1.&lt;/span&gt;&lt;br /&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/forums/picture.php?albumid=362&amp;amp;pictureid=3325" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;2.&lt;/span&gt;&lt;br /&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/forums/picture.php?albumid=362&amp;amp;pictureid=3326" /&gt;&lt;br /&gt;&lt;br /&gt;Click the OK button and then click Yes like this:&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/forums/picture.php?albumid=362&amp;amp;pictureid=3327" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Now, go to first page of program again and do everything again for Frozen Throne!&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;When you finaly finished this fixing, go to Warcraft 3 The Frozen Throne game. Just enter it, it doesn't matter what patch you have. When you enter the game, just Quit the game. You need this part to check if you did everything correct.&amp;nbsp;&lt;b&gt;&lt;u&gt;Do this part no matter what!&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If everything worked well, now you can upgrade to 1.24b without any errors! Use 6.62b map for testing.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: deepskyblue;"&gt;&lt;span style="font-size: medium;"&gt;Other problems&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;If you can't download the patch, try again, blizzard servers can be full!&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;If the 1.24b patch is less than 56.05MB, then download it again, maybe it was broke during download.&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;If you have specific problem which isn't in this guide, post it in this topic!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: medium;"&gt;&lt;span style="color: red;"&gt;Disclaimer!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;&lt;b&gt;&lt;/b&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;&lt;b&gt;No talking about cracks, keygens or pirated software!&lt;/b&gt;&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;No Version Switcher discussion, check&amp;nbsp;&lt;a href="http://www.playdota.com/forums/dota-tools-ai-maps/" style="color: #64a8e5; text-decoration: none;" target="_blank"&gt;Dota Tools&lt;/a&gt;&amp;nbsp;if you need it.&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;&lt;b&gt;Only 6.62b and above are allowed.&lt;/b&gt;&amp;nbsp;No discussion about 6.61c and below.&lt;/li&gt;&lt;li style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;No Garena problems, please. I can't help you there, check&amp;nbsp;&lt;a href="http://www.garena.com/support" style="color: #64a8e5; text-decoration: none;" target="_blank"&gt;Garena Support&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;i&gt;If you have any ideas how to make this guide better, post them here. Remember, this isn't the only way, but it looks its the most newbie friendly. There are other ways with Regedit, but I don't find it easy for people which need small and helpfull programs, not registry files, and editing path at their own risk.&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="padding-bottom: 6px; padding-left: 6px; padding-right: 6px; padding-top: 6px;"&gt;&lt;fieldset class="fieldset" style="border-bottom-color: rgb(153, 153, 153); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(153, 153, 153); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(153, 153, 153); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(153, 153, 153); border-top-style: solid; border-top-width: 1px; font-size: 11px; margin-bottom: 6px;"&gt;&lt;br /&gt;&lt;legend style="color: #cccccc; font: normal normal normal 11px/normal tahoma, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;Attached Files&lt;/legend&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="3"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font-size: 11px; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;&lt;img alt="File Type: rar" border="0" class="inlineimg" height="16" src="http://www.playdota.com/forums/assault_fps/attach/rar.gif" style="vertical-align: middle;" title="File Type: rar" width="16" /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #101410; background-image: initial; background-position: initial initial; background-repeat: initial; font-size: 11px; font: normal normal normal 10pt/normal verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;"&gt;&lt;a href="http://www.playdota.com/forums/attachment.php?attachmentid=4366&amp;amp;d=1252533650" rel="nofollow" style="color: #64a8e5; text-decoration: none;"&gt;W3Fixer.rar&lt;/a&gt;&amp;nbsp;(482.1 KB, 23232 views)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/fieldset&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7693946125406213093?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7693946125406213093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/warcraft-patch-124b-guide.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7693946125406213093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7693946125406213093'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/warcraft-patch-124b-guide.html' title='Warcraft Patch 1.24b Guide'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-576399579214783085</id><published>2009-11-17T13:19:00.001+07:00</published><updated>2009-11-17T13:20:51.189+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Dota'/><title type='text'>Warcraft Patch Version Switcher</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;All in One Warcraft Version Switcher. Yeah, it's available now. Currently, there are 7 Warcraft 3 TFT versions file are available, Warcraft Patch 1.20e, 1.21, 1.21b, 1.22, 1.23, 1.24a &amp;amp; 1.24b. You can download any Warcraft 3 Patch version Switcher file you want to use. Check the download links &amp;amp; guide.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i28.tinypic.com/8x3443.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="225" src="http://i28.tinypic.com/8x3443.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Steps:&lt;br /&gt;&lt;br /&gt;1. Download standalone Warcraft Version Switcher from the link below and extract it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rapidshare.com/files/280480148/Warcraft-Version-Switcher.rar"&gt;Download Warcraft-Version-Switcher.rar (617KB)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Download the Warcraft 3 version switcher file(s) you want to use with Version Switcher.&lt;br /&gt;&lt;br /&gt;Warcraft 1.20 Patch File:&lt;br /&gt;&lt;a href="http://rapidshare.com/files/279869933/TFT_Version_1.20.zip"&gt;TFT Version 1.20&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Warcraft 1.21 Patch File:&lt;br /&gt;&lt;a href="http://rapidshare.com/files/280354150/TFT_Version_1.21.zip"&gt;TFT Version 1.21&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Warcraft 1.21b Patch File:&lt;br /&gt;&lt;a href="http://rapidshare.com/files/280359445/TFT_Version_1.21b.zip"&gt;TFT Version 1.21b&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Warcraft 1.22 Patch File:&lt;br /&gt;&lt;a href="http://rapidshare.com/files/280363224/TFT_Version_1.22.zip"&gt;TFT Version 1.22&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Warcraft 1.23 Patch File:&lt;br /&gt;&lt;a href="http://rapidshare.com/files/280450987/TFT_Version_1.23.zip"&gt;TFT Version 1.23&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Warcraft 1.24 Patch File:&lt;br /&gt;&lt;a href="http://rapidshare.com/files/280455520/TFT_Version_1.24.zip"&gt;TFT Version 1.24&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Warcraft 1.24b Patch File:&lt;br /&gt;&lt;a href="http://rapidshare.com/files/280465868/TFT_Version_1.24b.zip"&gt;TFT Version 1.24b&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. After Downloading the patch version file(s), DO NOT EXTRACT THEM. Just copy the files and paste in your "wvs" folder of Warcraft Version Switcher.&lt;br /&gt;&lt;br /&gt;4. Now run &lt;span style="font-weight: bold;"&gt;&lt;span style="color: orange;"&gt;wvs.exe&lt;/span&gt;&lt;/span&gt; &amp;amp; you're done.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-576399579214783085?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/576399579214783085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/warcraft-patch-version-switcher.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/576399579214783085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/576399579214783085'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/warcraft-patch-version-switcher.html' title='Warcraft Patch Version Switcher'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i28.tinypic.com/8x3443_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7899643323848564597</id><published>2009-11-17T12:11:00.000+07:00</published><updated>2009-11-17T12:11:15.713+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Dota'/><title type='text'>[NIGHTCRAWLER] New Hero On New Map DOtA 6.65</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; color: #ffffcc; font-family: Verdana; font-size: 12px; line-height: 19px;"&gt;&lt;b&gt;INTRODUCTION&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="IPB Image" border="0" src="http://battle.net/war3/images/neutral/buildings/murlocflesheater.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&lt;br /&gt;&lt;span style="color: #33cc00;"&gt;Summon Nightcrawler&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Disfar is came from the tribe of the Murlocs from the lands of Felwood. The Undead Legions conquered their habitats and turned them into bases. The nightcrawler is the only one who have escaped in the terror of the lich king's army. He joined the Sentinel for him to have revenge on the death of his tribe and family. The nightcrawler can turn invisible when night, allowing him to spy his enemies. He can throw flashbangs in a certain range to blind his enemies and prevent them from attacking. The Scourge shall know the true anger of the Nightcrawler.&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;span style="color: #3333ff;"&gt;Strength&amp;nbsp;&lt;/span&gt;- 17 +2.00&lt;br /&gt;&lt;span style="color: red;"&gt;Agility&lt;/span&gt;&amp;nbsp;- 24 +2.80(Main Attribute)&lt;br /&gt;&lt;span style="color: #3333ff;"&gt;Intelligence&lt;/span&gt;&amp;nbsp;- 18 +1.55&lt;br /&gt;&lt;br /&gt;Learns Nightclawler's Flashbang, Corrosive Scales, Night Crawl and&amp;nbsp;&lt;span style="color: #ff6600;"&gt;Death Stab&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Attack range of 100&lt;br /&gt;Movement speed of 300&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;_____________________________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;b&gt;HERO INFORMATION&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #cc9933;"&gt;Alliance:&lt;/span&gt;&amp;nbsp;Sentinel&lt;br /&gt;&lt;span style="color: #cc9933;"&gt;Theme:&lt;/span&gt;&amp;nbsp;Nightcrawlers&lt;br /&gt;&lt;span style="color: #cc9933;"&gt;Role:&lt;/span&gt;&amp;nbsp;Killer&lt;br /&gt;&lt;br /&gt;&lt;img alt="IPB Image" border="0" src="http://battle.net/war3/images/neutral/creeps/murlocknightcrawler.gif" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&lt;br /&gt;Disfal, the Nightcrawler&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #cc9933;"&gt;Starting Hitpoints:&lt;/span&gt;=&amp;nbsp;&lt;i&gt;150 + (Strength * 19)&lt;/i&gt;; 150 + (17 * 19) = 473&lt;br /&gt;&lt;span style="color: #cc9933;"&gt;Starting Mana:&lt;/span&gt;=&amp;nbsp;&lt;i&gt;Intelligence * 13&lt;/i&gt;; 18 * 13 = 234&lt;br /&gt;&lt;span style="color: #cc9933;"&gt;Starting Damage:&lt;/span&gt;&amp;nbsp;39-50&lt;br /&gt;&lt;span style="color: #cc9933;"&gt;Starting Armor:&lt;/span&gt;=&lt;i&gt;Agility/7&lt;/i&gt;; 24/7 = 3.4&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;_____________________________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;b&gt;HERO ABILITIES&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="IPB Image" border="0" src="http://www.hiveworkshop.com/forums/resource_images/6/icons_5385_btn.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #33ccff;"&gt;&lt;b&gt;Nightcrawler's Flashbang&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The night crawler will throws a flashbang in an area to damage, slow enemy units by 35% and to prevent them from attacking. The flashbang last for 2.5 seconds.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 1&lt;/span&gt;&amp;nbsp;- Deals 120 damage and has a 200 AOE.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 2&lt;/span&gt;&amp;nbsp;- Deals 200 damage and has a 240 AOE.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 3&lt;/span&gt;&amp;nbsp;- Deals 280 damage and has a 270 AOE.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 4&lt;/span&gt;&amp;nbsp;- Deals 330 damage and has a 300 AOE.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #3366ff;"&gt;Cooldown:&lt;/span&gt;&amp;nbsp;30 seconds&lt;br /&gt;&lt;span style="color: #3366ff;"&gt;Mana cost:&lt;/span&gt;&amp;nbsp;100/110/120/130&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The casting time is 1 second.&lt;br /&gt;The casting range is 400&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="IPB Image" border="0" src="http://www.hiveworkshop.com/forums/resource_images/5/icons_4360_disbtn.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&lt;br /&gt;&lt;span style="color: #33ccff;"&gt;&lt;b&gt;&lt;br /&gt;Corrosive Scales&lt;/b&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Allows the Nightcrawler to be scaly. Gives a chance to reflect the percentage of the received damage of the nightcrawler in an area near him.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 1&lt;/span&gt;&amp;nbsp;- 10% chance to reflect the 120% of the nightcrawler's received damage.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 2&lt;/span&gt;&amp;nbsp;- 10% chance to reflect the 150% of the nightcrawler's received damage.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 3&lt;/span&gt;&amp;nbsp;- 10% chance to reflect the 180% of the nightcrawler's received damage.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 4&lt;/span&gt;&amp;nbsp;- 10% chance to reflect the 200% of the nightcrawler's received damage.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Passive&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="IPB Image" border="0" src="http://www.hiveworkshop.com/forums/resource_images/3/icons_2526_disbtn.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #33ccff;"&gt;&lt;b&gt;Night Crawl&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The nightcrawler will become permanently invisible when night. The invisible will removed when the nightcrawler attacks, use a skill or when day comes.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 1&lt;/span&gt;&amp;nbsp;- The nightcrawler becomes invisible when night. Has 8 seconds fade time.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 2&lt;/span&gt;&amp;nbsp;- The nightcrawler becomes invisible when night. Has 7 seconds fade time.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 3&lt;/span&gt;&amp;nbsp;- The nightcrawler becomes invisible when night. Has 6 seconds fade time.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 4&lt;/span&gt;&amp;nbsp;- The nightcrawler becomes invisible when night. Has 5 seconds fade time.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Passive&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="IPB Image" border="0" src="http://www.hiveworkshop.com/forums/resource_images/6/icons_5590_pas.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&lt;br /&gt;&lt;span style="color: #33ccff;"&gt;&lt;br /&gt;&lt;b&gt;Death Stab&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When the nightcrawler attacks in front it will deal a bonus damage but when it attacks from the rear, the attacked one will be slowed by 30%.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 1&lt;/span&gt;&amp;nbsp;- adds a bonus 25% of damage.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 2&lt;/span&gt;&amp;nbsp;- adds a bonus 50% of damage.&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;Level 3&lt;/span&gt;&amp;nbsp;- adds a bonus 75% of damage.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;Orb Effects do not stack&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Hero Combo&lt;/b&gt;&lt;br /&gt;&lt;span style="color: #ffcc00;"&gt;_____________________________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="IPB Image" border="0" src="http://www.hiveworkshop.com/forums/resource_images/3/icons_2526_disbtn.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&amp;nbsp;+&amp;nbsp;&lt;img alt="IPB Image" border="0" src="http://www.hiveworkshop.com/forums/resource_images/6/icons_5385_btn.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&lt;br /&gt;When you are invisible can easily use the skill, Nightcrawler's Flasbang to your enemies.&lt;br /&gt;&lt;img alt="IPB Image" border="0" src="http://www.hiveworkshop.com/forums/resource_images/6/icons_5385_btn.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&amp;nbsp;+&amp;nbsp;&lt;img alt="IPB Image" border="0" src="http://www.hiveworkshop.com/forums/resource_images/6/icons_5590_pas.jpg" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; vertical-align: middle;" /&gt;&lt;br /&gt;Flashbang can slow and prevent the attack of enemies. In this state, you can deal a bonus damage when you attack in front.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7899643323848564597?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7899643323848564597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/nightcrawler-new-hero-on-new-map-dota.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7899643323848564597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7899643323848564597'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/nightcrawler-new-hero-on-new-map-dota.html' title='[NIGHTCRAWLER] New Hero On New Map DOtA 6.65'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-5447852921400884584</id><published>2009-11-15T20:20:00.000+07:00</published><updated>2009-11-15T20:20:49.768+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Application'/><title type='text'>Hardisk Partition for XP/VISTA/7</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Partition Wizard Home Edition (PWHE) is a free partition manager designed by MT Solution Ltd. It supports 32/64 bit Windows Operating System including Windows XP, Windows Vista , Windows 2000 Professional and Windows 7.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Home users can perform complicated partition operations by using this powerful but free partition manager to manage their hard disk partition such as Resizing partitions, Copying partitions, Create partition, Delete partition, Format partition, Convert partition, Explore partition, Hide partition, Change drive letter, Set active partition and Partition Recovery.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;     : 5.54 MB&lt;br /&gt;Platform : Windows&lt;br /&gt;License&amp;nbsp;  : Freeware&lt;br /&gt;Updated&amp;nbsp; : 20 Jul, 2009&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://www.filecluster.com/download-link-0/98797.html"&gt;Click here for download &lt;b&gt;pwhe-setup.exe&lt;/b&gt; free (5.54 MB)&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-5447852921400884584?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/5447852921400884584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/hardisk-partition-for-xpvista7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5447852921400884584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5447852921400884584'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/hardisk-partition-for-xpvista7.html' title='Hardisk Partition for XP/VISTA/7'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-6520619151710721214</id><published>2009-11-13T18:10:00.000+07:00</published><updated>2009-11-13T18:10:14.082+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Request Software/Game/App Keygen Here..!!</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A keygen (an abbreviated form of "key generator") is a small program that will generate valid CD keys or serial/registration numbers for a piece of software. These are made available by software cracking groups for free download on various websites dedicated to software piracy. In some countries, the use of keygens to activate software without purchasing a genuine code is unlawful.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Keygenxa.png/180px-Keygenxa.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Keygenxa.png/180px-Keygenxa.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How registration key generators work&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;The author of a keygen typically uses a disassembler to look at the raw assembly code of the targeted program, checking either the software itself or the installer. Once access has been obtained to the program's code, the location of the subroutine(s) responsible for verifying that the key entered is valid are found. Using this knowledge, the algorithm may be reverse engineered to generate valid keys, which is then incorporated into the keygen.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;With weaker serial protection schemes a complex reverse is not required as the key-checking code itself in the original application can be effectively copied and incorporated into a keygen. Weaker schemes sometimes internally generate a correct key inside the original application for comparison purposes (to determine whether the entered key is correct).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Some keygens use a brute force approach or brute force hybrid approach to creating valid keys. In these instances, rather than produce an exact reverse of the key check algorithm, the attacker uses a search technique, testing many possible combinations per second against the key validation check until a given combination produces a valid key.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Sometimes, keygens have code incorporated into the keygen to change the written code of a program in order for the code that is given via the keygen to work, but this is not typically done for a keygen, as it is considered 'impure' when a crack must be used in conjunction with a keygen; true keygens are considered as such when they generate valid keys and do not require an additional 'crack' i.e. modification to the original application code for generated keys to be accepted.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;blockquote style="color: #e69138;"&gt;&lt;b&gt;For request a keygen please email me use this format:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Subject: ReqKeygen&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Message Body: Name of app/game/warez what you need the keygen&lt;/b&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-6520619151710721214?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/6520619151710721214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/request-softwaregameapp-keygen-here.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6520619151710721214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6520619151710721214'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/request-softwaregameapp-keygen-here.html' title='Request Software/Game/App Keygen Here..!!'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-5976182149130028789</id><published>2009-11-13T08:58:00.001+07:00</published><updated>2009-11-13T08:59:15.246+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Indonesian and International Free SMS</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Short Message Service (SMS) is a communication service standardized in the GSM mobile communication system, using standardized communications protocols allowing the interchange of short text messages between mobile telephone devices. SMS text messaging is the most widely used data application on the planet, with 2.4 billion active users, or 74% of all mobile phone subscribers sending and receiving text messages on their phones.[citation needed] The SMS technology has facilitated the development and growth of text messaging. The connection between the phenomenon of text messaging and the underlying technology is so great that in parts of the world the term "SMS" is used as a synonym for a text message or the act of sending a text message, even when a different protocol is being used.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;&lt;a href="http://freesms4.us/"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;FOR FREE SMS, CLICK THIS LINK for 10 sms per DAY&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;&lt;a href="http://free.20sms.info/"&gt;OR THIS LINK for 20 sms per DAY&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-5976182149130028789?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/5976182149130028789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/indonesian-and-international-free-sms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5976182149130028789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5976182149130028789'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/indonesian-and-international-free-sms.html' title='Indonesian and International Free SMS'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-6558046591607349559</id><published>2009-11-13T08:22:00.000+07:00</published><updated>2009-11-13T08:22:18.383+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Application'/><title type='text'>DeepFreeze 6 Password Remover</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i33.tinypic.com/2j1sf9k.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://i33.tinypic.com/2j1sf9k.jpg" width="232" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;&lt;a href="http://www.4shared.com/file/141981063/81333a4d/UDF.html"&gt;Download Here : &lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;a href="http://www.4shared.com/file/141981063/81333a4d/UDF.html"&gt;http://www.4shared.com/file/141981063/81333a4d/UDF.html&lt;/a&gt;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;a href="http://d60pc.com/redirectdownload/Anti-DeepFreeze.html"&gt;Or using this:&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;a href="http://d60pc.com/redirectdownload/Anti-DeepFreeze.html"&gt;http://d60pc.com/redirectdownload/Anti-DeepFreeze.html&lt;/a&gt;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 24px;"&gt;&lt;br class="webkit-block-placeholder" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 24px;"&gt;&lt;br class="webkit-block-placeholder" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Or This&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i35.tinypic.com/6zsrie.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://i35.tinypic.com/6zsrie.jpg" width="302" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Download Here :&lt;br /&gt;4SHARED&lt;br /&gt;&lt;code&gt;&lt;a href="http://www.4shared.com/file/144249041/65b02369/undeep.html"&gt;http://www.4shared.com/file/144249041/65b02369/undeep.html&lt;/a&gt;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;RAPIDSHARE&lt;br /&gt;&lt;code&gt;&lt;a href="http://rapidshare.com/files/298875286/undeep.zip"&gt;http://rapidshare.com/files/298875286/undeep.zip&lt;/a&gt;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;MIRROR&lt;br /&gt;&lt;code&gt;&lt;a href="http://downloads.alsyundawy.org/?dir=appz/UnDeepFreeZeR"&gt;http://downloads.alsyundawy.org/?dir=appz/UnDeepFreeZeR&lt;/a&gt;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-6558046591607349559?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/6558046591607349559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/deepfreeze-6-password-remover.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6558046591607349559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6558046591607349559'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/deepfreeze-6-password-remover.html' title='DeepFreeze 6 Password Remover'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i33.tinypic.com/2j1sf9k_th.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1355925691207674637</id><published>2009-11-12T14:13:00.000+07:00</published><updated>2009-11-12T14:13:38.425+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Application'/><title type='text'>Password Hacking via USB</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Have you ever thought that a Simple USB Drive can be used as a Destructive Tool for Hacking Passwords? Today I will give you the right tools.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;As we all know, Windows stores most of the passwords which are used on a daily basis, including instant messenger passwords such as MSN, Yahoo, AOL, Windows messenger etc. Along with these, Windows also stores passwords of Outlook Express, SMTP, POP, FTP accounts and auto-complete passwords of many browsers like IE and Firefox. There exists many tools for recovering these passswords from their stored places.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Using these tools and an USB pendrive hack your friends passwords. Luckily for you i put every thing together for n00bs.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;VIDEO:&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=DRpkNjsR4Aw"&gt;&lt;br /&gt;http://www.youtube.com/watch?v=DRpkNjsR4Aw&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;DOWNLOAD: &lt;br /&gt;&lt;a href="http://hotfile.com/dl/15570241/4d7a997/USB_Password_Hack.rar.html"&gt;&lt;br /&gt;http://hotfile.com/dl/15570241/4d7a997/USB_Password_Hack.rar.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;NB: Files are available in RAR format with passwords. If you want to know the password, please comment on this blog and leave your email address. I will send your password to your email address. &lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1355925691207674637?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1355925691207674637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/password-hacking-via-usb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1355925691207674637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1355925691207674637'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/password-hacking-via-usb.html' title='Password Hacking via USB'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1715851033871258877</id><published>2009-11-12T13:33:00.000+07:00</published><updated>2009-11-12T13:34:24.556+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Free Download Journal</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;SCIENCEDIRECT&lt;/b&gt;&lt;br /&gt;target :&lt;br /&gt;&lt;code&gt;http://science.servepics.com&lt;/code&gt;&lt;br /&gt;proxy :&lt;br /&gt;&lt;code&gt;128.42.142.43:3124&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sceinecdirect, Springerlink, Wileyinterscience&lt;/b&gt;&lt;br /&gt;target:&lt;br /&gt;&lt;code&gt;http://www.sciencedirectatpassfans.cjb.net&lt;/code&gt;&lt;br /&gt;proxy :&lt;br /&gt;&lt;code&gt;ns1.kmu.edu.tw:3128&lt;/code&gt;&lt;br /&gt;username/pass :&lt;br /&gt;&lt;code&gt;960499/960499&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Other&lt;/b&gt;&lt;br /&gt;Ingenta&lt;br /&gt;&lt;code&gt;anand.mooo.com&lt;/code&gt;&lt;br /&gt;netlibrary&lt;br /&gt;&lt;code&gt;http://www.netlibraryatpassfans.cjb.net&lt;/code&gt;&lt;br /&gt;thieme publishing&lt;br /&gt;&lt;code&gt;http://www.thiemec.cjb.net/ejournals/home.html&lt;/code&gt;&lt;br /&gt;Emerald Group Publishing Limited&lt;br /&gt;&lt;code&gt;http://emerald2010.cjb.net&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: #e69138;"&gt;&lt;i&gt;&lt;b&gt;Click the spoiler below for displaying proxy&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin: 5px;"&gt;&lt;div class="bigfont" style="margin-bottom: 2px;"&gt;&lt;input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Close'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Open'; }" style="margin: 0px; padding: 0px; width: 60px;" type="button" value="Open" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px inset; margin: 0px; padding: 6px;"&gt;&lt;div style="display: none;"&gt;&lt;br /&gt;131.247.2.242:3127&lt;br /&gt;155.98.35.4:3127&lt;br /&gt;128.220.231.3:3127&lt;br /&gt;130.49.221.41:3128&lt;br /&gt;128.31.1.13:3128&lt;br /&gt;129.74.74.15:3128 &lt;br /&gt;72.36.112.72:3127&lt;br /&gt;128.252.19.20:3128&lt;br /&gt;129.59.88.180:3124&lt;br /&gt;204.56.0.137:3127&lt;br /&gt;128.135.11.149:3124&lt;br /&gt;129.10.120.193:3128&lt;br /&gt;208.117.131.115:3127&lt;br /&gt;204.8.155.226:3128&lt;br /&gt;128.223.8.111:3127&lt;br /&gt;128.223.8.112:3128 &lt;br /&gt;128.223.8.113:3124&lt;br /&gt;128.112.139.80:3127&lt;br /&gt;128.112.139.75:3128&lt;br /&gt;128.112.139.97:3128&lt;br /&gt;171.66.3.181:3124&lt;br /&gt;169.235.24.232:3124&lt;br /&gt;198.133.224.146:3127&lt;br /&gt;137.99.11.87:3124&lt;br /&gt;146.57.249.98:3127&lt;br /&gt;204.85.191.10:3128&lt;br /&gt;204.85.191.11:3128&lt;br /&gt;155.246.12.163:3124&lt;br /&gt;128.135.11.152:3124&lt;br /&gt;128.195.54.161:3128&lt;br /&gt;128.195.54.163:3124&lt;br /&gt;137.99.11.86:3128&lt;br /&gt;164.107.127.13:3128&lt;br /&gt;138.238.250.155:3124&lt;br /&gt;131.247.2.241:3128&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Jurnal Perpusnas RI&lt;/b&gt;&lt;br /&gt;&lt;font color='red'&gt;1. Database Proquest&lt;/font&gt;&lt;br /&gt;proquest berisi artikel tentang pertanian, kesehatan, psikologi, ekonomi, sosial dll.&lt;br /&gt;Alamat URL : &lt;code&gt;http://proquest. pnri.go.id&lt;/code&gt;&lt;br /&gt;User id: &lt;code&gt;anggota&lt;/code&gt;&lt;br /&gt;Password: &lt;code&gt;anggota&lt;/code&gt;&lt;br /&gt;&lt;font color='red'&gt;2. Database Gale&lt;/font&gt;&lt;br /&gt;berisi Teksbook&lt;br /&gt;Alamat URL: &lt;code&gt;http://infotrac.galegroup.com/itweb/idpnri&lt;/code&gt;&lt;br /&gt;Password: &lt;code&gt;research&lt;/code&gt;&lt;br /&gt;&lt;font color='red'&gt;3. Database Westlaw&lt;/font&gt;&lt;br /&gt;Berisi masalah Hukum&lt;br /&gt;Alamat URL: &lt;code&gt;http://web2. westlaw.com&lt;/code&gt;&lt;br /&gt;Password: &lt;code&gt;6823415SPDH&lt;/code&gt;&lt;br /&gt;Client id: &lt;code&gt;3 USER&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1715851033871258877?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1715851033871258877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/free-download-journal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1715851033871258877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1715851033871258877'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/free-download-journal.html' title='Free Download Journal'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-6640610639139194696</id><published>2009-11-12T13:08:00.000+07:00</published><updated>2009-11-12T13:08:21.835+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>CASCADE INNODB</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;CREATE TABLE TBLPM&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; create table tblpm&lt;br /&gt;-&amp;gt; (idtblpm int not null primary key,&lt;br /&gt;-&amp;gt; data char(10))&lt;br /&gt;-&amp;gt; engine=innodb;&lt;br /&gt;Query OK, 0 rows affected (0.08 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;CREATE TABLE TBLCASCADE&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; create table tblcascade&lt;br /&gt;-&amp;gt; (idtblpm int not null,&lt;br /&gt;-&amp;gt; idtblcascade int not null primary key,&lt;br /&gt;-&amp;gt; data char(10),&lt;br /&gt;-&amp;gt; foreign key (idtblpm) references tblpm(idtblpm) ON UPDATE CASCADE&lt;br /&gt;-&amp;gt; )ENGINE=INNODB;&lt;br /&gt;Query OK, 0 rows affected (0.08 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;INSERT VALUE TO TBLPM&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; insert into tblpm values&lt;br /&gt;-&amp;gt; ('1','A'),&lt;br /&gt;-&amp;gt; ('2','B'),&lt;br /&gt;-&amp;gt; ('3','C'),&lt;br /&gt;-&amp;gt; ('4','D'),&lt;br /&gt;-&amp;gt; ('5','E');&lt;br /&gt;Query OK, 5 rows affected (0.03 sec)&lt;br /&gt;Records: 5  Duplicates: 0  Warnings: 0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;INSERT VALUE TO TBLCASCADE&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; insert into tblcascade values&lt;br /&gt;-&amp;gt; ('1','1','A'),&lt;br /&gt;-&amp;gt; ('2','2','B'),&lt;br /&gt;-&amp;gt; ('3','3','C'),&lt;br /&gt;-&amp;gt; ('4','4','D'),&lt;br /&gt;-&amp;gt; ('5','5','E');&lt;br /&gt;Query OK, 5 rows affected (0.06 sec)&lt;br /&gt;Records: 5  Duplicates: 0  Warnings: 0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;CHANGING VALUE IN TBPM&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; update tblpm set idtblpm='9' where idtblpm='1';&lt;br /&gt;Query OK, 1 row affected (0.03 sec)&lt;br /&gt;Rows matched: 1  Changed: 1  Warnings: 0&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;SHOW VALUE TBLPM&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select * from tblpm order by data asc;&lt;br /&gt;+---------+------+&lt;br /&gt;| idtblpm | data |&lt;br /&gt;+---------+------+&lt;br /&gt;|       9 | A    |&lt;br /&gt;|       2 | B    |&lt;br /&gt;|       3 | C    |&lt;br /&gt;|       4 | D    |&lt;br /&gt;|       5 | E    |&lt;br /&gt;+---------+------+&lt;br /&gt;5 rows in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;VALUE ON TBLCASCADE HAS BEEN CHANGED TOO&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select * from tblcascade order by data asc;&lt;br /&gt;+---------+--------------+------+&lt;br /&gt;| idtblpm | idtblcascade | data |&lt;br /&gt;+---------+--------------+------+&lt;br /&gt;|       9 |            1 | A    |&lt;br /&gt;|       2 |            2 | B    |&lt;br /&gt;|       3 |            3 | C    |&lt;br /&gt;|       4 |            4 | D    |&lt;br /&gt;|       5 |            5 | E    |&lt;br /&gt;+---------+--------------+------+&lt;br /&gt;5 rows in set (0.00 sec)&lt;br /&gt;5 rows in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-6640610639139194696?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/6640610639139194696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/cascade-innodb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6640610639139194696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6640610639139194696'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/cascade-innodb.html' title='CASCADE INNODB'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1052184104196860021</id><published>2009-11-05T13:13:00.001+07:00</published><updated>2009-12-07T18:24:16.208+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query Example: Update, SET, Combination</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: medium;"&gt;*) Update table add foreign key / change table structure&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; alter table NamaTabel&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; add constraint&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; foreign key (FOREIGNKEYFIELD) references TABLENAME(PRIMARYKEYFIELD);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large; font-weight: bold;"&gt;*) Change value table&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; update NamaTabel&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; set FieldName='NewValue'&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; where FieldName='OldValue';&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;1)Tampilkan pegawai dan jabatan&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select p.nama, j.jabatan&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; from pegawai p, jabatan j&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; where p.kj=j.kj;&lt;br /&gt;+------------+------------------+&lt;br /&gt;| nama &amp;nbsp; &amp;nbsp; &amp;nbsp; | jabatan &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;+------------+------------------+&lt;br /&gt;| Amir Yahya | System Analyst &amp;nbsp; |&lt;br /&gt;| Bayu &amp;nbsp; &amp;nbsp; &amp;nbsp; | Marketing Leader |&lt;br /&gt;| Dahlan &amp;nbsp; &amp;nbsp; | Programmer &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| Rizal &amp;nbsp; &amp;nbsp; &amp;nbsp;| Programmer &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| Iwan &amp;nbsp; &amp;nbsp; &amp;nbsp; | Network Engineer |&lt;br /&gt;| Dewi &amp;nbsp; &amp;nbsp; &amp;nbsp; | Sekretaris &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| Hakim &amp;nbsp; &amp;nbsp; &amp;nbsp;| Programmer &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;+------------+------------------+&lt;br /&gt;&lt;br /&gt;7 rows in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;2)Tampilkan pegawai dan anaknya&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select p.nama, a.nama_anak&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; from pegawai p, anak a&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; where p.nip=a.nip;&lt;br /&gt;+------+-----------+&lt;br /&gt;| nama | nama_anak |&lt;br /&gt;+------+-----------+&lt;br /&gt;| Bayu | Haris &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| Bayu | Hany &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;| Iwan | Sitti &amp;nbsp; &amp;nbsp; |&lt;br /&gt;| Iwan | Sultan &amp;nbsp; &amp;nbsp;|&lt;br /&gt;+------+-----------+&lt;br /&gt;&lt;br /&gt;4 rows in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;3)Tampilkan pegawai dan gajinya&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select p.nama, j.gaji&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; from pegawai p, jabatan j&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; where p.kj=j.kj;&lt;br /&gt;+------------+---------+&lt;br /&gt;| nama &amp;nbsp; &amp;nbsp; &amp;nbsp; | gaji &amp;nbsp; &amp;nbsp;|&lt;br /&gt;+------------+---------+&lt;br /&gt;| Amir Yahya | 6000000 |&lt;br /&gt;| Bayu &amp;nbsp; &amp;nbsp; &amp;nbsp; | 7000000 |&lt;br /&gt;| Dahlan &amp;nbsp; &amp;nbsp; | 3000000 |&lt;br /&gt;| Rizal &amp;nbsp; &amp;nbsp; &amp;nbsp;| 3000000 |&lt;br /&gt;| Iwan &amp;nbsp; &amp;nbsp; &amp;nbsp; | 4500000 |&lt;br /&gt;| Dewi &amp;nbsp; &amp;nbsp; &amp;nbsp; | 3000000 |&lt;br /&gt;| Hakim &amp;nbsp; &amp;nbsp; &amp;nbsp;| 3000000 |&lt;br /&gt;+------------+---------+&lt;br /&gt;&lt;br /&gt;7 rows in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;4) Tampilkan pegawai dg gaji tertinggi&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select p.nama, j.gaji&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; from pegawai p, jabatan j&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; where j.kj=p.kj order by j.gaji desc&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; limit 0,1;&lt;br /&gt;+------+---------+&lt;br /&gt;| nama | gaji &amp;nbsp; &amp;nbsp;|&lt;br /&gt;+------+---------+&lt;br /&gt;| Bayu | 7000000 |&lt;br /&gt;+------+---------+&lt;br /&gt;&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;5)Tampilkan pegawai dg gaji &amp;gt; 5000000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select p.nama, j.gaji&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; from pegawai p, jabatan j&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; where p.kj=j.kj and j.gaji&amp;lt;5000000;&lt;br /&gt;+--------+---------+&lt;br /&gt;| nama &amp;nbsp; | gaji &amp;nbsp; &amp;nbsp;|&lt;br /&gt;+--------+---------+&lt;br /&gt;| Dahlan | 3000000 |&lt;br /&gt;| Rizal &amp;nbsp;| 3000000 |&lt;br /&gt;| Iwan &amp;nbsp; | 4500000 |&lt;br /&gt;| Dewi &amp;nbsp; | 3000000 |&lt;br /&gt;| Hakim &amp;nbsp;| 3000000 |&lt;br /&gt;+--------+---------+&lt;br /&gt;&lt;br /&gt;5 rows in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;6)Tampilkan pegawai dan gaji &amp;gt;=1500000 dan &amp;lt;=4000000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select p.nama, j.gaji&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; from pegawai p, jabatan j&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; where p.kj=j.kj and j.gaji&amp;gt;=1500000 and j.gaji&amp;lt;=4000000;&lt;br /&gt;+--------+---------+&lt;br /&gt;| nama &amp;nbsp; | gaji &amp;nbsp; &amp;nbsp;|&lt;br /&gt;+--------+---------+&lt;br /&gt;| Dahlan | 3000000 |&lt;br /&gt;| Rizal &amp;nbsp;| 3000000 |&lt;br /&gt;| Dewi &amp;nbsp; | 3000000 |&lt;br /&gt;| Hakim &amp;nbsp;| 3000000 |&lt;br /&gt;+--------+---------+&lt;br /&gt;&lt;br /&gt;4 rows in set (0.05 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="font-weight: bold;"&gt;7)Tampilkan pegawai dan anaknya yg berumur &amp;lt; 5&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select p.nama, a.nama_anak, a.umur&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; from pegawai p, anak a&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; where p.nip=a.nip and a.umur&amp;lt;5;&lt;br /&gt;+------+-----------+------+&lt;br /&gt;| nama | nama_anak | umur |&lt;br /&gt;+------+-----------+------+&lt;br /&gt;| Iwan | Sultan &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp;1 |&lt;br /&gt;+------+-----------+------+&lt;br /&gt;&lt;br /&gt;1 row in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-size: x-large;"&gt;8)Tampilkan View dari 3 Tabel&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;mysql&amp;gt; select p.nama, a.nama_anak, j.jabatan&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; from pegawai p, anak a, jabatan j&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;-&amp;gt; where p.nip=a.nip and p.kj=j.kj;&lt;br /&gt;+------+-----------+------------------+&lt;br /&gt;| nama | nama_anak | jabatan &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;+------+-----------+------------------+&lt;br /&gt;| Bayu | Haris &amp;nbsp; &amp;nbsp; | Marketing Leader |&lt;br /&gt;| Bayu | Hany &amp;nbsp; &amp;nbsp; &amp;nbsp;| Marketing Leader |&lt;br /&gt;| Iwan | Sitti &amp;nbsp; &amp;nbsp; | Network Engineer |&lt;br /&gt;| Iwan | Sultan &amp;nbsp; &amp;nbsp;| Network Engineer |&lt;br /&gt;+------+-----------+------------------+&lt;br /&gt;&lt;br /&gt;4 rows in set (0.00 sec)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1052184104196860021?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1052184104196860021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/11/sql-query-example-update-set.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1052184104196860021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1052184104196860021'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/11/sql-query-example-update-set.html' title='SQL Query Example: Update, SET, Combination'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-4575056881427370463</id><published>2009-10-30T07:38:00.000+07:00</published><updated>2009-10-30T15:55:25.245+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CCNA3'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>VLSM (Variable Length Subnet Masking)</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Seperti yang telah kita ketahui, konsep subnetting adalah meminjam bit host untuk dikorbankan menjadi alamat network. Metode subnetting terdiri dari 2 macam:&lt;br /&gt;- Melihat berdasarkan kebutuhan jumlah network&lt;br /&gt;- Melihat berdasarkan kebutuhan jumlah IP Address&lt;br /&gt;&lt;br /&gt;Pada VLSM menggunakan metode kedua, yakni melihat berdasarkan kebutuhan jumlah IP Address terbanyak dalam suatu network.&lt;br /&gt;&lt;br /&gt;Contoh kasus yang digunakan adalah sebagai berikut:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_UEqlv8O399Y/Suo0GqIM_yI/AAAAAAAAAJA/cJQazrZbrrk/s1600-h/vlsm.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_UEqlv8O399Y/Suo0GqIM_yI/AAAAAAAAAJA/cJQazrZbrrk/s320/vlsm.jpg" vr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Apabila diurutkan berdasarkan kebutuhan jumlah IP Address, dapat diurutkan menjadi:&lt;br /&gt;&lt;br /&gt;1. LAN Branch-1 = 120 IP Address&lt;br /&gt;2. LAN Branch-2 = 60 IP Address&lt;br /&gt;3. LAN Branch-3 = 14 IP Address&lt;br /&gt;4. LAN Branch-4 = 14 IP Address&lt;br /&gt;5. WAN 1 = 2 IP Address&lt;br /&gt;6. WAN 2 = 2 IP Address&lt;br /&gt;7. WAN 3 = 2 IP Address&lt;br /&gt;&lt;br /&gt;*Ket: 2^n = 2 pangkat n&lt;br /&gt;&lt;br /&gt;I. Menentukan alamat subnetwork LAN Branch-1&lt;br /&gt;2^n-2 &amp;gt;= 120, n=7 (7= jumlah bit 0 yang tetap)&lt;br /&gt;&lt;br /&gt;IP Asal: 192.168.3.0&lt;br /&gt;SM Asal : 255.255.255.00000000 (/24)&lt;br /&gt;SM Baru : 255.255.255.10000000 (/25)&lt;br /&gt;&lt;br /&gt;Terbentuk dua network:&lt;br /&gt;- 192.168.3.0 /25 &amp;lt;== Digunakan untuk network LAN Branch-1&lt;br /&gt;- 192.168.3.128 /25 &amp;lt;== di-subnet lagi untuk mendapatkan subnetwork baru&lt;br /&gt;&lt;br /&gt;LAN Branch-1&lt;br /&gt;- Alamat subnetwork : 192.168.3.0 /25&lt;br /&gt;- Range IP Address : 192.168.3.1 – 192.168.3.126&lt;br /&gt;- Alamat broadcast : 192.168.3.127&lt;br /&gt;&lt;br /&gt;II. Menentukan alamat subnetwork LAN Branch-2&lt;br /&gt;2^n-2 &amp;gt;= 60, n=6 (6= jumlah bit 0 yang tetap)&lt;br /&gt;&lt;br /&gt;IP Asal : 192.168.3.128&lt;br /&gt;SM Asal : 255.255.255.10000000 (/25)&lt;br /&gt;SM Baru : 255.255.255.11000000 (/26)&lt;br /&gt;&lt;br /&gt;Terbentuk dua network:&lt;br /&gt;- 192.168.3.128 /26 &amp;lt;== Digunakan untuk network LAN Branch-2&lt;br /&gt;- 192.168.3.192 /26 &amp;lt;== di-subnet lagi untuk mendapatkan subnetwork baru&lt;br /&gt;&lt;br /&gt;LAN Branch-2&lt;br /&gt;- Alamat subnetwork : 192.168.3.128 /26&lt;br /&gt;- Range IP Address : 192.168.3.129 – 192.168.3.190&lt;br /&gt;- Alamat broadcast : 192.168.3.191&lt;br /&gt;&lt;br /&gt;III. Menentukan alamat subnetwork LAN Branch-3&lt;br /&gt;2^n-2 &amp;gt;= 14, n=4 (4= jumlah bit 0 yang tetap)&lt;br /&gt;&lt;br /&gt;IP Asal : 192.168.3.192&lt;br /&gt;SM Asal : 255.255.255.11000000 (/26 )&lt;br /&gt;SM Baru : 255.255.255.11110000 (/28 )&lt;br /&gt;&lt;br /&gt;Terbentuk empat network:&lt;br /&gt;- 192.168.3.192 /28 &amp;lt;== Digunakan untuk network LAN Branch-3&lt;br /&gt;- 192.168.3.208 /28 &amp;lt;== Digunakan untuk network LAN Head Office&lt;br /&gt;- 192.168.3.224 /28 &amp;lt;== di-subnet lagi untuk mendapatkan subnetwork baru&lt;br /&gt;- 192.168.3.240 /28&lt;br /&gt;&lt;br /&gt;Dari subnetting di atas didapatkan 4 buah network baru karena perubahan bit biner dari /26 ke /28 ada 2 bit, sehingga terbentuk 2(2) = 4 network.&lt;br /&gt;LAN Branch-3&lt;br /&gt;- Alamat subnetwork : 192.168.3.192 /28&lt;br /&gt;- Range IP Address : 192.168.3.193 – 192.168.3.206&lt;br /&gt;- Alamat broadcast : 192.168.3.207&lt;br /&gt;&lt;br /&gt;LAN Head Office&lt;br /&gt;- Alamat subnetwork : 192.168.3.208 /28&lt;br /&gt;- Range IP Address : 192.168.3.209 – 192.168.3.222&lt;br /&gt;- Alamat broadcast : 192.168.3.223&lt;br /&gt;&lt;br /&gt;IV. Menentukan alamat WAN (Wide Area Network).&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Subnetwork address untuk koneksi WAN sebaiknya menggunakan subnet mask /30 (255.255.255.252) karena hanya dibutuhkan 2 ip address sehingga lebih menghemat IP Address dan menambah keamanan pada koneksi WAN.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Untuk mendapatkan subnetwork address koneksi WAN, dapat memecah subnetwork 192.168.3.224 /28.&lt;br /&gt;&lt;br /&gt;Berikut ini pemecahannya&lt;br /&gt;2^n-2 &amp;gt;= 2, n=2 (2= jumlah bit 0 yang tetap)&lt;br /&gt;IP Asal : 192.168.3.224&lt;br /&gt;SM Asal : 255.255.255.11110000 (/28 )&lt;br /&gt;SM Baru : 255.255.255.11111100 (/30 )&lt;br /&gt;&lt;br /&gt;Terbentuk 4 network:&lt;br /&gt;- 192.168.3.224 /30 &amp;lt;== Digunakan untuk network WAN 1&lt;br /&gt;- 192.168.3.228 /30 &amp;lt;== Digunakan untuk network WAN 2&lt;br /&gt;- 192.168.3.232 /30 &amp;lt;== Digunakan untuk network WAN 3&lt;br /&gt;- 192.168.3.236 /30 &amp;lt;== dapat digunakan apabila ada pengembangan jaringan.&lt;br /&gt;&lt;br /&gt;Proses subnetting di atas dapat disingkat menjadi:&lt;br /&gt;- 192.168.3.0 /24&lt;br /&gt;- 192.168.3.0 /25 &amp;lt;== Dialokasikan untuk LAN Branch-1&lt;br /&gt;- 192.168.3.128 /25&lt;br /&gt;- 192.168.3.128 /26 &amp;lt;== Dialokasikan untuk LAN Branch-2&lt;br /&gt;- 192.168.3.192 /26&lt;br /&gt;- 192.168.3.192 /28 &amp;lt;== Dialokasikan untuk LAN Branch-3&lt;br /&gt;- 192.168.3.208 /28 &amp;lt;== Dialokasikan untuk LAN Head Office&lt;br /&gt;- 192.168.3.224 /28 &amp;lt;== untuk keperluan masa datang&lt;br /&gt;- 192.168.3.224 /30 &amp;lt;== Dialokasikan untuk WAN 1&lt;br /&gt;- 192.168.3.228 /30 &amp;lt;== Dialokasikan untuk WAN 2&lt;br /&gt;- 192.168.3.232 /30 &amp;lt;== Dialokasikan untuk WAN 3&lt;br /&gt;- 192.168.3.236 /30 &amp;lt;== untuk keperluan masa datang&lt;br /&gt;- 192.168.3.240 /28 &amp;lt;== untuk keperluan masa datang&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-4575056881427370463?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/4575056881427370463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/vlsm-variable-length-subnet-masking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4575056881427370463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4575056881427370463'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/vlsm-variable-length-subnet-masking.html' title='VLSM (Variable Length Subnet Masking)'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_UEqlv8O399Y/Suo0GqIM_yI/AAAAAAAAAJA/cJQazrZbrrk/s72-c/vlsm.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-2399842975695963794</id><published>2009-10-30T07:29:00.000+07:00</published><updated>2009-10-30T07:29:44.124+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CCNA1'/><category scheme='http://www.blogger.com/atom/ns#' term='Networking'/><title type='text'>Subnetting</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #2a2a2a; font-family: Verdana; font-size: 11px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="line-height: 1.5em; margin: 0px 0px 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;"&gt;Subnetting digunakan untuk membuat segmentasi pada sebuah alamat network. Selain meningkatkan performansi jaringan, subnetting juga dapat menghemat IP Address.&amp;nbsp; Peningkatan performansi terjadi pada router karena tabel router tidak terlalu banyak menyimpan catatan IP Address.&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5em; margin: 0px 0px 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Konsep subnetting sendiri adalah meminjam bit porsi host menjadi bit porsi network. Metode subnetting ada dua:&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5em; margin: 0px 0px 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;1. Melihat berdasarkan kebutuhan jumlah subnet address&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5em; margin: 0px 0px 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;2. Melihat berdasarkan kebutuhan jumlah host (terbanyak)&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5em; margin: 0px 0px 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Studi kasus:&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5em; margin: 0px 0px 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_UEqlv8O399Y/SuoyJTnYj3I/AAAAAAAAAI4/1zwGHbbPQpU/s1600-h/subnetting.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_UEqlv8O399Y/SuoyJTnYj3I/AAAAAAAAAI4/1zwGHbbPQpU/s320/subnetting.jpg" vr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="line-height: 1.5em; margin: 0px 0px 15px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ket: 2^n = 2 pangkat n&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I. Melihat berdasarkan kebutuhan jumlah subnet address&lt;br /&gt;Rumus: 2^n-2 &amp;gt;=subnet address yang dibutuhkan&lt;br /&gt;2^n-2 &amp;gt;=5, n=3 (n menunjukkan jumlah bit 0 yang berubah menjadi bit 1&lt;br /&gt;&lt;br /&gt;Hasil:&lt;br /&gt;Subnet Mask default : 255.255.255.00000000 (255.255.255.240) atau /24&lt;br /&gt;Subnet Mask baru : 255.255.255.11100000 (255.255.255.224) atau /27&lt;br /&gt;Subnet Address yang terbentuk : 2^n=2^3=8&lt;br /&gt;Block size (jumlah IP per subnetwork) : 2^(jml bit 0 yang tetap)=2^5=32&lt;br /&gt;&lt;br /&gt;Berdasarkan hasil perhitungan, maka subnetwork-subnetwork yang terbentuk:&lt;br /&gt;1. 192.168.3.0 /27 &amp;lt;== Untuk CCNA I tidak boleh dialokasikan&lt;br /&gt;2. 192.168.3.32 /27 &amp;lt;== dialokasikan untuk Head Office&lt;br /&gt;&lt;br /&gt;- Network Address : 192.168.3.32 /27&lt;br /&gt;- Range IP yg dapat dipakai : 192.168.3.33 /27 sampai 192.168.3.62 /27&lt;br /&gt;- Broadcast Address : 192.168.3.63 /27&lt;br /&gt;&lt;br /&gt;3. 192.168.3.64 /27 &amp;lt;== dialokasikan untuk Branch-1&lt;br /&gt;- Network Address : 192.168.3.64 /27&lt;br /&gt;- Range IP yg dapat dipakai : 192.168.3.65 /27 sampai 192.168.3.94 /27&lt;br /&gt;- Broadcast Address : 192.168.3.95 /27&lt;br /&gt;4. 192.168.3.96 /27 &amp;lt;== dialokasikan untuk Branch-2&lt;br /&gt;- Network Address : 192.168.3.96 /27&lt;br /&gt;- Range IP yg dapat dipakai : 192.168.3.97 /27 sampai 192.168.3.126 /27&lt;br /&gt;- Broadcast Address : 192.168.3.127 /27&lt;br /&gt;&lt;br /&gt;5. 192.168.3.128 /27 &amp;lt;== dialokasikan untuk WAN 1&lt;br /&gt;- Network Address : 192.168.3.128 /27&lt;br /&gt;- Range IP yg dapat dipakai : 192.168.3.129 /27 sampai 192.168.3.158 /27&lt;br /&gt;- Broadcast Address : 192.168.3.159 /27&lt;br /&gt;&lt;br /&gt;6. 192.168.3.160 /27 &amp;lt;== dialokasikan untuk WAN 2&lt;br /&gt;- Network Address : 192.168.3.160 /27&lt;br /&gt;- Range IP yg dapat dipakai : 192.168.3.161 /27 sampai 192.168.3.190 /27&lt;br /&gt;- Broadcast Address : 192.168.3.191 /27&lt;br /&gt;&lt;br /&gt;7. 192.168.3.192 /27 &amp;lt;==dapat dialokasikan untuk kebutuhan masa datang&lt;br /&gt;- Network Address : 192.168.3.192 /27&lt;br /&gt;- Range IP yg dapat dipakai : 192.168.3.193 /27 sampai 192.168.3.222 /27&lt;br /&gt;- Broadcast Address : 192.168.3.223 /27&lt;br /&gt;&lt;br /&gt;8. 192.168.3.224 /27 &amp;lt;== Untuk CCNA I tidak boleh dialokasikan&lt;br /&gt;&lt;br /&gt;II. Melihat berdasarkan kebutuhan jumlah host&lt;br /&gt;Rumus: 2^n-2 &amp;gt;= jumlah host(terbanyak) yang dibutuhkan&lt;br /&gt;2^n-2 = 30, n=5 (n=menunjukkan jml bit 0 yang tetap)&lt;br /&gt;&lt;br /&gt;Hasil:&lt;br /&gt;Subnet Mask default : 255.255.255.00000000 (255.255.255.240) atau /24&lt;br /&gt;Subnet Mask baru : 255.255.255.11100000 (255.255.255.224) atau /27&lt;br /&gt;Subnet Address yang terbentuk : 2^n=2^3=8 (n=jml bit 0 yang berubah jadi 1)&lt;br /&gt;Block size (jumlah IP per subnetwork) : 2^(jml bit 0 yang tetap)=2^5=32&lt;br /&gt;&lt;br /&gt;Subnetwork-subnetwork yang dihasilkan sama seperti perhitungan menggunakan metode perhitungan berdasarkan jumlah network.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-2399842975695963794?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/2399842975695963794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/subnetting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2399842975695963794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2399842975695963794'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/subnetting.html' title='Subnetting'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UEqlv8O399Y/SuoyJTnYj3I/AAAAAAAAAI4/1zwGHbbPQpU/s72-c/subnetting.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-5705083880021290325</id><published>2009-10-29T19:28:00.000+07:00</published><updated>2009-10-29T19:33:56.140+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Dota'/><title type='text'>Download Map DotA Allstars v6.64 AI 0.213</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Changelog:&lt;br /&gt;&lt;br /&gt;6.64 (v0.213)&lt;br /&gt;=============&lt;br /&gt;-First update to 6.64&lt;br /&gt;-Changed the default AI behaviour of creeps and towers to be the same as in the official map&lt;br /&gt;-Fixed the fade on Circles of Protection belonging to other players&lt;br /&gt;-Fixed some numerical errors on Bristleback's abilities&lt;br /&gt;-Added some additional AI ability functionality (Black Hole, Fissure, Epicenter)&lt;br /&gt;&lt;br /&gt;[Mirrors]&lt;br /&gt;&lt;a href="http://www.playdota.com/forums/redirect-to/?redirect=http%3A%2F%2Fwww.mediafire.com%2F%3F1wmmwmmyyj2" target="_blank"&gt;MediaFire&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.playdota.com/forums/redirect-to/?redirect=http%3A%2F%2Fwww.megaupload.com%2F%3Fd%3DV9VX2TOY" target="_blank"&gt;Megaupload&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.playdota.com/forums/redirect-to/?redirect=http%3A%2F%2Frapidshare.com%2Ffiles%2F297656613%2FDotA_Allstars_v6.64_AI_0.213.w3x" target="_blank"&gt;RapidShare&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;First release, updated to 6.62 and 1.24b compliant. Note that this is v0.21, and there will be bugs.&lt;br /&gt;&lt;br /&gt;Some abilities are not working for bots yet (they learn them but don't use them), and this is expected and will be addressed in future versions.&lt;br /&gt;&lt;br /&gt;The following game modes have been disabled for now:&lt;br /&gt;-vr, -rv, -rd, -cd, -cm, -lm, -xl&lt;br /&gt;&lt;br /&gt;The following game commands have been disabled for now:&lt;br /&gt;-afk, -kickafk, -ah, -switch, -fun&lt;br /&gt;&lt;br /&gt;Please report bugs to me.&lt;br /&gt;&lt;br /&gt;Things that are bugs:&lt;br /&gt;-Crashes with reproducible reasons&lt;br /&gt;-Abilities/items not working as expected (for players or bots)&lt;br /&gt;&lt;br /&gt;Things that are not bugs:&lt;br /&gt;-Bots not using certain abilities&lt;br /&gt;-Bots being too strong/weak/cheating. They do that.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://saindra.blogspot.com/2009/10/dota-latest-map-664.html"&gt;&lt;span style="font-size: x-small;"&gt;Show the map DotA 6.64 non AI here&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.playdota.com/forums/attachment.php?attachmentid=6049&amp;amp;d=1256471527"&gt;&lt;span style="font-size: large;"&gt;DOWNLOAD HERE&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-5705083880021290325?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/5705083880021290325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/download-map-dota-allstars-v664-ai-0213.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5705083880021290325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5705083880021290325'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/download-map-dota-allstars-v664-ai-0213.html' title='Download Map DotA Allstars v6.64 AI 0.213'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1502238285952102724</id><published>2009-10-29T14:50:00.001+07:00</published><updated>2009-10-29T19:12:13.555+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>Saying a Value Application In Pascal</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;SOURCE CODE:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program terbilang_rekursi;&lt;br /&gt;&lt;br /&gt;uses&lt;br /&gt;wincrt;&lt;br /&gt;&lt;br /&gt;function Terbilang(x:LongInt):String;&lt;br /&gt;function Bilang(x:LongInt):String;&lt;br /&gt;begin&lt;br /&gt;case x of&lt;br /&gt;0: Bilang := '';&lt;br /&gt;1: Bilang := 'satu';&lt;br /&gt;2: Bilang := 'dua';&lt;br /&gt;3: Bilang := 'tiga';&lt;br /&gt;4: Bilang := 'empat';&lt;br /&gt;5: Bilang := 'lima';&lt;br /&gt;6: Bilang := 'enam';&lt;br /&gt;7: Bilang := 'tujuh';&lt;br /&gt;8: Bilang := 'delapan';&lt;br /&gt;9: Bilang := 'sembilan';&lt;br /&gt;10: Bilang := 'sepuluh';&lt;br /&gt;11: Bilang := 'sebelas';&lt;br /&gt;end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;if x&amp;lt;12 then Terbilang:=' '+Bilang(x) else if x&amp;lt;20 then Terbilang:=Terbilang(x-10)+'belas' else if x&amp;lt;100 then Terbilang:=Terbilang(x div 10)+'puluh'+Terbilang(x mod 10) else if x&amp;lt;200 then Terbilang:='seratus'+Terbilang(x-100) else if x&amp;lt;1000 then Terbilang:=Terbilang(x div 100)+'ratus'+Terbilang(x mod 100) else if x&amp;lt;2000 then Terbilang:='seribu'+Terbilang(x-1000) else if x&amp;lt;1000000 then Terbilang:=Terbilang(x div 1000)+'ribu'+Terbilang(x mod 1000) else if x&amp;lt;1000000000 then Terbilang:=Terbilang(x div 1000000)+'juta'+Terbilang(x mod 1000000) else Terbilang:=Terbilang(x div 1000000000)+'milyar'+Terbilang(x mod 1000000000) end; var i:LongInt; lanjut:Char; begin repeat write('Masukkan data: ');readln(i); Writeln('Terbilang: ',Terbilang(i)); write('Lagi?');readln(lanjut); until(lanjut = 't') or (lanjut = 'T'); end. &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_UEqlv8O399Y/SumGNHLB3PI/AAAAAAAAAIo/bE67F31R8HE/s1600-h/Terbilang.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_UEqlv8O399Y/SumGNHLB3PI/AAAAAAAAAIo/bE67F31R8HE/s320/Terbilang.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1502238285952102724?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1502238285952102724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/saying-value-application-in-pascal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1502238285952102724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1502238285952102724'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/saying-value-application-in-pascal.html' title='Saying a Value Application In Pascal'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UEqlv8O399Y/SumGNHLB3PI/AAAAAAAAAIo/bE67F31R8HE/s72-c/Terbilang.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-2934437012846119</id><published>2009-10-29T14:47:00.000+07:00</published><updated>2009-10-29T19:13:58.496+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>Count Faktorial in Pascal</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Source Code:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program faktorial;&lt;br /&gt;uses&lt;br /&gt;wincrt;&lt;br /&gt;var&lt;br /&gt;i,fak:longint;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function faktorialiterasi(n:longint):longint;&lt;br /&gt;var&lt;br /&gt;f,k:longint;&lt;br /&gt;begin&lt;br /&gt;f:=1;&lt;br /&gt;for k:=1 to n do&lt;br /&gt;f:=f*k;&lt;br /&gt;faktorialiterasi:=f;&lt;br /&gt;end;&lt;br /&gt;procedure faktorialproc(n:longint;var hasil:longint);&lt;br /&gt;var&lt;br /&gt;f,k:longint;&lt;br /&gt;begin&lt;br /&gt;f:=1;&lt;br /&gt;for k:=1 to n do&lt;br /&gt;f:=f*k;&lt;br /&gt;hasil:=f;&lt;br /&gt;end;&lt;br /&gt;function faktorialrekursif(n:longint):longint;&lt;br /&gt;begin&lt;br /&gt;if n=0 then&lt;br /&gt;faktorialrekursif:=1&lt;br /&gt;else&lt;br /&gt;faktorialrekursif:=n*faktorialrekursif(n-1);&lt;br /&gt;end;&lt;br /&gt;procedure faktorialprocrek(n:longint;var hasil:longint);&lt;br /&gt;var&lt;br /&gt;h:longint;&lt;br /&gt;begin&lt;br /&gt;if n=0 then&lt;br /&gt;hasil:=1&lt;br /&gt;else&lt;br /&gt;begin&lt;br /&gt;faktorialprocrek(n-1,h);&lt;br /&gt;hasil:=n*h;&lt;br /&gt;end;&lt;br /&gt;end; &lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;write('masukkan nilai faktorial yang dicari :');readln(i);&lt;br /&gt;writeln;&lt;br /&gt;writeln('nilai faktorial dengan fungsi iterasi', i, '! adalah ',faktorialiterasi(i));&lt;br /&gt;writeln('nilai faktorial dengan fungsi rekursif', i, '! adalah ',faktorialrekursif(i));&lt;br /&gt;faktorialproc(i,fak);&lt;br /&gt;writeln('nilai faktorial dengan prosedur iterasi', i, '! adalah ',fak);&lt;br /&gt;faktorialprocrek(i,fak);&lt;br /&gt;writeln('nilai faktorial dengan prosedur rekursif', i, '! adalah ',fak);&lt;br /&gt;end.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Output:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_UEqlv8O399Y/SulIe9Z_0iI/AAAAAAAAAIY/Hoz996KqZWQ/s1600-h/Faktorial.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_UEqlv8O399Y/SulIe9Z_0iI/AAAAAAAAAIY/Hoz996KqZWQ/s320/Faktorial.JPG" vr="true" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-2934437012846119?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/2934437012846119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/count-faktorial-in-pascal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2934437012846119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2934437012846119'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/count-faktorial-in-pascal.html' title='Count Faktorial in Pascal'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_UEqlv8O399Y/SulIe9Z_0iI/AAAAAAAAAIY/Hoz996KqZWQ/s72-c/Faktorial.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-6352207377942560049</id><published>2009-10-22T12:13:00.000+07:00</published><updated>2009-10-22T12:13:06.052+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>Database : Foreign Key and JOIN Function</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/* Membuat tabel karyawan dengan NIP sebagai PK */&lt;br /&gt;mysql&amp;gt; create table karyawan&lt;br /&gt;-&amp;gt; (NIP int(10) not null Primary Key,&lt;br /&gt;-&amp;gt; Nama varchar(30),&lt;br /&gt;-&amp;gt; JK varchar (2),&lt;br /&gt;-&amp;gt; Kota varchar(30));&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/* Membuat tabel anak dengan NIP sebagai FK bernama NIP juga */&lt;br /&gt;mysql&amp;gt; create table anak&lt;br /&gt;-&amp;gt; (NIP int(10) not null,&lt;br /&gt;-&amp;gt; Nama_anak varchar(30),&lt;br /&gt;-&amp;gt; JK_anak varchar(2),&lt;br /&gt;-&amp;gt; umur int(4),&lt;br /&gt;-&amp;gt; foreign key (NIP) references karyawan (NIP));&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/* Menampilkan hubungan antara tabel karyawan dg tabel anak : nama dg nama_anak */&lt;br /&gt;/* Cara I */&lt;br /&gt;mysql&amp;gt; select karyawan.nama, anak.nama_anak&lt;br /&gt;-&amp;gt; from karyawan, anak&lt;br /&gt;-&amp;gt; where karyawan.nip = anak.nip;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/* Cara II */&lt;br /&gt;mysql&amp;gt; select k.nama, a.nama_anak&lt;br /&gt;-&amp;gt; from karyawan k, anak a&lt;br /&gt;-&amp;gt; where  k.nip=a.nip;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;/* Cara III */&lt;br /&gt;mysql&amp;gt; select k.nama, a.nama_anak&lt;br /&gt;-&amp;gt; from karyawan k left join anak a&lt;br /&gt;-&amp;gt; on k.nip=a.nip;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-6352207377942560049?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/6352207377942560049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/database-foreign-key-and-join-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6352207377942560049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6352207377942560049'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/database-foreign-key-and-join-function.html' title='Database : Foreign Key and JOIN Function'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-4415725885319387806</id><published>2009-10-21T15:39:00.000+07:00</published><updated>2009-10-28T13:44:15.990+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>C Programming : Input, Output, If..Else @SUSE</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;C SOURCE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;//by:saindra&lt;br /&gt;&lt;br /&gt;#include "stdio.h"&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;&lt;br /&gt;int a,b,c,umur,umur_teman;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;PENdeklarasian Variabel&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;a = 5;&lt;br /&gt;b = 10;  &lt;br /&gt;c = 15;&lt;br /&gt;&lt;br /&gt;/* &lt;br /&gt;HELLO WORLD output&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;printf("\n");&lt;br /&gt;printf("Hello World\n");&lt;br /&gt;printf("nama saya Saindra\n");&lt;br /&gt;fprintf(stdout,"Halo dunia lagi\n\n");&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;Input Output  &lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;printf("Masukkan umur anda: ");scanf("%d", &amp;amp;umur);&lt;br /&gt;printf("Umur anda: %d tahun\n\n", umur);&lt;br /&gt;&lt;br /&gt;fprintf(stdout,"Masukkan umur teman anda: ");fscanf(stdin,"%d", &amp;amp;umur_teman);&lt;br /&gt;fprintf(stdout,"Umur anda: %d tahun\n\n", umur_teman);&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;fprintf(stdout) dan fscanf(stdin) digunakan pada output &lt;br /&gt;dan input FILE dan merupakan standar baku&lt;br /&gt;dalam penulisan program di C&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;if(umur&amp;gt;0 &amp;amp;&amp;amp; umur&amp;lt;=20){     &lt;br /&gt;printf("Anda masih muda\n\n");   &lt;br /&gt;} else {     &lt;br /&gt;if (umur&amp;gt;=20 &amp;amp;&amp;amp; umur&amp;lt;=100) {       &lt;br /&gt;printf("Anda sudah dewasa\n\n");     } &lt;br /&gt;else {       &lt;br /&gt;printf("ERROR!\n\n");     &lt;br /&gt;}   &lt;br /&gt;}      &lt;br /&gt;&lt;br /&gt;if(umur_teman&amp;gt;0 &amp;amp;&amp;amp; umur_teman&amp;lt;=20){&lt;br /&gt;printf("Teman anda masih muda\n\n");&lt;br /&gt;} else {&lt;br /&gt;if (umur_teman&amp;gt;=20 &amp;amp;&amp;amp; umur_teman&amp;lt;=100){&lt;br /&gt;printf("Teman anda sudah dewasa\n\n");&lt;br /&gt;} else {&lt;br /&gt;printf("ERROR!\n\n");&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;} &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Compiling : &lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;gcc FileName.c -o EXEFIleName&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;adminmahasiswa@linux-73u9:~/Desktop/Saindra&amp;gt; gcc HelloWorld.c -o HelloWorldEXE&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Output:&amp;nbsp; &lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;./EXEFileName&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;adminmahasiswa@linux-73u9:~/Desktop/Saindra&amp;gt; ./HelloWorldEXE&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Hello World&lt;br /&gt;nama saya Saindra&lt;br /&gt;Halo dunia lagi&lt;br /&gt;&lt;br /&gt;Masukkan umur anda: 17&lt;br /&gt;Umur anda: 17 tahun&lt;br /&gt;&lt;br /&gt;Masukkan umur teman anda: 34&lt;br /&gt;Umur anda: 34 tahun&lt;br /&gt;&lt;br /&gt;Anda masih muda&lt;br /&gt;&lt;br /&gt;Teman anda sudah dewasa&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-4415725885319387806?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/4415725885319387806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/c-programming-input-output-ifelse-suse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4415725885319387806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4415725885319387806'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/c-programming-input-output-ifelse-suse.html' title='C Programming : Input, Output, If..Else @SUSE'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-2596049698244462826</id><published>2009-10-20T12:22:00.000+07:00</published><updated>2009-10-20T15:42:09.608+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Game'/><category scheme='http://www.blogger.com/atom/ns#' term='Dota'/><title type='text'>DOTA Latest Map: 6.64</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="map-desc" height="154" style="width: 316px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="name"&gt;Language:&lt;br /&gt;&lt;/td&gt;                 &lt;td class="val"&gt;English                &lt;br /&gt;&lt;/td&gt;    &lt;/tr&gt;&lt;tr&gt;                 &lt;td class="name"&gt;Date:&lt;br /&gt;&lt;/td&gt;                 &lt;td class="val"&gt;2009-10-13                &lt;br /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td class="name"&gt;MD5:&lt;br /&gt;&lt;/td&gt;                 &lt;td class="val"&gt;0cd942347ba11b73cc36ce87662e0844                &lt;br /&gt;&lt;/td&gt;             &lt;/tr&gt;&lt;tr&gt;                 &lt;td class="name"&gt;Changelog:&lt;br /&gt;&lt;/td&gt;                 &lt;td class="val"&gt;&lt;a href="http://www.playdota.com/changelogs/6.64" style="color: #99ccff;"&gt;View Details&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;              &lt;td class="button" colspan="2"&gt;&lt;a href="http://64.20.55.210/eng/DotA%20Allstars%20v6.64.w3x"&gt;&lt;input onclick="DownloadMap(2);" src="http://static.getdota.com/images/download.jpg" type="image" /&gt; &lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="color: #e69138;"&gt;&lt;i&gt;&lt;b&gt;Click the spoiler below for displaying Map 6.64 ChangeLog&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="margin: 5px;"&gt;&lt;div class="bigfont" style="margin-bottom: 2px;"&gt;&lt;input onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Close'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Open'; }" style="margin: 0px; padding: 0px; width: 60px;" type="button" value="Open" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px inset; margin: 0px; padding: 6px;"&gt;&lt;div style="display: none;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt; &lt;img height="44" src="http://www.playdota.com/img/site/changelogs.png" width="320" /&gt; &lt;/center&gt;       &lt;br /&gt;&lt;img alt="Changelog 6.64" border="0" id="6.64" src="http://www.playdota.com/img/changelogs/1254758032.jpg" /&gt;  &lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/heroes.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/brood.gif" title="Brood" /&gt; &lt;a href="http://www.playdota.com/heroes/broodmother" target="_blank"&gt;Broodmother&lt;/a&gt;&lt;br /&gt;- Spin Web now shows a minimap icon&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/cw.gif" title="Cw" /&gt; &lt;a href="http://www.playdota.com/heroes/clockwerk-goblin" target="_blank"&gt;Clockwerk&lt;/a&gt;&lt;br /&gt;- Armor decreased by 1&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/seer.gif" title="Seer" /&gt; &lt;a href="http://www.playdota.com/heroes/dark-seer" target="_blank"&gt;Dark Seer&lt;/a&gt;&lt;br /&gt;- Ion Shell cast on an already affected unit will replace the old buff instead of stacking&lt;br /&gt;- Wall of Replica damage dealt when affecting an enemy hero increased from 125 to 150&lt;br /&gt;- Wall of Replica image damage increased from 60% to 70%&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/sp.gif" title="Sp" /&gt; &lt;a href="http://www.playdota.com/heroes/shadow-priest" target="_blank"&gt;Dazzle&lt;/a&gt;&lt;br /&gt;- Removed the extra vision on Weave that remains for 12/18/24 seconds. It now only reveals for a couple of seconds during the cast effect.&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/husk.gif" title="Husk" /&gt; &lt;a href="http://www.playdota.com/heroes/sacred-warrior" target="_blank"&gt;Huskar&lt;/a&gt;&lt;br /&gt;- Burning Spears damage rescaled from 6/8/10/12 to 4/8/12/16&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/ta.gif" title="Ta" /&gt; &lt;a href="http://www.playdota.com/heroes/templar-assassin" target="_blank"&gt;Lanaya&lt;/a&gt;&lt;br /&gt;- Psionic Trap now adds to your most recently placed trap to your selection panel as a secondary unit&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/skel.gif" title="Skel" /&gt; &lt;a href="http://www.playdota.com/heroes/skeleton-king" target="_blank"&gt;Leoric&lt;/a&gt;&lt;br /&gt;- Vampiric Aura increased from 5/10/15/20% to 10/16/22/28%&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/sylla.gif" title="Sylla" /&gt; &lt;a href="http://www.playdota.com/heroes/lone-druid" target="_blank"&gt;Lone Druid&lt;/a&gt;&lt;br /&gt;- True Form movement speed decreased by 35&lt;br /&gt;- Hero movement speed increased by 10&lt;br /&gt;- True Form transformation time increased from 1.45 to 2 seconds&lt;br /&gt;- True Form armor increased by 2&lt;br /&gt;- Spirit Bear's leash range reduced from 1500 to 925&lt;br /&gt;- Spirit Bear no longer returns to Syllabear when he attacks out of leash range. Instead the bear will not attack&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/loa.gif" title="Loa" /&gt; &lt;a href="http://www.playdota.com/heroes/lord-of-avernus" target="_blank"&gt;Lord of Avernus&lt;/a&gt;&lt;br /&gt;- Aphotic Shield cast range decreased from 800 to 300&lt;br /&gt;- Death Coil cast range increased from 300 to 800&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/morph.gif" title="Morph" /&gt; &lt;a href="http://www.playdota.com/heroes/morphling" target="_blank"&gt;Morphling&lt;/a&gt;&lt;br /&gt;- Morph Replicate mana cost increased from 0 to 150&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/necro.gif" title="Necro" /&gt; &lt;a href="http://www.playdota.com/heroes/necrolyte" target="_blank"&gt;Necrolyte&lt;/a&gt;&lt;br /&gt;- Strength gain increased from 1.5 to 2.0&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/na.gif" title="Na" /&gt; &lt;a href="http://www.playdota.com/heroes/nerubian-assassin" target="_blank"&gt;Nerubian Assassin&lt;/a&gt;&lt;br /&gt;- Mana Burn can no longer target creeps since it no longer affects them &lt;a href="http://www.playdota.com/forums/42965/targetting-6-63-mana-burn/" target="_blank"&gt;(42965)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/weaver.gif" title="Weaver" /&gt; &lt;a href="http://www.playdota.com/heroes/nerubian-weaver" target="_blank"&gt;Nerubian Weaver&lt;/a&gt;&lt;br /&gt;- Urna Swarm's Scarab's cast mechanism changed. If you cast Infestation while having multiple Scarab selected, only one casts one at a time instead of all of them. &lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/ns.gif" title="Ns" /&gt; &lt;a href="http://www.playdota.com/heroes/night-stalker" target="_blank"&gt;Night Stalker&lt;/a&gt;&lt;br /&gt;- Darkness cooldown reduced from 240/180/125 to 180/150/120&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/od.gif" title="Od" /&gt; &lt;a href="http://www.playdota.com/heroes/obsidian-destroyer" target="_blank"&gt;Obsidian Destroyer&lt;/a&gt;&lt;br /&gt;- Agility increased from 15 + 1.4 -&amp;gt; 24 + 2.0&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/panda.gif" title="Panda" /&gt; &lt;a href="http://www.playdota.com/heroes/pandaren-brewmaster" target="_blank"&gt;Pandaren Brewmaster&lt;/a&gt;&lt;br /&gt;- Primal Split's Fire Panda now has hero damage type&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/pudge.gif" title="Pudge" /&gt; &lt;a href="http://www.playdota.com/heroes/butcher" target="_blank"&gt;Pudge&lt;/a&gt;&lt;br /&gt;- Flesh Heap reworked, it no longer gains strength from creeps. Instead he gains strength (same values as before, 0.9/1.2/1.5/1.8) for any nearby (400 AOE) dying enemy hero. You still get the bonus if the unit dies outside of the aoe if you are the killer.&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/rhasta.gif" title="Rhasta" /&gt; &lt;a href="http://www.playdota.com/heroes/shadow-shaman" target="_blank"&gt;Rhasta&lt;/a&gt;&lt;br /&gt;- Scepter version of Mass Serpent Wards no longer increases ward count. Instead, the damage of the wards is increased to match previous damage output. &lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/storm.gif" title="Storm" /&gt; &lt;a href="http://www.playdota.com/heroes/storm-spirit" target="_blank"&gt;Storm&lt;/a&gt;&lt;br /&gt;- Base Intelligence increased from 23 to 26&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/sven.gif" title="Sven" /&gt; &lt;a href="http://www.playdota.com/heroes/rogue-knight" target="_blank"&gt;Sven&lt;/a&gt;&lt;br /&gt;- Warcry AoE increased from 350 to 450&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/techie.gif" title="Techie" /&gt; &lt;a href="http://www.playdota.com/heroes/goblin-techies" target="_blank"&gt;Techies&lt;/a&gt;&lt;br /&gt;- Remote mine now adds to your most recently placed mine to your selection panel as a secondary unit&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/tide.gif" title="Tide" /&gt; &lt;a href="http://www.playdota.com/heroes/tidehunter" target="_blank"&gt;Tidehunter&lt;/a&gt;&lt;br /&gt;- Kraken Shell reworked, instead of removing buffs in time intervals, buffs are now removed whenever 600 HP is lost from player based damage. The counter is reset whenever you don't take damage for 6 seconds.&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/dirge.gif" title="Dirge" /&gt; &lt;a href="http://www.playdota.com/heroes/undying" target="_blank"&gt;Undying&lt;/a&gt;&lt;br /&gt;- Base strength reduced from 25 to 22&lt;br /&gt;- Intelligence gain reduced from 2.8 to 2.0&lt;br /&gt;- Dying Illusions no longer trigger Plague Aura for regeneration&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/viper.gif" title="Viper" /&gt; &lt;a href="http://www.playdota.com/heroes/netherdrake" target="_blank"&gt;Viper&lt;/a&gt;&lt;br /&gt;- Movement speed decreased by 5&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/heroes/lock.gif" title="Lock" /&gt; &lt;a href="http://www.playdota.com/heroes/warlock" target="_blank"&gt;Warlock&lt;/a&gt;&lt;br /&gt;- Fixed Upheaval from slowing in the AOE around you rather than at the target AOE as it should&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/items.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/SupportiveVestments/BTNArcaneRing.gif" title="ArcaneRing" /&gt; &lt;a href="http://www.playdota.com/items/arcane-ring" target="_blank"&gt;Arcane Ring&lt;/a&gt;&lt;br /&gt;- AoE increased from 400 to 600&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Ancient_Weaponry/BTNUnholyStrength.gif" title="ArmletOfMordiggian" /&gt; &lt;a href="http://www.playdota.com/items/armlet-of-mordiggian" target="_blank"&gt;Armlet of Mordiggian&lt;/a&gt;&lt;br /&gt;- Recipe restored to previous version since there is no more recipe conflict. Requires claw and 900 gold recipe instead of quarter staff and 500 gold recipe&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/LeragasTheVile/BTNFrostMourne.gif" title="DemonEdge" /&gt; &lt;a href="http://www.playdota.com/items/demon-edge" target="_blank"&gt;Demon Edge&lt;/a&gt;&lt;br /&gt;- Damage increased from 36 to 46 &lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Protectorate/BTNHeartOfAszune.gif" title="HeartOfTarrasque" /&gt; &lt;a href="http://www.playdota.com/items/heart-of-tarrasque" target="_blank"&gt;Heart of Tarrasque&lt;/a&gt;&lt;br /&gt;- Bonus strength increased from 35 to 40&lt;br /&gt;- Regeneration disable time reduced from 10 to 8&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/ArcaneSanctum/BTNNecromancerMaster.gif" title="Necronomicon3" /&gt; &lt;a href="http://www.playdota.com/items/necronomicon" target="_blank"&gt;Necronomicon&lt;/a&gt;&lt;br /&gt;- Recipe cost reduced by 50 gold&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Enchanted%20Artifacts/BTNThunderMallet.gif" title="Mjollnir" /&gt; &lt;a href="http://www.playdota.com/items/mjollnir" target="_blank"&gt;Mjollnir&lt;/a&gt;&lt;br /&gt;- Static Charge changed from 45 cooldown to 35&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Gateway%20Relics/BTNPhaseBoots.gif" title="PhaseBoots" /&gt; &lt;a href="http://www.playdota.com/items/phase-boots" target="_blank"&gt;Phase Boots&lt;/a&gt;&lt;br /&gt;- Bonuses and recipe reworked&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Hide" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;Phase Boots:&lt;br /&gt;=============&lt;br /&gt;Boots of Speed (500)&lt;br /&gt;2x Blades of Attack (1000)&lt;br /&gt;Total: 1500&lt;br /&gt;&lt;br /&gt;+70 Movement Speed&lt;br /&gt;+24 Damage&lt;br /&gt;Phase (Active)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Gateway%20Relics/BTNWirtsLeg.gif" title="PowerTreadsStrength" /&gt; &lt;a href="http://www.playdota.com/items/power-treads" target="_blank"&gt;Power Treads&lt;/a&gt;&lt;br /&gt;- Bonuses and recipe reworked&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Hide" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;br /&gt;Power Treads:&lt;br /&gt;==============&lt;br /&gt;Boots of Speed (500)&lt;br /&gt;Boots of Elvenskin or Belt of Giant Strength or Robe of the Magi (450)&lt;br /&gt;Gloves of Haste (500)&lt;br /&gt;Total: 1450&lt;br /&gt;&lt;br /&gt;+60 MS&lt;br /&gt;+10 Any Attribute&lt;br /&gt;+25 IAS&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/ArcaneSanctum/BTNStaffOfSilence.gif" title="OrchidMalevolence" /&gt; &lt;a href="http://www.playdota.com/items/orchid-malevolence" target="_blank"&gt;Orchid Malevolence&lt;/a&gt;&lt;br /&gt;- Increased damage by 5&lt;br /&gt;&lt;br /&gt;&lt;img alt="" border="0" class="inlineimg" src="http://www.playdota.com/forums/assault_fps/smilies/items/Enchanted%20Artifacts/BTNHornOfDoom.gif" title="Satanic" /&gt; &lt;a href="http://www.playdota.com/items/satanic" target="_blank"&gt;Satanic&lt;/a&gt;&lt;br /&gt;- Bonus damage fixed on units that morph&lt;br /&gt;- Cooldown reduced from 50 to 35&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/gameplayandcosmetics.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;* Reworked buyback cost scaling &lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Hide" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;br /&gt;It uses the following formula:&lt;br /&gt;100+Level*Level*1.5+Time*15&lt;br /&gt;&lt;br /&gt;Roughly the same during the early-midgame, but scales higher as the game progresses. &lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;* Lots of ingame scoreboard improvements&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Hide" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;br /&gt;- Removed excess information like game time since it is available above. Condensed some other space.&lt;br /&gt;- Added an allies only column for current gold.&lt;br /&gt;- Added an allies only column for ultimate cooldowns.&lt;br /&gt;- Hero levels are now shown&lt;br /&gt;- Scoreboard title now displays all player respawn times, grouped in allies and enemy sections, so you can easily see how long someone has to revive without expanding the board manually.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;* Slightly increased the regen rate of barracks and towers when they are attacked without nearby creeps/corpses from 40 to 55&lt;br /&gt;&lt;br /&gt;* Added colored teleportation effects (allied only) at the target destination to match your player color &lt;a href="http://www.playdota.com/forums/5153/implemented-cosmetic-colored-teleport-animations" target="_blank"&gt;(infrisios,5153)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;* Added a new command -ii (-iteminfo) that displays allied hero items in the scoreboard&lt;br /&gt;&lt;br /&gt;* Added a new Forked Lighting Icon, Name (Ether Shock) and visual effect &lt;a href="http://www.playdota.com/forums/16523/implemented-icon-animation-forked-lightning-updated/" target="_blank"&gt;(16523)&lt;/a&gt;&lt;br /&gt;* Changed Vengeful Spirit sound set &lt;a href="http://www.playdota.com/forums/13425/voiceset-vengeful-spirit" target="_blank"&gt;(13425)&lt;/a&gt;&lt;br /&gt;* Changed Void's Time Lock visual effect &lt;a href="http://www.playdota.com/forums/5793/implemented-cosmetics-time-lock-new-sfx/" target="_blank"&gt;(5793)&lt;/a&gt;&lt;br /&gt;* Items that get disabled with damage (Heart &amp;amp; Dagger) are no longer affected by self damage. Roshan damage now disables them.&lt;br /&gt;&lt;br /&gt;* Added a new test command "-killwards" to remove all observer and sentry wards on the map&lt;br /&gt;* Added a new Eyes in the Forest icon (&lt;a href="http://www.playdota.com/forums/46851-page5/implemented-icon-eyes-forest/" target="_blank"&gt;46851&lt;/a&gt;)&lt;br /&gt;* Added a visual effect for Kraken Shell when buffs are removed&lt;br /&gt;* Added color change visual for Morphling's model based on the ratio of agility to strength&lt;br /&gt;* Added buyback message for observers&lt;br /&gt;* New replay data available&lt;br /&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;&lt;div style="margin: 5px 20px 20px;"&gt;&lt;input class="button" onclick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Hide'; for (i=0;i&amp;lt;this.parentNode.parentNode.getElementsByTagName('img').length;i++) { NcodeImageResizer.createOn(this.parentNode.parentNode.getElementsByTagName('img')[i]); } } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show';}" style="font-size: 10px; margin: 0px; padding: 0px; width: 45px;" type="button" value="Hide" /&gt; &lt;br /&gt;&lt;/div&gt;&lt;div class="alt2" style="border: 1px solid rgb(51, 102, 153); margin: 0px; padding: 6px;"&gt;&lt;div style="margin: 0px; padding: 0px;"&gt;Roshan Death: "Roshan",0/1&lt;br /&gt;Aegis Received: "AegisOn", PlayerID&lt;br /&gt;Aegis Dropped: "AegisOff", PlayerID&lt;br /&gt;Game Mode: "Mode"+String,HostPlayerID&lt;br /&gt;Hero Levelup: "Level"+Level,PlayerID&lt;br /&gt;Rune Store: "RuneStore"+RuneID, PlayerID. RuneID=1/2/3/4/5 &lt;br /&gt;Rune Use: "RuneUse"+RuneID, PlayerID. RuneID=1/2/3/4/5 (Haste/Regen/DD/Illusion/Invis)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img alt="" border="0" class="tcattdimgresizer" onload="NcodeImageResizer.createOn(this);" src="http://www.playdota.com/img/changelogs/categories/bugs.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;* Fixed bug that prevented Open Wounds from working properly on non-hero units. It can now target regular units.&lt;br /&gt;* Fixed Linken Sphere to properly block Nerubian Assassin's Mana Burn&lt;br /&gt;* Courier's Deliver Items ability now properly exits its logic if you interrupt the courier with a different order (shield and burst don't count)&lt;br /&gt;* Fixed Mjollnir's Static Charge being stackable&lt;br /&gt;* Fixed Proximity Mines not triggering automatically on Scourge Towers like they do on the Sentinel ones&lt;br /&gt;* Fixed a bug with disassembling Mjollnir not giving the recipe &lt;br /&gt;* Fixed Enchant from being able to take over Primal Split units&lt;br /&gt;* Fixed a bug with HCL mode where the game mode could be duplicated resulting in various other weird bugs&lt;br /&gt;* Fixed various typos&lt;br /&gt;* Fixed missing cooldown tooltip to neutral creep Tornado ability&lt;br /&gt;* Fixed Glyph from affecting Tombstone  &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-2596049698244462826?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/2596049698244462826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/dota-latest-map-664.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2596049698244462826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2596049698244462826'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/dota-latest-map-664.html' title='DOTA Latest Map: 6.64'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-3205988630866309448</id><published>2009-10-15T13:16:00.001+07:00</published><updated>2009-10-16T14:53:49.891+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: INDEXES</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Indexes in databases are very similar to indexes in libraries. Indexes allow locating information within a database fast, much like they do in libraries. If all books in a library are indexed alphabetically then you don’t need to browse the whole library to find particular book. Instead you’ll simply get the first letter from the book title and you’ll find this letter’s section in the library starting your search from there, which will narrow down your search significantly.&lt;br /&gt;&lt;br /&gt;An Index can be created on a single column or a combination of columns in a database table. A table index is a database structure that arranges the values of one or more columns in a database table in specific order. The table index has pointers to the values stored in specified column or combination of columns of the table. These pointers are ordered depending on the sort order specified in the index.&lt;br /&gt;&lt;br /&gt;Here is how to use CREATE INDEX SQL statement to create an index on column Model in the Product table, called idxModel:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;CREATE INDEX idxModel&lt;br /&gt;ON Product (Model)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The syntax for creating indexes varies greatly amongst different RDBMS, that’s why we will not discuss this matter further.&lt;br /&gt;&lt;br /&gt;There are some general rules which describe when to use indexes. When dealing with relatively small tables, indexes do not improve performance. In general indexes improve performance when they are created on fields used in table joins. Use indexes when most of your database queries retrieve relatively small datasets, because if your queries retrieve most of the data most of the time, the indexes will actually slow the data retrieval. Use indexes for columns that have many different values (there are not many repeated values within the column). Although indexes improve search performance, they slow the updates, and this might be something worth considering.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-3205988630866309448?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/3205988630866309448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-indexes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3205988630866309448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3205988630866309448'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-indexes.html' title='SQL Query: INDEXES'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-9062849981281311197</id><published>2009-10-15T13:15:00.002+07:00</published><updated>2009-10-15T13:15:50.996+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: VIEWS</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;A SQL View is a virtual table, which is based on SQL SELECT query. Essentially a view is very close to a real database table (it has columns and rows just like a regular table), except for the fact that the real tables store data, while the views don’t. The view’s data is generated dynamically when the view is referenced. A view references one or more existing database tables or other views. In effect every view is a filter of the table data referenced in it and this filter can restrict both the columns and the rows of the referenced tables.&lt;br /&gt;&lt;br /&gt;Here is an example of how to create a SQL view using already familiar Product and Manufacturer SQL tables:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;CREATE VIEW vwAveragePrice AS&lt;br /&gt;SELECT Manufacturer, ManufacturerWebsite, ManufacturerEmail, AVG(Price) AS AvgPrice&lt;br /&gt;FROM Manufacturer JOIN Product&lt;br /&gt;ON Manufacturer.ManufacturerID = Product.ManufacturerID&lt;br /&gt;GROUP BY Manufacturer, ManufacturerWebsite, ManufacturerEmail&lt;/div&gt;&lt;br /&gt;A view can be referenced and used from another view, from a SQL query, and from stored procedure. You reference a view as you would reference any real SQL database table:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT * FROM vwAveragePrice&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-9062849981281311197?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/9062849981281311197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-views.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/9062849981281311197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/9062849981281311197'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-views.html' title='SQL Query: VIEWS'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7999990445940517545</id><published>2009-10-15T13:15:00.000+07:00</published><updated>2009-10-15T13:15:00.252+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: CREATE DATABASE, CREATE TABLE, and ALTER TABLE</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The CREATE DATABASE statement is used to create a new SQL database and has the following syntax:&lt;br /&gt;&lt;br /&gt;CREATE DATABASE DatabaseName&lt;br /&gt;&lt;br /&gt;The CREATE DATABASE implementation and syntax varies substantially between different RDBMS implementations.&lt;br /&gt;&lt;br /&gt;The CREATE TABLE statement is used to create a new database table. Here is how a simple CREATE TABLE statement looks like:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;CREATE TABLE TableName &lt;br /&gt;(&lt;br /&gt;Column1 DataType,&lt;br /&gt;Column2 DataType,&lt;br /&gt;Column3 DataType,&lt;br /&gt;….&lt;br /&gt;&lt;br /&gt;)&lt;/div&gt;&lt;br /&gt;The DataType specified after each column name is a placeholder fro the real data type of the column.&lt;br /&gt;&lt;br /&gt;The following CREATE TABLE statement creates the Users table we used in one of the first chapters:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;CREATE TABLE Users&lt;br /&gt;(&lt;br /&gt;FirstName CHAR(100),&lt;br /&gt;LastName CHAR(100),&lt;br /&gt;DateOfBirth DATE&lt;br /&gt;)&lt;/div&gt;&lt;br /&gt;The CREATE TABLE statement above creates a table with 3 columns – FirstName of type CHAR with length of 100 characters, LastName of type CHAR with length of 100 characters and DateOfBirth of type DATE.&lt;br /&gt;&lt;br /&gt;The ALTER TABLE statement is used to change a table definition by adding, modifying or dropping columns. Below you can see the syntax of an ALTER TABLE statement, which adds a new column to the table:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;ALTER TABLE TableName &lt;br /&gt;ADD ColumnName DataType&lt;/div&gt;&lt;br /&gt;If we want to delete the newly added ColumnName column we can do it with the following ALTER TABLE statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;ALTER TABLE TableName &lt;br /&gt;DROP ColumnName&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7999990445940517545?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7999990445940517545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-create-database-create-table.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7999990445940517545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7999990445940517545'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-create-database-create-table.html' title='SQL Query: CREATE DATABASE, CREATE TABLE, and ALTER TABLE'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-5089747021742110476</id><published>2009-10-15T13:14:00.000+07:00</published><updated>2009-10-15T13:14:06.983+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: Nested Queries</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;A SQL nested query is a SELECT query that is nested inside a SELECT, UPDATE, INSERT, or DELETE SQL query. Here is a simple example of SQL nested query:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT Model FROM Product&lt;br /&gt;WHERE ManufacturerID IN (SELECT ManufacturerID FROM Manufacturer &lt;br /&gt;WHERE Manufacturer = 'Dell')&lt;/div&gt;&lt;br /&gt;The nested query above will select all models from the Product table manufactured by Dell:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;Model&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron B120&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron B130&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron E1705&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You can have more than one level of nesting in one single query. &lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-5089747021742110476?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/5089747021742110476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-nested-queries.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5089747021742110476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5089747021742110476'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-nested-queries.html' title='SQL Query: Nested Queries'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1585883095101160108</id><published>2009-10-15T13:13:00.000+07:00</published><updated>2009-10-15T13:13:22.521+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: UNION</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The SQL UNION is used to combine the results of two or more SELECT SQL statements into a single result. All the statements concatenated with UNION must have the same structure. This means that they need to have the same number of columns, and corresponding columns must have the same or compatible data types (implicitly convertible to the same type or explicitly converted to the same type). The columns in each SELECT statement must be in exactly the same order too.&lt;br /&gt;&lt;br /&gt;This is how a simple UNION statement looks like:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT Column1, Column2 FROM Table1&lt;br /&gt;UNION&lt;br /&gt;SELECT Column1, Column2 FROM Table2&lt;/div&gt;&lt;br /&gt;The column names in the result of a UNION are always the same as the column names in the first SELECT statement in the UNION.&lt;br /&gt;&lt;br /&gt;The UNION operator removes by default duplicate rows from the result set. You have the option to use the ALL keyword after the UNION keyword, which will force all rows including duplicates to be returned in your result set.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1585883095101160108?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1585883095101160108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-union.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1585883095101160108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1585883095101160108'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-union.html' title='SQL Query: UNION'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-3542026582342662054</id><published>2009-10-15T13:12:00.001+07:00</published><updated>2009-10-15T13:12:24.150+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: JOIN</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;In all SQL examples so far we’ve selected data from a single table. In the previous chapter we learned how the concepts of Primary Key and Foreign Key, and how database table relate to one another. Using that knowledge we can move forward and learn how to select data from more than one table in one SQL statement. &lt;br /&gt;&lt;br /&gt;The SQL JOIN clause is used to retrieve data from 2 or more tables joined by common fields. The most common scenario is a primary key from one of the tables matches a foreign key in second table. We will use the 2 related tables Product and Manufacturer from the previous chapter, to illustrate how to use JOIN. Consider the SQL JOIN statement below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT Manufacturer, ManufacturerWebsite, ManufacturerEmail, AVG(Price) AS AvgPrice&lt;br /&gt;FROM Manufacturer JOIN Product&lt;br /&gt;ON Manufacturer.ManufacturerID = Product.ManufacturerID&lt;br /&gt;GROUP BY Manufacturer, ManufacturerWebsite, ManufacturerEmail&lt;/div&gt;&lt;br /&gt;The first obvious thing about this SQL statement is that it contains columns from 2 different tables in the SELECT column list. Then the FROM clause is followed by a JOIN clause. The JOIN clause has 2 parts, the first one stating the tables we are joining:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;Manufacturer JOIN Product&lt;/div&gt;&lt;br /&gt;And the second part, which specifies which columns we are joining on:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;ON Manufacturer.ManufacturerID = Product.ManufacturerID&lt;/div&gt;&lt;br /&gt;Because the Price column is a parameter for the AVG function in our SQL statement, we need to use GROUP BY clause for the rest of the columns in the SELECT list.&lt;br /&gt;As you might already have guessed our SQL statement selects a list of all manufacturers and the average price of their product. The result will look like this:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;Manufacturer&lt;/td&gt;&lt;td&gt;ManufacturerWebsite&lt;/td&gt;&lt;td&gt;ManufacturerEmail&lt;/td&gt;&lt;td&gt;AvgPrice&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dell&lt;/td&gt;&lt;td&gt;http://www.dell.com&lt;/td&gt;&lt;td&gt;support@dell.com&lt;/td&gt;&lt;td&gt;$682.33&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Toshiba&lt;/td&gt;&lt;td&gt;http://www.toshiba.com&lt;/td&gt;&lt;td&gt;support@toshiba.com&lt;/td&gt;&lt;td&gt;$741.50&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You can specify the JOIN condition in the WHERE clause instead of the FROM clause, without using the JOIN keyword like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT Manufacturer, ManufacturerWebsite, ManufacturerEmail, AVG(Price) AS AvgPrice&lt;br /&gt;FROM Manufacturer, Product&lt;br /&gt;WHERE Manufacturer.ManufacturerID = Product.ManufacturerID&lt;br /&gt;GROUP BY Manufacturer, ManufacturerWebsite, ManufacturerEmail&lt;/div&gt;&lt;br /&gt;It’s a better programming practice to specify your JOIN conditions in the FROM clause.&lt;br /&gt;When joining tables you’ll have to make sure that there is no ambiguity in the column names. In our example both Manufacturer and Product tables have a column named ManufacturerID, that’s why we prefixed this columns name with the respective table name concatenated with dot. Another thing worth mentioning in our example is the following part of the SQL statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;AVG(Price) AS AvgPrice&lt;/div&gt;&lt;br /&gt;Because the column produced by the AVG function doesn’t have its own name we made up a name for it – AvgPrice. If we put this in SQL terms – we created an alias for the new column.&lt;br /&gt;&lt;br /&gt;There are 2 main types of SQL JOINS – INNER JOINS and OUTER JOINS. In our example we didn’t specify what type was the JOIN, and by doing that we used INNER JOIN by default. The INNER JOIN and JOIN clauses are interchangeable in general (Keep in mind that different RDBMS have different syntax for their JOIN clause). &lt;br /&gt;&lt;br /&gt;The INNER JOIN clause will retrieve all rows from both tables as long as there is a match between the columns we are joining on. If we add a new manufacturer to our Manufacturer table, but we don’t add any products for it in the Product table, and we run our JOIN statement from above, the result will be the same as it was before adding the new manufacturer. This simply happens because we don’t have a match for this new manufacturer in the Product table, and because we are using INNER JOIN, which returns only the matching rows. The final result is that this manufacturer with products doesn’t appear in the retrieved data.&lt;br /&gt;&lt;br /&gt;Wait you say, what if I want to get the list of all manufacturers no matter if they have any products listed in the Product table? How can I do that? The answer is – use OUTER JOIN.&lt;br /&gt;&lt;br /&gt;OUTER JOIN clause returns all rows from at least one of the joined tables, granted that these rows meet the search conditions specified in the WHERE and HAVING clause (if any). &lt;br /&gt;&lt;br /&gt;In order to get all manufacturers and their average product price, without worrying that some of the manufacturers do not have any products listed yet, we will use the following OUTER JOIN SQL statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT Manufacturer, ManufacturerWebsite, ManufacturerEmail, AVG(Price) AS AvgPrice&lt;br /&gt;FROM Manufacturer LEFT OUTER JOIN Product&lt;br /&gt;ON Manufacturer.ManufacturerID = Product.ManufacturerID&lt;br /&gt;GROUP BY Manufacturer, ManufacturerWebsite, ManufacturerEmail&lt;/div&gt;&lt;br /&gt;The only difference in our new statement is that we added the keywords LEFT OUTER in front of the JOIN keyword. The SQL OUTER JOIN has 2 sub-types called LEFT OUTER JOIN (or simply LEFT JOIN) and RIGHT OUTER JOIN (or simply RIGHT JOIN). When we use LEFT OUTER JOIN clause we indicate that we want to get all rows from the left table listed in our FROM clause (we will also called it the first table), even if they don’t have a match in the right (second) table. &lt;br /&gt;&lt;br /&gt;What values will be returned for the columns selected from the second table, which do not have a match, you may ask? If we relate this question to our example it will sound like this: What average product price will our SQL query return for all manufacturers, which don’t have any products in the Product table? The answer is simple – NULL.&lt;br /&gt;&lt;br /&gt;The result of our LEFT OUTER JOIN query will be the following if we added Sony to the Manufacturer table, but we didn’t add any Sony products to the Product table:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;Manufacturer&lt;/td&gt;&lt;td&gt;ManufacturerWebsite&lt;/td&gt;&lt;td&gt;ManufacturerEmail&lt;/td&gt;&lt;td&gt;AvgPrice&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Dell&lt;/td&gt;&lt;td&gt;http://www.dell.com&lt;/td&gt;&lt;td&gt;support@dell.com&lt;/td&gt;&lt;td&gt;$682.33&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Toshiba&lt;/td&gt;&lt;td&gt;http://www.toshiba.com&lt;/td&gt;&lt;td&gt;support@toshiba.com&lt;/td&gt;&lt;td&gt;$741.50&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sony&lt;/td&gt;&lt;td&gt;http://www.sony.com&lt;/td&gt;&lt;td&gt;support@sony.com&lt;/td&gt;&lt;td&gt;NULL&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The RIGHT OUTER JOIN or simply RIGHT JOIN does exactly the opposite the LEFT JOIN does. The RIGHT OUTER JOIN gets all rows from the right (second) table listed in our FROM clause, even if they don’t have a match in the left (first) table and returns NULL values for the columns from the left table we don’t have match for.&lt;br /&gt;&lt;br /&gt;Finally a table can be joined to itself, and to accomplish that you need to give the table 2 different aliases in the FROM clause.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-3542026582342662054?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/3542026582342662054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-join.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3542026582342662054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3542026582342662054'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-join.html' title='SQL Query: JOIN'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1755591797196104362</id><published>2009-10-15T13:11:00.001+07:00</published><updated>2009-10-15T13:11:29.220+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: Table Relations, Primary and Foreign Keys, and Normalization</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;So far in all SQL examples we had we were dealing with a single table. The truth is that in real life when dealing with databases you’ll have to work with many tables, which are interrelated. The true power of the Relational Database Management Systems is the fact that they are Relational. &lt;br /&gt;&lt;br /&gt;The relationships in a RDBMS ensure that there is no redundant data. What is redundant data, you might ask? I’ll answer you with example. An online store, offers computers for sale and the easiest way to track the sales will be to keep them in a database. You can have a table called Product, which will hold information about each computer - model name, price and the manufacturer. You also need to keep some details about the manufacturer like their website and their support email. If you store the manufacturer details in the Product table, you will have the manufacturer contact info repeated for each computer model the manufacturer produces:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;Price&lt;/td&gt;&lt;td&gt;Manufacturer&lt;/td&gt;&lt;td&gt;ManufacturerWebsite&lt;/td&gt;&lt;td&gt;ManufacturerEmail&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron B120&lt;/td&gt;&lt;td&gt;$499&lt;/td&gt;&lt;td&gt;Dell&lt;/td&gt;&lt;td&gt;http://www.dell.com&lt;/td&gt;&lt;td&gt;support@dell.com&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron B130&lt;/td&gt;&lt;td&gt;$599&lt;/td&gt;&lt;td&gt;Dell&lt;/td&gt;&lt;td&gt;http://www.dell.com&lt;/td&gt;&lt;td&gt;support@dell.com&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron E1705&lt;/td&gt;&lt;td&gt;$949&lt;/td&gt;&lt;td&gt;Dell&lt;/td&gt;&lt;td&gt;http://www.dell.com&lt;/td&gt;&lt;td&gt;support@dell.com&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Satellite A100&lt;/td&gt;&lt;td&gt;$549&lt;/td&gt;&lt;td&gt;Toshiba&lt;/td&gt;&lt;td&gt;http://www.toshiba.com&lt;/td&gt;&lt;td&gt;support@toshiba.com&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Satellite P100&lt;/td&gt;&lt;td&gt;$934&lt;/td&gt;&lt;td&gt;Toshiba&lt;/td&gt;&lt;td&gt;http://www.toshiba.com&lt;/td&gt;&lt;td&gt;support@toshiba.com&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;To get rid of the redundant manufacturer data in the Product table, we can create a new table called Manufacturer, which will have only one entry (row) for each manufacturer and we can link (relate) this table to the Product table. To create this relation we need to add additional column in the Product table that references the entries in the Manufacturer table. &lt;br /&gt;&lt;br /&gt;A relationship between 2 tables is established when the data in one of the columns in the first table matches the data in a column in the second table. To explain this further we have to understand SQL relational concepts – Primary Key and Foreign Key. Primary Key is a column or a combination of columns that uniquely identifies each row in a table. &lt;br /&gt;Foreign Key is a column or a combination of columns whose values match a Primary Key in a different table. In the most common scenario the relationship between 2 tables matches the Primary Key in one of the tables with a Foreign Key in the second table. Consider the new Product and Manufacturer tables below:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Manufacturer&lt;/b&gt; &lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;ManufacturerID&lt;/td&gt;&lt;td&gt;Manufacturer&lt;/td&gt;&lt;td&gt;ManufacturerWebsite&lt;/td&gt;&lt;td&gt;ManufacturerEmail&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;Dell&lt;/td&gt;&lt;td&gt;http://www.dell.com&lt;/td&gt;&lt;td&gt;support@dell.com&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Toshiba&lt;/td&gt;&lt;td&gt;http://www.toshiba.com&lt;/td&gt;&lt;td&gt;support@toshiba.com&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;Product&lt;/b&gt; &lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;Price&lt;/td&gt;&lt;td&gt;ManufacturerID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron B120&lt;/td&gt;&lt;td&gt;$499&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron B130&lt;/td&gt;&lt;td&gt;$599&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron E1705&lt;/td&gt;&lt;td&gt;$949&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Satellite A100&lt;/td&gt;&lt;td&gt;$549&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Satellite P100&lt;/td&gt;&lt;td&gt;$934&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The first table is Manufacturer which has 2 entries for Dell and Toshiba respectively. Each of these entries has a ManufacturerID value, which is unique integer number. Because the ManufacturerID column is unique for the Manufacturer table we can use it as a Primary Key in this table. The Product table retains the Model and the Price columns, but has a new column called ManufacturerID, which matches the values of the ManufacturerID column in the Manufacturer table. All values in the ManufacturerID column in the Product table have to match one of the values in the Manufacturer table Primary Key (for example you can’t have ManufacturerID with value of 3 in the Product table, simply because there is no manufacturer with this ManufacturerID defined in the Manufacturer table).&lt;br /&gt;&lt;br /&gt;I’m sure you’ve noticed that we used the same name for the Primary Key in the first table as for the Foreign Key in the second. This was done on purpose to show the relationship between the 2 tables based on these columns. Of course you can call the 2 columns with different names, but if somebody sees your database for a first time it won’t be immediately clear that these 2 tables are related.&lt;br /&gt;&lt;br /&gt;But how do we ensure that the Product table doesn’t have invalid entries like the last entry below:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;model&lt;/td&gt;&lt;td&gt;Price&lt;/td&gt;&lt;td&gt;ManufacturerID&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron B120&lt;/td&gt;&lt;td&gt;$499&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron B130&lt;/td&gt;&lt;td&gt;$599&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Inspiron E1705&lt;/td&gt;&lt;td&gt;$949&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Satellite A100&lt;/td&gt;&lt;td&gt;$549&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Satellite P100&lt;/td&gt;&lt;td&gt;$934&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ThinkPad Z60t&lt;/td&gt;&lt;td&gt;$849&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;We do not have a manufacturer with ManufacturerID of 3 in our Manufacturer table, hence this entry in the Product table is invalid. The answer is that you have to enforce referential integrity between the 2 tables. Different RDBMS have different ways to enforce referential integrity, and I will not go into more details as this is not important to understand the concept of relationship between tables.&lt;br /&gt;&lt;br /&gt;There are 3 types of relations between tables – One-To-Many, Many-To-Many and One-To-One. The relation we created above is One-To-Many and is the most common of the 3 types. In One-To-Many relation a row in one of the tables can have many matching rows in the second table, but a row the second table can match only one row in the first table. &lt;br /&gt;&lt;br /&gt;In our example, each manufacturer (a row in the Manufacturer table) produces several different computer models (several rows in the Product table), but each particular product (a row in the Product table) has only one manufacturer (a row in the Manufacturer table).&lt;br /&gt;&lt;br /&gt;The second type is the Many-To-Many relation. In this relation many rows from the first table can match many rows in the second and the other way around. To define this type of relation you need a third table whose primary key is composed of the 2 foreign keys from the other 2 table. To clarify this relation lets review the following example. We have a Article table (ArticleID is primary key) and Category (CategoryID is primary key) table.&lt;br /&gt;Every article published in the Article table can belong to multiple categories. To accommodate that, we create a new table called ArticleCategory, which has only 2 columns – ArticleID and CategoryID (these 2 columns form the primary key for this table). This new table called sometimes junction table defines the Many-To-Many relationship between the 2 main tables. One article can belong to multiple categories, and every category may contain more than one article.&lt;br /&gt;&lt;br /&gt;In the One-To-One relation each row in the first table may match only one row in the second and the other way around. This relationship is very uncommon simply because if you have this type of relation you may as well keep all the info in one single table.&lt;br /&gt;&lt;br /&gt;By dividing the data into 2 tables we successfully removed the redundant manufacturer details from the initial Product table adding an integer column referencing the new Manufacturer table instead. &lt;br /&gt;&lt;br /&gt;The process of removing redundant data by creating relations between tables is known as Normalization. Normalization process uses formal methods to design the database in interrelated tables.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1755591797196104362?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1755591797196104362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-table-relations-primary-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1755591797196104362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1755591797196104362'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-table-relations-primary-and.html' title='SQL Query: Table Relations, Primary and Foreign Keys, and Normalization'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-6582474337428064254</id><published>2009-10-15T13:10:00.000+07:00</published><updated>2009-10-15T13:10:27.511+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: HAVING</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The SQL HAVING clause is used in conjunction with the SELECT clause to specify a search condition for a group or aggregate. The HAVING clause behaves like the WHERE clause, but is applicable to groups - the rows in the result set representing groups. In contrast the WHERE clause is applied to individual rows, not to groups.&lt;br /&gt;&lt;br /&gt;To clarify how exactly HAVING works, we’ll use the Sales table:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;OrderID&lt;/td&gt;&lt;td&gt;OrderDate&lt;/td&gt;&lt;td&gt;OrderPrice&lt;/td&gt;&lt;td&gt;OrderQuantity&lt;/td&gt;&lt;td&gt;CustomerName&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;12/22/2005&lt;/td&gt;&lt;td&gt;160&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;08/10/2005&lt;/td&gt;&lt;td&gt;190&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Johnson&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;07/13/2005&lt;/td&gt;&lt;td&gt;500&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;Baldwin&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;07/15/2005&lt;/td&gt;&lt;td&gt;420&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;12/22/2005&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Wood&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;10/2/2005&lt;/td&gt;&lt;td&gt;820&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;11/03/2005&lt;/td&gt;&lt;td&gt;2000&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Baldwin&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;In the previous chapter we retrieved a list with all customers along with the total amount each customer has spent respectively and we use the following statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT CustomerName, SUM(OrderPrice) FROM Sales&lt;br /&gt;GROUP BY CustomerName&lt;/div&gt;&lt;br /&gt;This time we want to select all unique customers, who have spent more than 1200 in our store. To accomplish that we’ll modify the SQL statement above adding the HAVING clause at the end of it:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT CustomerName, SUM(OrderPrice) FROM Sales&lt;br /&gt;GROUP BY CustomerName&lt;br /&gt;HAVING SUM(OrderPrice) &amp;gt; 1200&lt;/div&gt;&lt;br /&gt;The result of the SELECT query after we added the HAVING search condition is below:&lt;br /&gt;&lt;br /&gt;CustomerName OrderPrice&lt;br /&gt;Baldwin 2500&lt;br /&gt;Smith 1400&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;CustomerName&lt;/td&gt;&lt;td&gt;OrderPrice&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Baldwin&lt;/td&gt;&lt;td&gt;2500&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;1400&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Another useful example of the HAVING clause, will be if we want to select all customers that have ordered more than 5 items in total from all their orders. OUR HAVING statement will look like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT CustomerName, SUM(OrderQuantity) FROM Sales&lt;br /&gt;GROUP BY CustomerName&lt;br /&gt;HAVING SUM(OrderQuantity) &amp;gt; 5&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;You can have both WHERE and HAVING in one SELECT statement. For example you want to select all customers who have spent more than 1000, after 10/01/2005. The SQL statement including both HAVING and WHERE clauses will look like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT CustomerName, SUM(OrderPrice) FROM Sales&lt;br /&gt;WHERE OrderDate &amp;gt; ‘10/01/2005’&lt;br /&gt;GROUP BY CustomerName&lt;br /&gt;HAVING SUM(OrderPrice) &amp;gt; 1000&lt;/div&gt;&lt;br /&gt;Here is something very important to keep in mind. The WHERE clause search condition is applied to each individual row in the Sales table. After that the HAVING clause is applied on the rows in the final result, which are a product of the grouping. The important thing to remember is that the grouping is done only on the rows that satisfied the WHERE clause condition.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-6582474337428064254?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/6582474337428064254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-having.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6582474337428064254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6582474337428064254'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-having.html' title='SQL Query: HAVING'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-3310524853698626138</id><published>2009-10-15T13:05:00.000+07:00</published><updated>2009-10-15T13:05:38.230+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: GROUP BY</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The SQL GROUP BY statement is used together with the SQL aggregate functions to group the retrieved data by one or more columns. The GROUP BY concept is one of the most complicated concepts for people new to the SQL language and the easiest way to understand it, is by example. &lt;br /&gt;&lt;br /&gt;We want to retrieve a list with unique customers from our Sales table, and at the same time to get the total amount each customer has spent in our store.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;OrderID&lt;/td&gt;&lt;td&gt;OrderDate&lt;/td&gt;&lt;td&gt;OrderPrice&lt;/td&gt;&lt;td&gt;OrderQuantity&lt;/td&gt;&lt;td&gt;CustomerName&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;12/22/2005&lt;/td&gt;&lt;td&gt;160&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;08/10/2005&lt;/td&gt;&lt;td&gt;190&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Johnson&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;07/13/2005&lt;/td&gt;&lt;td&gt;500&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;Baldwin&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;07/15/2005&lt;/td&gt;&lt;td&gt;420&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;12/22/2005&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Wood&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;10/2/2005&lt;/td&gt;&lt;td&gt;820&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;11/03/2005&lt;/td&gt;&lt;td&gt;2000&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Baldwin&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You already know how to retrieve a list with unique customer using the DISTINCT keyword:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT DISTINCT CustomerName FROM Sales&lt;/div&gt;&lt;br /&gt;The SQL statement above works just fine, but it doesn’t return the total amount of money spent for each of the customers. In order to accomplish that we will use both SUM SQL function and the GROUP BY clause:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT CustomerName, SUM(OrderPrice) FROM Sales&lt;br /&gt;GROUP BY CustomerName&lt;/div&gt;&lt;br /&gt;We have 2 columns specified in our SELECT list – CustomerName and SUM(OrderPrice). The problem is that SUM(OrderPrice), returns a single value, while we have many customers in our Sales table. The GROUP BY clause comes to the rescue, specifying that the SUM function has to be executed for each unique CustomerName value. In this case the GROUP BY clause acts similar to DISTINCT statement, but for the purpose of using it along with SQL aggregate functions. The result set retrieved from the statement above will look like this&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;CustomerName&lt;/td&gt;&lt;td&gt;OrderPrice&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Baldwin&lt;/td&gt;&lt;td&gt;2500&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Johnson&lt;/td&gt;&lt;td&gt;190&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;1400&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Wood&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;You do grouping using GROUP BY by more than one column, for example:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT CustomerName, OrderDate, SUM(OrderPrice) FROM Sales&lt;br /&gt;GROUP BY CustomerName, OrderDate&lt;/div&gt;&lt;br /&gt;When grouping, keep in mind that all columns that appear in your SELECT column list, that are not aggregated (used along with one of the SQL aggregate functions), have to appear in the GROUP BY clause too.&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-3310524853698626138?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/3310524853698626138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-group-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3310524853698626138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3310524853698626138'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-group-by.html' title='SQL Query: GROUP BY'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7776883088856119935</id><published>2009-10-15T13:01:00.001+07:00</published><updated>2009-10-15T13:01:44.319+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: AGGREGATE FUNCTION</title><content type='html'>&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;SQL Aggregate functions return a single value, using values in a table column. In this chapter we are going to introduce a new table called Sales, which will have the following columns and data:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;OrderID&lt;/td&gt;&lt;td&gt;OrderDate&lt;/td&gt;&lt;td&gt;OrderPrice&lt;/td&gt;&lt;td&gt;OrderQuantity&lt;/td&gt;&lt;td&gt;CustomerName&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;12/22/2005&lt;/td&gt;&lt;td&gt;160&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;08/10/2005&lt;/td&gt;&lt;td&gt;190&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Johnson&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;07/13/2005&lt;/td&gt;&lt;td&gt;500&lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;Baldwin&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;07/15/2005&lt;/td&gt;&lt;td&gt;420&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5&lt;/td&gt;&lt;td&gt;12/22/2005&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Wood&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;6&lt;/td&gt;&lt;td&gt;10/2/2005&lt;/td&gt;&lt;td&gt;820&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;7&lt;/td&gt;&lt;td&gt;11/03/2005&lt;/td&gt;&lt;td&gt;2000&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Baldwin&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;The SQL COUNT function returns the number of rows in a table satisfying the criteria specified in the WHERE clause. If we want to count how many orders has made a customer with CustomerName of Smith, we will use the following SQL COUNT expression:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT COUNT (*) FROM Sales&lt;br /&gt;WHERE CustomerName = 'Smith'&lt;/div&gt;&lt;br /&gt;Let’s examine the SQL statement above. The COUNT keyword is followed by brackets surrounding the * character. You can replace the * with any of the table’s columns, and your statement will return the same result as long as the WHERE condition is the same.&lt;br /&gt;&lt;br /&gt;The result of the above SQL statement will be the number 3, because the customer Smith has made 3 orders in total.&lt;br /&gt;&lt;br /&gt;If you don’t specify a WHERE clause when using COUNT, your statement will simply return the total number of rows in the table, which in our case is 7:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT COUNT(*) FROM Sales&lt;/div&gt;&lt;br /&gt;How can we get the number of unique customers that have ordered from our store? We need to use the DISTINCT keyword along with the COUNT function to accomplish that:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT COUNT (DISTINCT CustomerName) FROM Sales&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The SQL SUM function is used to select the sum of values from numeric column. Using the Sales table, we can get the sum of all orders with the following SQL SUM statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT SUM(OrderPrice) FROM Sales&lt;/div&gt;&lt;br /&gt;As with the COUNT function we put the table column that we want to sum, within brackets after the SUM keyword. The result of the above SQL statement is the number 4990.&lt;br /&gt;&lt;br /&gt;If we want to know how many items have we sold in total (the sum of OrderQuantity), we need to use this SQL statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT SUM(OrderQuantity) FROM Sales&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The SQL AVG function retrieves the average value for a numeric column. If we need the average number of items per order, we can retrieve it like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT AVG(OrderQuantity) FROM Sales&lt;/div&gt;&lt;br /&gt;Of course you can use AVG function with the WHERE clause, thus restricting the data you operate on:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT AVG(OrderQuantity) FROM Sales&lt;br /&gt;WHERE OrderPrice &amp;gt; 200&lt;/div&gt;&lt;br /&gt;The above SQL expression will return the average OrderQuantity for all orders with OrderPrice greater than 200, which is 17/5.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The SQL MIN function selects the smallest number from a numeric column. In order to find out what was the minimum price paid for any of the orders in the Sales table, we use the following SQL expression:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT MIN(OrderPrice) FROM Sales&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The SQL MAX function retrieves the maximum numeric value from a numeric column. The MAX SQL statement below returns the highest OrderPrice from the Sales table:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT MAX(OrderPrice) FROM Sales&lt;/div&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;td&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7776883088856119935?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7776883088856119935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-aggregate-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7776883088856119935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7776883088856119935'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-aggregate-function.html' title='SQL Query: AGGREGATE FUNCTION'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-4515776746743823403</id><published>2009-10-15T12:54:00.001+07:00</published><updated>2009-10-15T12:54:57.845+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: ORDER BY</title><content type='html'>&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;SQL ORDER BY clause is used to order the data sets retrieved from a SQL database. The ordering of the selected data can be done by one or more columns in a table. If we want to sort our Users table by the FirstName column, we’ll have to use the following ORDER BY SQL statement:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT * FROM Users&lt;br /&gt;ORDER BY FirstName&lt;/div&gt;&lt;br /&gt;The result of the ORDER BY statement above will be the following:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;/td&gt;&lt;td&gt;Stonewall&lt;/td&gt;&lt;td&gt;01/03/1954&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;/td&gt;&lt;td&gt;San Francisco&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1970&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;As you can see the rows are ordered alphabetically by the FirstName column.&lt;br /&gt;&lt;br /&gt;You can use ORDER BY to order the retrieved data by more than one column. For example, if you want to order by both LastName and City columns, you would do it with the following ORDER BY statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT * FROM Users&lt;br /&gt;ORDER BY LastName, DateOfBirth&lt;/div&gt;&lt;br /&gt;Here is the result of this ORDER BY statement:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1970&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;/td&gt;&lt;td&gt;Stonewall&lt;/td&gt;&lt;td&gt;01/03/1954&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;/td&gt;&lt;td&gt;San Francisco&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;When using ORDER BY with more than one column, you need to separate the list of columns following ORDER BY with commas. &lt;br /&gt;&lt;br /&gt;What will happen if we reverse the order of the columns specified after the ORDER BY statement like in the statement below?&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT * FROM Users&lt;br /&gt;ORDER BY DateOfBirth, LastName&lt;/div&gt;&lt;br /&gt;This ORDER BY statement will return the same results as the one with the reversed columns order, but they will be ordered differently. Here is the result:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;/td&gt;&lt;td&gt;Stonewall&lt;/td&gt;&lt;td&gt;01/03/1954&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;/td&gt;&lt;td&gt;San Francisco&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1970&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The ORDER BY clause first sorts the retrieved data by the first column, then the next one, and so forth.&lt;br /&gt;&lt;br /&gt;In all the ORDER BY examples so far, we were sorting alphabetically for character columns (FirstName, LastName) and from earlier to later date for the DateOfBirth column. What do we do if we want to order our data alphabetically but this time backwards? In order to accomplish that we need to use the DESC SQL keyword:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT * FROM Users&lt;br /&gt;ORDER BY FirstName DESC&lt;/div&gt;&lt;br /&gt;Here is the result:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1970&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;/td&gt;&lt;td&gt;Stonewall&lt;/td&gt;&lt;td&gt;01/03/1954&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;/td&gt;&lt;td&gt;San Francisco&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;When you add the keyword DESC after a column name in the ORDER BY clause, you are still ordering by this column but the result is retrieved backwards. The opposite of the DESC keyword is the ASC keyword which orders by the specified columns alphabetically. But how did our previous statements know to order the data alphabetically, when we didn’t specify the ASC keyword? The answer is simple, when you don’t specify ASC or DESC after a column in the ORDER BY column list, then the ordering is done ASC (alphabetically, from low to high) by default.&lt;br /&gt;&lt;br /&gt;It’s important to remember that whenever you are ordering by more than one column, you need to specify ASC and/or DESC after each column, if you need specific ordering. For example the statement below will order by both LastName and DateOfBirth but only LastName will be in descending order:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT * FROM Users&lt;br /&gt;ORDER BY DateOfBirth, LastName DESC&lt;/div&gt;&lt;br /&gt;If you want to order descending by both columns you need to change the ORDER BY statement to this:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT * FROM Users&lt;br /&gt;ORDER BY DateOfBirth DESC, LastName DESC.&lt;/div&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-4515776746743823403?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/4515776746743823403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-order-by.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4515776746743823403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/4515776746743823403'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-order-by.html' title='SQL Query: ORDER BY'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-2730026633012305569</id><published>2009-10-15T12:51:00.001+07:00</published><updated>2009-10-15T12:52:59.850+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: DELETE</title><content type='html'>&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;You already know how to retrieve, insert and update data in SQL database table. In this chapter we’ll learn how to delete data from a table using the SQL DELETE command.&lt;br /&gt;&lt;br /&gt;Using our Users table we will illustrate the SQL DELETE usage. One of the users in the Users table (Stephen Grant) has just left the company, and your boss has asked you to delete his record. How do you do that? Consider the SQL statement below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;DELETE FROM Users&lt;br /&gt;WHERE LastName = 'Grant'&lt;/div&gt;&lt;br /&gt;The first line in the SQL DELETE statement above specifies the table that we are deleting the record(s) from. The second line (the WHERE clause) specifies which rows exactly do we delete (in our case all rows which has LastName of ‘Grant’). As you can see the DELETE SQL queries have very simple syntax and in fact are very close to the natural language. But wait, there is something wrong with the statement above! The problem is that we have more than one user having last name of ‘Grant’, and all users with this last name will be deleted. Because we don’t want to do that, we need to find a table field or combination of fields that uniquely identifies the user Stephen Grant. Looking at the Users table an obvious candidate for such a unique field is the Email column (it’s not likely that different users use one and the same email). Our improved SQL query which deletes only the record of Stephen Grant’s record will look like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;DELETE FROM Users&lt;br /&gt;WHERE Email = 'sgrant@sgrantemail.com'&lt;/div&gt;&lt;br /&gt;What happens if you don’t specify a WHERE clause in your DELETE query?&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;DELETE FROM Users&lt;/div&gt;&lt;br /&gt;The answer is that all records in the Users table will be deleted. The SQL TRUNCATE statement below will have the exact same effect as the last DELETE statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;TRUNCATE TABLE Users&lt;/div&gt;&lt;br /&gt;The TRUNCATE statement will delete all rows in the Users table, without deleting the table itself.&lt;br /&gt;&lt;br /&gt;Be very careful when using DELETE and TRUNCATE, because you cannot undo these statements, and once row(s) are deleted fro your table they are gone forever if you don’t have a backup.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-2730026633012305569?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/2730026633012305569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-delete.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2730026633012305569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2730026633012305569'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-delete.html' title='SQL Query: DELETE'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-5392961767205804867</id><published>2009-10-15T12:49:00.000+07:00</published><updated>2009-10-15T12:50:18.509+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: UPDATE</title><content type='html'>&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;So far we only looked at retrieving data from SQL database, but we never talked about modifying/updating data. The SQL UPDATE command is used to modify data stored in database tables. &lt;br /&gt;&lt;br /&gt;If you want to update the email of one of the users in our Users table, you’ll use a SQL statement like the one below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;UPDATE Users&lt;br /&gt;SET Email = 'new_email_goes_here@yahoo.com'&lt;br /&gt;WHERE Email = 'sgrant@sgrantemail.com'&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Let’s examine the statement above. The first row has the keyword UPDATE followed by the name of the table we are updating. The second row is the row that defines the changes made to the database fields using the keyword SET followed by the column name, equal sign and the new value for this column. You can have more than one assignment of new value after the SET keyword, for example if you want to update both the email and the city you will use the SQL statement below:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;UPDATE Users&lt;br /&gt;SET Email = 'new_email_goes_here@yahoo.com', City = 'San Francisco'&lt;br /&gt;WHERE Email = 'sgrant@sgrantemail.com'&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The third line is our WHERE clause, which specifies which record(s) to update. In our case it says to update the Email filed of the row having email sgrant@sgrantemail.com.&lt;br /&gt;&lt;br /&gt;What happens if you remove the WHERE clause and your SQL query looks like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;UPDATE Users&lt;br /&gt;SET Email = 'new_email_goes_here@yahoo.com'&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The answer is that all Email entries in the Users table will be changed to new_email_goes_here@yahoo.com. Most likely you will not want to do something like this, but you might have a case when you need to update several table rows at once. For example if one of the company’s offices has been moved from San Francisco to Los Angeles you might want to update all users with City San Francisco to Los Angeles (we assume that the employees have moved too). To do that, use the following SQL statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;UPDATE Users&lt;br /&gt;SET City = 'Los Angeles'&lt;br /&gt;WHERE City = 'San Francisco'&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;In both UPDATE example having WHERE clause above, I’ve changed a table field to new value, using the same field in the WHERE clause criteria. This was purely coincidental and you can update different field(s) than the one used in your WHERE criteria, for example:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;UPDATE Users&lt;br /&gt;SET Email = 'new_email_goes_here@yahoo.com'&lt;br /&gt;WHERE FirstName = 'Stephen' AND LastName = 'Grant'&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;When updating make sure that the WHERE clause criteria you have specified updates only the rows you want. Using the example above if you didn’t have FirstName = ‘Stephen’ in your WHERE criteria, you would have updated 2 records (Susan Grant and Stephen Grant), because both these users have one and the same last name.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-5392961767205804867?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/5392961767205804867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5392961767205804867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5392961767205804867'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-update.html' title='SQL Query: UPDATE'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1634252098425232230</id><published>2009-10-15T12:43:00.000+07:00</published><updated>2009-10-15T12:43:54.685+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: DISTINCT</title><content type='html'>&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=EaF3gO%2BLNUg%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=Xg%2BmghLUOAU%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The SQL DISTINCT command used along with the SELECT keyword retrieves only unique data entries depending on the column list you have specified after it. To illustrate the usage of the DISTINCT keyword, we’ll use our Users table introduced in the previous chapters. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;br /&gt;&lt;/td&gt;&lt;td&gt;LastName&lt;br /&gt;&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Email&lt;br /&gt;&lt;/td&gt;&lt;td&gt;City&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Smith&lt;br /&gt;&lt;/td&gt;&lt;td&gt;12/12/1969&lt;br /&gt;&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;New York&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Stonewall&lt;br /&gt;&lt;/td&gt;&lt;td&gt;01/03/1954&lt;br /&gt;&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;San Francisco&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Grant&lt;br /&gt;&lt;/td&gt;&lt;td&gt;03/03/1970&lt;br /&gt;&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Los Angeles&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;br /&gt;&lt;/td&gt;&lt;td&gt;O'Neil&lt;br /&gt;&lt;/td&gt;&lt;td&gt;09/17/1982&lt;br /&gt;&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;New York&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Grant&lt;br /&gt;&lt;/td&gt;&lt;td&gt;03/03/1974&lt;br /&gt;&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Los Angeles&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Our Users table has several users in it, and it would be interesting to retrieve a list with all cities where our users live. If we use the statement below, we will get our city list, but there will be repetitions in it, because some in some cases more than one user lives in certain city:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT City&lt;br /&gt;FROM Users&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So how do we do get a list with all cities without repeating them? As you have guessed we’ll use the DISTINCT keyword:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT DISTINCT City&lt;br /&gt;FROM Users&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The result of the SQL DISTINCT expression above will look like this: &lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;City&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;New York&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;San Francisco&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Los Angeles&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Essentially what the DISTINCT keyword does is removing the duplicates from the result set returned by your SELECT SQL statement.&lt;br /&gt;&lt;br /&gt;You can use the DISTINCT keyword with more than one column. Please consider the example below:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT DISTINCT LastName, City&lt;br /&gt;FROM Users&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;What the above statement will do is to return all unique combinations between LastName and City columns. Here is what the result of this statement will be:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;LastName&lt;br /&gt;&lt;/td&gt;&lt;td&gt;City&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Smith&lt;br /&gt;&lt;/td&gt;&lt;td&gt;New York&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stonewall&lt;br /&gt;&lt;/td&gt;&lt;td&gt;San Francisco&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Grant&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Los Angeles&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;O'Neil&lt;br /&gt;&lt;/td&gt;&lt;td&gt;New York&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;If you have a look at the original table above, you’ll notice that there are two users with identical names (Grant), who happen to live in the same city (Los Angeles). Because the combination of LastName and City values for both this users is not unique, we got only one row with it, when we used the DISTINCT keyword. On the other hand if we add one more column (Email) after the DISTINCT keyword:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT DISTINCT LastName, Email, City&lt;br /&gt;FROM Users&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;We’ll retrieve both users with last name Grant, simply because they have different emails and thus their entries are unique as far as our SQL statement is concerned:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;LastName&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Email&lt;br /&gt;&lt;/td&gt;&lt;td&gt;City&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Smith&lt;br /&gt;&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;New York&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stonewall&lt;br /&gt;&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;San Francisco&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Grant&lt;br /&gt;&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Los Angeles&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;O'Neil&lt;br /&gt;&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;New York&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Grant&lt;br /&gt;&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Los Angeles&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=tDI%2Fb48ZCGs%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=7yI58eNYtoI%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=CCCCCC&amp;amp;background=000000&amp;amp;border=000000&amp;amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1634252098425232230?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1634252098425232230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-distinct.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1634252098425232230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1634252098425232230'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-distinct.html' title='SQL Query: DISTINCT'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-2657482116136212106</id><published>2009-10-15T12:27:00.001+07:00</published><updated>2009-10-15T12:37:57.171+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: INSERT</title><content type='html'>The SQL INSERT INTO clause is used to insert data into a SQL table. The SQL INSERT INTO is frequently used and has the following generic syntax:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;INSERT INTO Table1 (Column1, Column2, Column3…)&lt;br /&gt;VALUES (ColumnValue1, ColumnValue2, ColumnValue3 …)&lt;/div&gt;&lt;br /&gt;The SQL INSERT INTO clause has actually two parts – the first specifying the table we are inserting into and giving the list of columns we are inserting values for, and the second specifying the values inserted in the column list from the first part.&lt;br /&gt;&lt;br /&gt;Consider the Users table from the previous chapter:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;/td&gt;&lt;td&gt;Stonewall&lt;/td&gt;&lt;td&gt;01/03/1954&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;/td&gt;&lt;td&gt;San Francisco&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1970&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;If we want to enter a new data row into the Users table, we can do it with the following SQL INSERT INTO statement:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;INSERT INTO Users (FirstName, LastName, DateOfBirth, Email, City)&lt;br /&gt;VALUES ('Frank', 'Drummer', '10/08/1955', 'frank.drummer@frankdrummermail.com', 'Seattle')&lt;/div&gt;&lt;br /&gt;If we select all the data from the Users table after we have executed the SQL INSERT INTO above, we'll get the following result:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;/td&gt;&lt;td&gt;Stonewall&lt;/td&gt;&lt;td&gt;01/03/1954&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;/td&gt;&lt;td&gt;San Francisco&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1970&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Frank&lt;/td&gt;&lt;td&gt;Drummer&lt;/td&gt;&lt;td&gt;10/08/1955&lt;/td&gt;&lt;td&gt; frank.drummer@frankdrummermail.com&lt;/td&gt;&lt;td&gt;Seattle&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;One interesting question about SQL INSERT INTO is, would it be possible to insert values for only part of the columns, instead for all of them? The answer is yes, as long as the columns that we are skipping can have NULL value or have default value specified.&lt;br /&gt;Here is an example of using SQL INSERT INTO to insert a new row and supply values for only the first 4 columns of the Users table:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;INSERT INTO Users (FirstName, LastName, DateOfBirth, Email)&lt;br /&gt;VALUES ('Frank', 'Drummer', '10/08/1955', 'frank.drummer@frankdrummermail.com')&lt;/div&gt;&lt;br /&gt;In the above example we assumed that the values in the last column Email can be NULL values. The result of the SQL INSERT above will be:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;/td&gt;&lt;td&gt;Stonewall&lt;/td&gt;&lt;td&gt;01/03/1954&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;/td&gt;&lt;td&gt;San Francisco&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1970&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Frank&lt;/td&gt;&lt;td&gt;Drummer&lt;/td&gt;&lt;td&gt;10/08/1955&lt;/td&gt;&lt;td&gt; frank.drummer@frankdrummermail.com&lt;/td&gt;&lt;td&gt;NULL&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;If you are inserting a new row and you are supplying values for all columns, then you can skip the entire column list in your statement. For example the following two SQL INSERT statements are equivalent:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;INSERT INTO Users &lt;br /&gt;VALUES ('Frank', 'Drummer', '10/08/1955', 'frank.drummer@frankdrummermail.com', 'Seattle')&lt;/div&gt;&lt;br /&gt;&lt;div class="sc"&gt;INSERT INTO Users (FirstName, LastName, DateOfBirth, Email, City)&lt;br /&gt;VALUES ('Frank', 'Drummer', '10/08/1955', 'frank.drummer@frankdrummermail.com', 'Seattle')&lt;/div&gt;&lt;br /&gt;However if you skip the column list and do not supply value for all columns at the same time, then you'll get an error as a result of your SQL INSERT INTO execution:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;INSERT INTO Users&lt;br /&gt;VALUES ('Frank', 'Drummer', '10/08/1955', 'frank.drummer@frankdrummermail.com')&lt;/div&gt;&lt;br /&gt;The above SQL INSERT will produce error, because we haven't specified value for the City column.&lt;br /&gt;&lt;br /&gt;&lt;!-- Begin: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;cid=1mKE6FR8OXo%3D&amp;chan=tDI%2Fb48ZCGs%3D&amp;type=5&amp;title=FFFFFF&amp;text=CCCCCC&amp;background=000000&amp;border=000000&amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- End: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;!-- Begin: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;cid=1mKE6FR8OXo%3D&amp;chan=7yI58eNYtoI%3D&amp;type=5&amp;title=FFFFFF&amp;text=CCCCCC&amp;background=000000&amp;border=000000&amp;url=E1771E" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- End: http://adsensecamp.com/ --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-2657482116136212106?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/2657482116136212106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-insert.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2657482116136212106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2657482116136212106'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-insert.html' title='SQL Query: INSERT'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-1123401177157350611</id><published>2009-10-15T12:26:00.000+07:00</published><updated>2009-10-15T12:26:15.610+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: WHERE</title><content type='html'>The SQL WHERE keyword is used to select data conditionally, by adding it to already existing SQL SELECT query. The WHERE keyword can be used to insert, update and delete data from table(s), but for now we’ll stick with conditionally retrieving data, as we already know how to use the SELECT keyword.&lt;br /&gt;&lt;br /&gt;In order to illustrate better the WHERE keyword applications, we are going to add 2 columns to the Users table we used in the previous chapters and we’ll also add a few more rows with actual data entries:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;/td&gt;&lt;td&gt;Stonewall&lt;/td&gt;&lt;td&gt;01/03/1954&lt;/td&gt;&lt;td&gt;david@sql-tutorial.com&lt;/td&gt;&lt;td&gt;San Francisco&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1970&lt;/td&gt;&lt;td&gt;susan.grant@sql-tutorial.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Consider the following SQL query: &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName, City&lt;br /&gt;FROM Users&lt;br /&gt;WHERE City = 'Los Angeles'&lt;/div&gt;&lt;br /&gt;The result of the SQL expression above will be the following: &lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Our SQL query used the "=" (Equal) operator in our WHERE criteria: &lt;br /&gt;&lt;br /&gt;City = 'Los Angeles' &lt;br /&gt;&lt;br /&gt;As you can see we have selected only the users which entries have the value ‘Los Angeles’ in the City column. You may also have noticed that we put the Los Angeles string value into single quotes. Whenever you use string (character) values in your SQL queries, you have to put them between single quotes. For example the SQL query below will fail because it uses double quotes instead of single quotes for the string value:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE City = ”Los Angeles”&lt;/div&gt;&lt;br /&gt;But what to do if we want to retrieve all users having LastName O’Neil? The SQL statement below will fail:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE LastName = ‘O’Neil’&lt;/div&gt;&lt;br /&gt;The reason for the failure is the single quote which is part of the string we used in our WHERE criteria. The SQL engine will try to interpret our SQL statement and will consider the single quote inside the string as the end of that string. The remaining part of the SQL statement will be Neil’, which cannot be interpreted correctly, thus we’ll get an error. So how do we deal with strings having single quotes then? &lt;br /&gt;The answer is simple – by replacing all single quotes in our string with two single quotes. When we have two single quotes together, they are interpreted by SQL as one single quote. Here is our improved SQL statement which will work correctly:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE LastName = 'O''Neil'&lt;/div&gt;&lt;br /&gt;We used the = (Equal) operator in the examples above, but you can use any of the following comparison operators in conjunction with the SQL WHERE keyword: &lt;br /&gt;&lt;br /&gt;&amp;lt;&amp;gt; (Not Equal) &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE FirstName &amp;lt;&amp;gt; 'Jon'&lt;/div&gt;&lt;br /&gt;&amp;gt; (Greater than) &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE DateOfBirth &amp;gt; '02/03/1970'&lt;/div&gt;&lt;br /&gt;&amp;gt;= (Greater or Equal) &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE DateOfBirth &amp;gt;= '02/03/1970'&lt;/div&gt;&lt;br /&gt;&amp;lt; (Less than) &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE DateOfBirth &amp;lt; '02/03/1970'&lt;/div&gt;&lt;br /&gt;&amp;lt;= (Less or Equal) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE DateOfBirth &amp;lt;= '02/03/1970'&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In addition to the comparison operators you can use WHERE along with logical operators. SQL logical operators are used to combine two or more criterions in the WHERE clause of an SQL statement.&lt;br /&gt;&lt;br /&gt;If we want to select all users from our Users table, which live in New York and are born after 10/10/1975 we will use the following SQL query:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName, DateOfBirth, Email, City&lt;br /&gt;FROM Users&lt;br /&gt;WHERE City = 'New York' AND DateOfBirth &amp;gt; '10/10/1975'&lt;/div&gt;&lt;br /&gt;Here is the result of the above SELECT:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;As you can see we now have to criteria concatenated with the AND logical operator, which means that both conditions have to be true.&lt;br /&gt;&lt;br /&gt;If we want to select all users from our Users table, which live in New York or are born after 10/10/1975 we will use the following SQL query:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName, DateOfBirth, Email, City&lt;br /&gt;FROM Users&lt;br /&gt;WHERE City = 'New York' OR DateOfBirth &amp;gt; '10/10/1975'&lt;/div&gt;&lt;br /&gt;The result is:&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;/td&gt;&lt;td&gt;LastName&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;/td&gt;&lt;td&gt;Email&lt;/td&gt;&lt;td&gt;City&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Smith&lt;/td&gt;&lt;td&gt;12/12/1969&lt;/td&gt;&lt;td&gt;john.smith@john-here.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Paul&lt;/td&gt;&lt;td&gt;O'Neil&lt;/td&gt;&lt;td&gt;09/17/1982&lt;/td&gt;&lt;td&gt;paul.oneil@pauls-email.com&lt;/td&gt;&lt;td&gt;New York&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Stephen&lt;/td&gt;&lt;td&gt;Grant&lt;/td&gt;&lt;td&gt;03/03/1974&lt;/td&gt;&lt;td&gt;sgrant@sgrantemail.com&lt;/td&gt;&lt;td&gt;Los Angeles&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;This time the two criteria are joined with OR, which means that all rows satisfying at least one of them will be returned.&lt;br /&gt;&lt;br /&gt;You can use the NOT logical operator in your SQL statements too. Consider the following example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName, DateOfBirth, Email, City&lt;br /&gt;FROM Users&lt;br /&gt;WHERE City NOT LIKE '%York%'&lt;/div&gt;&lt;br /&gt;This statement will select all users whose city name doesn’t contain the string York. (I’ve explained the LIKE statement below).&lt;br /&gt;&lt;br /&gt;LIKE (similar to) &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE FirstName LIKE 'S%'&lt;/div&gt;&lt;br /&gt;We'll talk about the LIKE keyword later, but for now it’s enough to know that the SQL statement above returns all users with first name starting with the letter S. When you use the % character inside a LIKE expression, the % is considered to be a wildcard (note that the syntax I’ve used is for SQL Server, and different SQL implementations may have different syntax for wildcard character %).&lt;br /&gt;&lt;br /&gt;You can use the WHERE keyword along with the BETWEEN keyword which defines a range:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE DateOfBirth BETWEEN '02/03/1970' AND '10/10/1972'&lt;/div&gt;&lt;br /&gt;You can use the WHERE keyword along with the IN keyword which defines a criteria list:&lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName&lt;br /&gt;FROM Users&lt;br /&gt;WHERE City IN (‘Los Angeles’, ‘New York’)&lt;/div&gt;&lt;br /&gt;The SQL statement above will return all users from Los Angeles and New York.&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-1123401177157350611?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/1123401177157350611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-where.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1123401177157350611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/1123401177157350611'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-where.html' title='SQL Query: WHERE'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-8029199591242307838</id><published>2009-10-15T12:23:00.000+07:00</published><updated>2009-10-15T12:23:51.997+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Query: SELECT</title><content type='html'>SQL SELECT is without a doubt the most frequently used SQL command that’s why we are starting our tutorial with it. The SQL SELECT command is used to retrieve data from one or more database tables. &lt;br /&gt;&lt;br /&gt;To illustrate the usage of the SELECT command we are going to use the Users table defined in the previous chapter:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table class="SQL"&gt;&lt;tbody&gt;&lt;tr class="Title"&gt;&lt;td&gt;FirstName&lt;br /&gt;&lt;/td&gt;&lt;td&gt;LastName&lt;br /&gt;&lt;/td&gt;&lt;td&gt;DateOfBirth&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;John&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Smith&lt;br /&gt;&lt;/td&gt;&lt;td&gt;12/12/1969&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;David&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Stonewall&lt;br /&gt;&lt;/td&gt;&lt;td&gt;01/03/1954&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Susan&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Grant&lt;br /&gt;&lt;/td&gt;&lt;td&gt;03/03/1970&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;The SQL statement below shows a simple usage of the SQL SELECT command: &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName, DateOfBirth &lt;br /&gt;FROM Users&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Let’s examine this SQL statement. The statement starts with the SELECT keyword followed by a list of table columns. This list of columns specifies which columns you want to retrieve from your table. The list of columns is followed by the SQL keyword FROM and the table name (the table we are selecting data from).&lt;br /&gt;&lt;br /&gt;There is a special syntax that can be used with the SELECT command, if you want to retrieve all columns from a table. To do that replace the list of columns with the * symbol and voila, you’ve selected all columns from the table: &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT * &lt;br /&gt;FROM Users&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;It’s a prudent programming practice to explicitly specify the list of columns after the SELECT command, as this will improve your query performance significantly. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The SELECT INTO statement retrieves data from a database table and inserts it to another table. &lt;br /&gt;&lt;br /&gt;Consider the SELECT INTO example below: &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT FirstName, LastName, DateOfBirth &lt;br /&gt;INTO UsersBackup&lt;br /&gt;FROM Users&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The first part of the statement looks familiar and is just selecting several columns. The second part of this SQL statement is the important part, which specifies to insert the rows into the UsersBackup table. The last part specifies which table to get the rows from. This example assumes that both Users and UsersBackup tables have identical structure.&lt;br /&gt;&lt;br /&gt;You can use the following SQL query to make an exact copy of the data in the Users table: &lt;br /&gt;&lt;br /&gt;&lt;div class="sc"&gt;SELECT *&lt;br /&gt;INTO UsersBackup&lt;br /&gt;FROM Users&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So far you learnt how to specify which columns to select and from which table, but you might be wondering how many rows of data will actually be returned from these SQL statements? The answer is simple – all of them. But what if you have a table with 5 million rows, and you only need to select a few rows satisfying certain criteria? Fortunately there is a way to conditionally select data from a table or several tables. Enter the SQL WHERE command.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-8029199591242307838?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/8029199591242307838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-select.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/8029199591242307838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/8029199591242307838'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-query-select.html' title='SQL Query: SELECT'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-8297083605869039723</id><published>2009-10-15T12:22:00.000+07:00</published><updated>2009-10-15T12:24:55.040+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>SQL Introduction</title><content type='html'>&lt;div style="text-align: justify;"&gt;Our SQL Tutorial starts with introduction to SQL language and Relational Database Management Systems, and then moves on to simple and frequently used SQL clauses like SELECT, WHERE, UPDATE, and DELETE. After you have familiarized yourself with these basic SQL concepts and SQL clauses, the tutorial explains more complicated SQL concepts including table relationships, primary and foreign keys and database normalization, joining tables, views, and indexes.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Although there are existing SQL standards, most popular relational database management systems like MS SQL Server, Oracle, and DB2 use their own SQL dialect (also know as SQL extension or SQL implementation) of one of the SQL standards (ISO or ANSI). We have strived to remain dialect independent and most of the examples in this tutorial can be applied to most major SQL implementations. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-8297083605869039723?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/8297083605869039723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-introduction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/8297083605869039723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/8297083605869039723'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/sql-introduction.html' title='SQL Introduction'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-6907264868666194948</id><published>2009-10-13T17:13:00.000+07:00</published><updated>2009-10-15T00:51:59.798+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Study Materials'/><title type='text'>Computer Organization and Architecture, Sixth Edition, William Stallings</title><content type='html'>&lt;div style="text-align: justify;"&gt;In &lt;a href="http://en.wikipedia.org/wiki/Computer_engineering" title="Computer engineering"&gt;computer engineering&lt;/a&gt;, &lt;b&gt;computer architecture&lt;/b&gt; is the conceptual design and fundamental operational structure of a &lt;a href="http://en.wikipedia.org/wiki/Computer" title="Computer"&gt;computer&lt;/a&gt; system. It is a &lt;a href="http://en.wikipedia.org/wiki/Blueprint" title="Blueprint"&gt;blueprint&lt;/a&gt; and functional description of requirements and design implementations for the various parts of a computer, focusing largely on the way by which the &lt;a href="http://en.wikipedia.org/wiki/Central_processing_unit" title="Central processing unit"&gt;central processing unit&lt;/a&gt; (CPU) performs internally and accesses &lt;a href="http://en.wikipedia.org/wiki/Memory_address" title="Memory address"&gt;addresses in memory&lt;/a&gt;.&lt;span style="font-size: large;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Once both ISA and microarchitecture have been specified, the actual device needs to be designed into &lt;a href="http://en.wikipedia.org/wiki/Hardware" title="Hardware"&gt;hardware&lt;/a&gt;. This design process is called &lt;i&gt;implementation&lt;/i&gt;. Implementation is usually not considered architectural definition, but rather hardware &lt;a href="http://en.wikipedia.org/wiki/Engineering_design_process" title="Engineering design process"&gt;design engineering&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The term “architecture” in computer literature can be traced to the work of Lyle R. Johnson and Frederick P. Brooks, Jr., members in 1959 of the Machine Organization department in IBM’s main research center. Johnson had the opportunity to write a proprietary research communication about Stretch, an IBM-developed supercomputer for Los Alamos Scientific Laboratory. In attempting to characterize his chosen level of detail for discussing the luxuriously embellished computer, he noted that his description of formats, instruction types, hardware parameters, and speed enhancements was at the level of “system architecture” – a term that seemed more useful than “machine organization.” Subsequently, Brooks, one of the Stretch designers, started Chapter 2 of a book (Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962) by writing, “Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints.” Brooks went on to play a major role in the development of the IBM System/360 line of computers, where “architecture” gained currency as a noun with the definition “what the user needs to know.” Later the computer world would employ the term in many less-explicit ways. &lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="ftp://ftp.prenhall.com/pub/esm/computer_science.s-041/stallings/Slides/COA6e_PPT_Slides/"&gt;&lt;span style="font-size: large;"&gt;DOWNLOAD PPT&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="ftp://ftp.prenhall.com/pub/esm/computer_science.s-041/stallings/Figures/COA6e_PDF_Figures/"&gt;&lt;span style="font-size: large;"&gt;DOWNLOAD PDF&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-6907264868666194948?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/6907264868666194948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/computer-organization-and-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6907264868666194948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6907264868666194948'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/computer-organization-and-architecture.html' title='Computer Organization and Architecture, Sixth Edition, William Stallings'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-3177563913896285494</id><published>2009-10-13T16:37:00.000+07:00</published><updated>2009-10-29T14:41:17.483+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>Looking The Sequence of Prime Numbers With Pascal</title><content type='html'>&lt;span style="font-size: large;"&gt;SOURCE&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program deret_bilangan_prima;&lt;br /&gt;uses wincrt;&lt;br /&gt;var i,temp:longint;&lt;br /&gt;s, x, a, n : longint;&lt;br /&gt;jml:integer;&lt;br /&gt;function fakt (t : longint) : longint;&lt;br /&gt;{funtion fakt untuk mengecek banyaknya faktorial dari suatu bilangan}&lt;br /&gt;begin&lt;br /&gt;temp := 0;&lt;br /&gt;for i := 1 to t do if t mod i = 0 then inc (temp);&lt;br /&gt;fakt:= temp;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;clrscr;&lt;br /&gt;writeln ('Deret Bilangan Prima');&lt;br /&gt;writeln ('--------------------------------------------');&lt;br /&gt;write ('Jumlah Bilangan Yang Ditampilkan Sebanyak : ');&lt;br /&gt;repeat&lt;br /&gt;readln(x);{meminta uses memasukkan jumlah deret bilangan}&lt;br /&gt;until (x&amp;gt;=2);{input harus &amp;gt;=2}&lt;br /&gt;writeln; writeln; writeln ('Deret Bilangan Prima : '); writeln ('');&lt;br /&gt;a := 1; s := 0;&lt;br /&gt;repeat&lt;br /&gt;if fakt (a) = 2 then{jika banyk faktoriaal dari suatu bilangan adl 2 maka}&lt;br /&gt;begin&lt;br /&gt;write (a,', '); {cetak bilangan yg memp 2 faktorial}&lt;br /&gt;jml:=jml+a; inc (s);{hitung jumlah dari deret bilangan}&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;inc (a); until (s = x);&lt;br /&gt;writeln; writeln('');&lt;br /&gt;write('Jika dijumlahkan, hasilnya : ',jml);{cetak jumlah}&lt;br /&gt;end.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;OUTPUT&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_UEqlv8O399Y/StRKShyX_9I/AAAAAAAAAHU/OGj0WfyBvNo/s1600-h/image_thumb13.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_UEqlv8O399Y/StRKShyX_9I/AAAAAAAAAHU/OGj0WfyBvNo/s320/image_thumb13.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-3177563913896285494?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/3177563913896285494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/looking-sequence-of-prime-numbers-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3177563913896285494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/3177563913896285494'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/looking-sequence-of-prime-numbers-with.html' title='Looking The Sequence of Prime Numbers With Pascal'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UEqlv8O399Y/StRKShyX_9I/AAAAAAAAAHU/OGj0WfyBvNo/s72-c/image_thumb13.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-6122524224274984539</id><published>2009-10-13T16:29:00.000+07:00</published><updated>2009-10-29T14:41:48.483+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>Checking Prime Numbers With Pascal</title><content type='html'>&lt;span style="font-size: large;"&gt;SOURCE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;Program mengecek_suatu_bilangan_adalah_bilangan_prima;&lt;br /&gt;uses wincrt;&lt;br /&gt;var bil,i,x : integer;&lt;br /&gt;prima : boolean;&lt;br /&gt;batas : integer;&lt;br /&gt;ulang : char;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;repeat&lt;br /&gt;clrscr;&lt;br /&gt;write('Masukkan bilangan : ');{input bilangan yg akan dicek}&lt;br /&gt;read(bil);&lt;br /&gt;{inisialisasi awal}&lt;br /&gt;batas := round(sqrt(bil))+1;&lt;br /&gt;prima := true;&lt;br /&gt;if (bil=2) or (bil=3) then {jika bilangan 2 dan 3 maka prima}&lt;br /&gt;prima := true&lt;br /&gt;else{jika bukan 2 dan 3 maka}&lt;br /&gt;for i:=2 to batas do{dari i:=2 to batas}&lt;br /&gt;if bil mod i = 0 then{jika bilangan dibagi i = 0 maka bukan prima}&lt;br /&gt;prima := false;&lt;br /&gt;if prima = true then&lt;br /&gt;writeln(bil,' Adalah prima')&lt;br /&gt;else&lt;br /&gt;writeln(bil,' Bukan prima');&lt;br /&gt;writeln;&lt;br /&gt;write('Ulang lagi [Y/T] : ');ulang:=upcase(readkey);&lt;br /&gt;writeln(ulang);&lt;br /&gt;until ulang &amp;lt;&amp;gt; 'Y';{akan terus mengulang jika di inputkan [y,Y]}&lt;br /&gt;end.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Output&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_UEqlv8O399Y/StRIRF6CmpI/AAAAAAAAAHM/VxWunES-8LE/s1600-h/untitled.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_UEqlv8O399Y/StRIRF6CmpI/AAAAAAAAAHM/VxWunES-8LE/s320/untitled.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-6122524224274984539?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/6122524224274984539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/checking-prime-numbers-with-pascal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6122524224274984539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/6122524224274984539'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/checking-prime-numbers-with-pascal.html' title='Checking Prime Numbers With Pascal'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_UEqlv8O399Y/StRIRF6CmpI/AAAAAAAAAHM/VxWunES-8LE/s72-c/untitled.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-8309694995450480162</id><published>2009-10-13T16:23:00.000+07:00</published><updated>2009-10-13T16:23:53.664+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>Database System Concepts, Silberschatz, Korth, Sudarshan</title><content type='html'>&lt;div style="text-align: justify;"&gt;Database management has evolved from a specialized computer application to a central component of a modern computing environment, and, as a result, knowledge about database systems has become an essential part of an education in computer science. In this text, we present the fundamental concepts of database management. These concepts include aspects of database design, database languages, and database-system implementation.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This text is intended for a first course in databases at the junior or senior undergraduate, or first-year graduate, level. In addition to basic material for a first course, the text contains advanced material that can be used for course supplements, or as introductory material for an advanced course.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;We assume only a familiarity with basic data structures, computer organization, and a high-level programming language such as Java, C, or Pascal. We present concepts as intuitive descriptions, many of which are based on our running example of a bank enterprise. Important theoretical results are covered, but formal proofs are&lt;br /&gt;omitted. In place of proofs, figures and examples are used to suggest why a result is true. Formal descriptions and proofs of theoretical results may be found in research papers and advanced texts that are referenced in the bibliographical notes.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://codex.cs.yale.edu/avi/db-book/db5/slide-dir/index.html"&gt;&lt;span style="font-size: large;"&gt;Link For Downloading&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-8309694995450480162?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/8309694995450480162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/database-system-concepts-silberschatz.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/8309694995450480162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/8309694995450480162'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/database-system-concepts-silberschatz.html' title='Database System Concepts, Silberschatz, Korth, Sudarshan'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-2568399666146289460</id><published>2009-10-11T18:48:00.000+07:00</published><updated>2009-11-12T14:17:25.971+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Application'/><title type='text'>Free Download PHP Event Calendar V1.5</title><content type='html'>PHP Event Calendar is an easy to use event calendar script which can be used on all your websites and web pages. There are unlimited amount of style combinations - you can change everything - size, colors, fonts, borders, date and time formats, week starting days. Once installed on your website with a single copy and paste you can put it on any of your website pages. You can have a calendar on your website within minutes!&lt;br /&gt;&lt;br /&gt;This is my first post sharing some of my files - so take it easy &lt;img alt="Cheesy" border="0" src="http://templatep2p.com/forum/Smileys/classic/cheesy.gif" /&gt;&lt;br /&gt;&lt;br /&gt;I personally ripped this script, all of the files are encoded, but it works 100% (I have it installed on a number of sites that I run)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://phpcalendarscripts.com/demo/admin.php"&gt;&lt;span style="font-size: 180%; font-weight: bold;"&gt;WATCH DEMO HERE&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 180%; font-weight: bold;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://saindra.webs.com/app/PHP_Event_Calendar_V1.5.rar"&gt;&lt;span style="font-size: 180%; font-weight: bold;"&gt;DOWNLOAD FILE HERE&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;NB: Files are available in RAR format with passwords. If you want to know the password, please comment on this blog and leave your email address. I will send your password to your email address. For using this file please read the Readme.txt file.&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-2568399666146289460?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/2568399666146289460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/free-download-php-event-calendar-v15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2568399666146289460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/2568399666146289460'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/free-download-php-event-calendar-v15.html' title='Free Download PHP Event Calendar V1.5'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-564328400830700530</id><published>2009-10-09T11:20:00.000+07:00</published><updated>2009-10-13T16:29:45.959+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>Aplikasi Menentukan FPB Menggunakan Bahasa C</title><content type='html'>SOURCE :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include "stdio.h"&lt;br /&gt;#include "conio.h"&lt;br /&gt;#define MYICON 1&lt;br /&gt;&lt;br /&gt;void main() {&lt;br /&gt;&lt;br /&gt;int x,y,m,n,r;&lt;br /&gt;&lt;br /&gt;printf("PROGRAM MENENTUKAN FPB(x,y)\n");&lt;br /&gt;printf("---------------------------\n");&lt;br /&gt;printf("by:saindra\n\n\n\n");&lt;br /&gt;&lt;br /&gt;printf("Masukkan nilai x: ");scanf("%d",&amp;amp;x);&lt;br /&gt;printf("Masukkan nilai y: ");scanf("%d",&amp;amp;y);&lt;br /&gt;&lt;br /&gt;if(x&amp;gt;=y){&lt;br /&gt;m=x;&lt;br /&gt;n=y;&lt;br /&gt;}else{&lt;br /&gt;n=x;&lt;br /&gt;m=y;&lt;br /&gt;}//end of else&lt;br /&gt;&lt;br /&gt;while(n!=0){&lt;br /&gt;r=m%n;    //m modulo n, r= sisa dari pembagian m dg n&lt;br /&gt;m=n;&lt;br /&gt;n=r;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;printf("\n\nFPB(%d,%d) = %d",x,y,m);&lt;br /&gt;&lt;br /&gt;getche();&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT :&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;PROGRAM MENENTUKAN FPB(x,y)&lt;br /&gt;---------------------------&lt;br /&gt;by:saindra&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Masukkan nilai x: 30&lt;br /&gt;Masukkan nilai y: 25&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FPB(30,25) = 5&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;amp;cid=1mKE6FR8OXo%3D&amp;amp;chan=kfBb5DhhP1U%3D&amp;amp;type=5&amp;amp;title=FFFFFF&amp;amp;text=808080&amp;amp;background=4C4C4C&amp;amp;border=666666&amp;amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-564328400830700530?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/564328400830700530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/aplikasi-menentukan-fpb-menggunakan.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/564328400830700530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/564328400830700530'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/aplikasi-menentukan-fpb-menggunakan.html' title='Aplikasi Menentukan FPB Menggunakan Bahasa C'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-5690886461386678101</id><published>2009-10-09T11:06:00.000+07:00</published><updated>2009-10-09T11:35:03.868+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Application'/><title type='text'>NetCut 2.0.8 &amp; Anti Netcut 2 Free Download</title><content type='html'>Product Description:&lt;br /&gt;&lt;br /&gt;* Cut down any computer's network connection to the gateway.&lt;br /&gt;* Get all IP addresses of the computers in your LAN(Local Area Network)&lt;br /&gt;* Work in office's LAN,school LAN,or even ISP LAN&lt;br /&gt;* Have Fun with play the online computer make them online or off line remotely&lt;br /&gt;* TRACE Free, No one will TRACE out what happen&lt;br /&gt;* More Stable,swich-hub or hub or cable lan any Lan use Ethernet&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;NetCut is a Software that helps you admin your network by purely on ARP protocol . List IP-MAC Table in secs, turn off &amp;amp; On network on any computer on your LAN including any device like router , switcher. Also, netcut can protected user from ARP SPOOF attack&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;High intimate :Pure ARP protocol kernel.enhenced cut off funcation, that no one can escape from your cut off unless he have netcut installed and with protected funcation enabled.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Easy to use: One click to Protect user Computer Function!!! No one in the network can cut you off with ARP spoof technology anymore .&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Effective: one Click to Cut down any computer s network connection to the gateway.  IYFT:Get all IP addresses of the computers in your LAN(Local Area Network) in Secs High applicability:Work in office LAN,school LAN,or even ISP LAN  Have Fun with play the online computer make them online or off line remotely  Safe: TRACE Free, No one will TRACE out what happen  and last More Stable,swich-hub or hub or cable lan any Lan use Ethernet&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This product is designed to run on the following operating systems:&lt;br /&gt;&lt;br /&gt;* Windows XP&lt;br /&gt;* Windows 2000&lt;br /&gt;* Windows NT&lt;br /&gt;* Windows 98&lt;br /&gt;&lt;br /&gt;Additional Requirements:&lt;br /&gt;&lt;br /&gt;* Windows 98/2000/NT/XP&lt;br /&gt;&lt;br /&gt;Screenshots Netcut 2.0.8&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.raymond.cc/images/netcut.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="115" src="http://www.raymond.cc/images/netcut.png" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Screenshots Anti NetCut 2&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_TTXy1QWuOjE/Se_wfUWbLZI/AAAAAAAAAC4/19rs7AlPFhY/s1600/anti+netcut.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_TTXy1QWuOjE/Se_wfUWbLZI/AAAAAAAAAC4/19rs7AlPFhY/s320/anti+netcut.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="text-align: justify;"&gt;NB: File tersedia dalam bentuk RAR with password. Jika anda ingin mengetahui passwordnya, silahkan comment di blog ini dan meninggalkan alamat email anda. Password akan saya kirimkan ke alamat email anda tersebut. &lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://saindra.webs.com/app/NetCut&amp;amp;AntiNetCut_By_Saindra.blogspot.com.rar"&gt;Download Netcut 2.01and Anti Netcut 2 Here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Begin: http://adsensecamp.com/ --&gt;&lt;br /&gt;&lt;script src="http://adsensecamp.com/show/?id=A8lXJZTtOKM%3D&amp;cid=1mKE6FR8OXo%3D&amp;chan=kfBb5DhhP1U%3D&amp;type=5&amp;title=FFFFFF&amp;text=808080&amp;background=4C4C4C&amp;border=666666&amp;url=B3B3B3" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- End: http://adsensecamp.com/ --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-5690886461386678101?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/5690886461386678101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/netcut-208-anti-netcut-2-free-download.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5690886461386678101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/5690886461386678101'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/netcut-208-anti-netcut-2-free-download.html' title='NetCut 2.0.8 &amp; Anti Netcut 2 Free Download'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_TTXy1QWuOjE/Se_wfUWbLZI/AAAAAAAAAC4/19rs7AlPFhY/s72-c/anti+netcut.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-7717376447858660317</id><published>2009-10-08T15:19:00.000+07:00</published><updated>2009-10-29T14:42:19.109+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>Array 3: Dengan Pendeklarasian Variabel Sendiri</title><content type='html'>PASCAL SOURCE :&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program array3;&lt;br /&gt;&lt;br /&gt;uses wincrt;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;RecordMahasiswa = record&lt;br /&gt;nim: string[10];&lt;br /&gt;nama: string[25];&lt;br /&gt;nilai: real;&lt;br /&gt;umur: byte;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt;DataMahasiswa: array [1..20] of RecordMahasiswa;&lt;br /&gt;banyak, i: integer;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;write('Jumlah data yang akan dimasukkan: ');readln(banyak);&lt;br /&gt;writeln('');&lt;br /&gt;for i:=1 to banyak do&lt;br /&gt;begin&lt;br /&gt;write('NIM: ');readln(dataMahasiswa[i].nim);&lt;br /&gt;write('Nama: ');readln(dataMahasiswa[i].nama);&lt;br /&gt;write('Nilai: ');readln(dataMahasiswa[i].nilai);&lt;br /&gt;write('Umur: ');readln(dataMahasiswa[i].umur);&lt;br /&gt;writeln('');&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;writeln('NIM NAMA NILAI HURUF');&lt;br /&gt;for i:=1 to banyak do&lt;br /&gt;writeln(DataMahasiswa[i].nim:1, DataMahasiswa[i].nama:8, DataMahasiswa[i].nilai:7:2, DataMahasiswa[i].umur:4);&lt;br /&gt;&lt;br /&gt;end.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT :&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_UEqlv8O399Y/Ss2g8kkmf4I/AAAAAAAAAHE/ySav0mBCAyA/s1600-h/untitled2.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img $r="true" border="0" src="http://4.bp.blogspot.com/_UEqlv8O399Y/Ss2g8kkmf4I/AAAAAAAAAHE/ySav0mBCAyA/s320/untitled2.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/590151449538254295-7717376447858660317?l=saindra.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://saindra.blogspot.com/feeds/7717376447858660317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://saindra.blogspot.com/2009/10/array-3-dengan-pendeklarasian-variabel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7717376447858660317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/590151449538254295/posts/default/7717376447858660317'/><link rel='alternate' type='text/html' href='http://saindra.blogspot.com/2009/10/array-3-dengan-pendeklarasian-variabel.html' title='Array 3: Dengan Pendeklarasian Variabel Sendiri'/><author><name>saindra</name><uri>http://www.blogger.com/profile/05908508926515197943</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://3.bp.blogspot.com/_UEqlv8O399Y/SYP7ZUmUtPI/AAAAAAAAAFk/U5FC5ua7Xxc/S220/Untitled-8.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_UEqlv8O399Y/Ss2g8kkmf4I/AAAAAAAAAHE/ySav0mBCAyA/s72-c/untitled2.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-590151449538254295.post-3002112507414128385</id><published>2009-10-08T15:07:00.000+07:00</published><updated>2009-10-29T14:42:53.679+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pascal Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Structured Programming'/><title type='text'>Array 2: Array Yang Berdiri Sendiri</title><content type='html'>PASCAL SOURCE :&lt;br /&gt;&lt;code&gt;&lt;br /&gt;program array2;&lt;br /&gt;&lt;br /&gt;uses wincrt;&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt;nim: array [1..20] of string[10];&lt;br /&gt;nama: array [1..20] of string[25];&lt;br /&gt;nilai: array [1..20] of real;&lt;br /&gt;umur: array [1..20] of byte;&lt;br /&gt;banyak, i: integer;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;write('Jumlah data yang akan dimasukkan: ');readln(banyak);&lt;br /&gt;writeln('');&lt;br /&gt;for i:=1 to banyak do&lt;br /&gt;begin&lt;br /&gt;write('NIM :');readln(nim[i]);&lt;br /&gt;write('Nama :');readln(nama[i]);&lt;br /&gt;write('Nilai :');readln(nilai[i]);&lt;br /&gt;write('Umur :');readln(umur[i]);&lt;br /&gt;writeln('');&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;writeln('NIM NAMA NILAI UMUR');&lt;br /&gt;for i:=1 to banyak do&lt;br /&gt;writeln(nim[i]:1, nama[i]:8, nilai[i]:7:2,' ',umur[i]:4);&lt;br /&gt;&lt;br /&gt;end.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OUTPUT:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_UEqlv8O399Y/Ss2dvEQOVVI/AAAAAAAAAG8/pcybpV_Ry74/s1600-h/untitled2.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img $r="true" border="0" src="http://2.bp.blogspot.com/_UEqlv8O399Y/Ss2dvEQOVVI/AAAAAAAAAG8/pcybpV_Ry74/s320/untitled2.
