tag:blogger.com,1999:blog-4277691903121115622024-02-19T06:54:34.852-08:00TechnikoAnonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.comBlogger17125tag:blogger.com,1999:blog-427769190312111562.post-34921849336503336752015-10-03T23:37:00.001-07:002015-10-03T23:37:15.059-07:00Asha Dandiya 2015 - Dance for a cause!<p>Asha for Education, Stanford chapter is organising a fund raising event, <a data-mce-href="http://ashadandiya.org" href="http://ashadandiya.org">Asha Dandiya 2015</a>. Dandiya Raas or Raas is a traditional fold dance form of the state of Gujarat, India. The dance form can be simple to complex and is typically performed with two colorfully decorated sticks also called dandiyas. <a data-mce-href="https://www.facebook.com/events/768223383304413/" href="https://www.facebook.com/events/768223383304413/">Asha dandiya 2015</a> will be performed under open sky.</p><p><br data-mce-bogus="1"></p><p>All proceeds from this event will directly benefit the <a data-mce-href="http://bwfindia.org.in/" href="http://bwfindia.org.in/">Borderless World Foundation</a>, an organization supported by Asha for Education, that has been transforming the lives of orphaned girls in the Kashmir valley for more than fifteen years.</p><p>The founder of Borderless World Foundation, Adhik's journey to the Kashmir valley is extremely inspiring. It takes a special person to give everything he has, and then some more, to bring happiness to these kids. The video describes the project some more : <a data-mce-href="https://www.youtube.com/watch?v=RZBKfFaMKss" href="https://www.youtube.com/watch?v=RZBKfFaMKss">https://www.youtube.com/watch?v=RZBKfFaMKss </a></p><p><br data-mce-bogus="1"></p><p>To donate, please go to <a data-mce-href="https://donate.ashanet.org/?a=7&e=817%20" href="https://donate.ashanet.org/?a=7&e=817%20">https://donate.ashanet.org/?a=7&e=817 </a></p>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-60820226859547898502012-10-07T20:23:00.000-07:002012-10-07T20:23:39.535-07:00Why is this blog called 'techniko'?<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
'techniko' is a take on the word <span style="background-color: white;"><i>tekniko </i>which means technics or technique in Esperanto. <a href="http://en.wikipedia.org/wiki/Esperanto" target="_blank">Esperanto </a>is a constructed international language designed for international communication. </span>The basic rules and words of Esperanto were proposed by <a href="http://en.wikipedia.org/wiki/L._L._Zamenhof" target="_blank">L. L. Zamenhof</a> at the end of the 19th century.<br />
<br />
Since this blog primarily deals with technology, I think 'techniko' is a apt (and it sounds pretty cool too!).<br />
<br />
Check this <a href="http://en.lernu.net/" target="_blank">site</a> out if you want to early Esperanto.<br />
<br />
<a class="twitter-follow-button" data-dnt="true" data-show-count="false" href="https://twitter.com/virup">Follow @virup</a></div>
</div>
Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0Gainesville, FL, USA29.6516344 -82.324826229.5412394 -82.4827547 29.7620294 -82.1668977tag:blogger.com,1999:blog-427769190312111562.post-33321959660740194222012-10-01T11:39:00.001-07:002012-10-01T11:58:11.076-07:00Use of Dog-tag Fields to Check for Corrupted Memory<div dir="ltr" style="text-align: left;" trbidi="on">
<a class="twitter-share-button" data-via="virup" href="https://twitter.com/share">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script><br />
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
Often times in a program, memory needs to be allocated and subsequently deleted. A program might be fatally affected if a deleted memory is reused, or if a memory is deleted more than once. "Dog-tag" fields are used to detect corruption. A tag field is attached to memory structure for error checking and if the tag does not have the expected value, then the data is corrupted.<br />
<br />
Lets say you want to request 10 bytes. We will use a tag field of 4 bytes. It works in the following manner:<br />
<br />
1. Allocate a total of 10 + 4 = 14 bytes<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGE-J9Uq921s_b2HK90jm85ESRSNtbLnVTMm2830fDyOO7ni4fXjveH-ranN4bTaNjpRiqNxlQdtyVpExkrsHK5m2H5cPGfarLxXDFgUSiRK9H0pYCMiWpaxoq_8FJFfctd_8tkZnb0T7j/s1600/p1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGE-J9Uq921s_b2HK90jm85ESRSNtbLnVTMm2830fDyOO7ni4fXjveH-ranN4bTaNjpRiqNxlQdtyVpExkrsHK5m2H5cPGfarLxXDFgUSiRK9H0pYCMiWpaxoq_8FJFfctd_8tkZnb0T7j/s1600/p1.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: left;">2. Set the first 4 bytes to a tag value. For our purpose, we will assume INUSE tag equal to 1. Any other value indicates corruption.</span></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGDil6gFVWT66h1laGxN9oxeLy5YcfDmfICB69pDyJSKEZU7PauoOaq_gh-rMGVF8OUzig5oxjeIwCg9I4moi0_YYm2ugcQtOdh18Kerl0hfFt7r9CUWFk-GJz3DKmdiV3a-uf33jhVz2/s1600/p2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBGDil6gFVWT66h1laGxN9oxeLy5YcfDmfICB69pDyJSKEZU7PauoOaq_gh-rMGVF8OUzig5oxjeIwCg9I4moi0_YYm2ugcQtOdh18Kerl0hfFt7r9CUWFk-GJz3DKmdiV3a-uf33jhVz2/s1600/p2.png" /></a></div>
<br /></div>
<div>
3. Return a pointer to the memory which starts AFTER the tag field<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNOBfnNwiF6VmzkmA5MmM2SWK52uoiGJlbx2q_b4-T8ninsXLKbtH2f27HEEAcua6niBF-GSqqt6CxlNBM5ULGx7ITs0yadU1rcUBlohtvkCrSiDGR19rxETZwi7iOUClbGFbWLlpHAesD/s1600/p3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNOBfnNwiF6VmzkmA5MmM2SWK52uoiGJlbx2q_b4-T8ninsXLKbtH2f27HEEAcua6niBF-GSqqt6CxlNBM5ULGx7ITs0yadU1rcUBlohtvkCrSiDGR19rxETZwi7iOUClbGFbWLlpHAesD/s1600/p3.png" /></a></div>
<br />
<h4 style="text-align: left;">
Deletion:</h4>
</div>
<div class="separator" style="clear: both; text-align: left;">
When deleting, follow these steps:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
1. Check the tag. If the tag value is equal to INUSE, then set it to FREED (assumed to be 0 in our case).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
2. Delete the whole 14 bytes</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_jgJ8YdsZ2XpeDrl3NTty9bkJCLsWFiw1liYBp5bpL92pVoDkL7uhmoqDlZ5WKlu3qw6G2EmBrqYbsPB38ClOL-bIpaaSoIaxyWyfG2ogX0cj4b31ZRcFhJZF5iJooOXfNT5Nu4Q7kSpq/s1600/p4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_jgJ8YdsZ2XpeDrl3NTty9bkJCLsWFiw1liYBp5bpL92pVoDkL7uhmoqDlZ5WKlu3qw6G2EmBrqYbsPB38ClOL-bIpaaSoIaxyWyfG2ogX0cj4b31ZRcFhJZF5iJooOXfNT5Nu4Q7kSpq/s1600/p4.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
That's it!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h4 style="text-align: left;">
Implementation:</h4>
<div class="separator" style="clear: both; text-align: left;">
The following code is an implementation of the above concept in C. It has two function: <i>safe_malloc()</i> and <i>safe_delete()</i> which when used in pair performs the above strategy.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
<script src="https://gist.github.com/3813572.js"> </script></div>
<br />
Get interesting code ideas from me on twitter
<a class="twitter-follow-button" data-show-count="false" href="https://twitter.com/virup">Follow @virup</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0Gainesville, FL, USA29.6516344 -82.324826229.5412394 -82.4827547 29.7620294 -82.1668977tag:blogger.com,1999:blog-427769190312111562.post-73437555370502359602012-09-19T21:01:00.000-07:002012-09-20T14:20:47.415-07:00Book Review: India Calling: An Intimate Portrait of a Nation's Remaking <div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Times, Times New Roman, serif;">I recently completed reading </span><span style="background-color: white; font-family: Times, 'Times New Roman', serif;"><a href="http://www.amazon.com/India-Calling-Intimate-Portrait-Remaking/dp/1250001722" target="_blank">India Calling: An Intimate Portrait of a Nation's Remaking</a> by Anand Giridharadas. Giridharadas </span><span style="font-family: Times, Times New Roman, serif;">writes the "Currents" column for the International Herald Tribune and The New York Times online. A child of immigrant parents, he worked in Mumbai as a management consultant until 2005, when he began reporting from that city for the Herald Tribune and the Times. </span><br />
<span style="font-family: Times, Times New Roman, serif;"><br /></span>
<span style="font-family: Times, Times New Roman, serif;">The book traces the new found freedom and ambition among the people of India. Giridharadas contrasts the current Indian society with the time when his parents moved from India to US for better prospects. At that time Giridharadas notes, the move from India to the US was a necessity unlike now. He provides a </span><span style="font-family: Times, 'Times New Roman', serif;">bewildered</span><span style="font-family: Times, 'Times New Roman', serif;"> </span><span style="font-family: Times, 'Times New Roman', serif;">foreigner's perspective on the rapidly developing, fast paced, increasingly westernized India and he finds it difficult to reconcile the Indian story that he heard from his parents when he was young.</span><br />
<span style="font-family: Times, Times New Roman, serif;"><br /></span><span style="font-family: Times, 'Times New Roman', serif;">Watch his interview with Jon Stewart about his book here : </span><br />
<span style="font-family: Times, Times New Roman, serif;"><br /></span>
<span style="font-family: Times, Times New Roman, serif;"><br /></span>
<br />
<table cellpadding="0" cellspacing="0" style="background-color: whitesmoke; color: #333333; font: 11px arial; height: 340px; width: 512px;"><tbody>
<tr style="background-color: #e5e5e5;" valign="middle"><td style="padding: 2px 1px 0px 5px;"><a href="http://www.thedailyshow.com/" style="color: #333333; font-weight: bold; text-decoration: none;" target="_blank">The Daily Show with Jon Stewart</a></td><td style="font-weight: bold; padding: 2px 5px 0px 5px; text-align: right;">Mon - Thurs 11p / 10c</td></tr>
<tr style="height: 14px;" valign="middle"><td colspan="2" style="padding: 2px 1px 0px 5px;"><a href="http://www.thedailyshow.com/watch/mon-january-24-2011/anand-giridharadas" style="color: #333333; font-weight: bold; text-decoration: none;" target="_blank">Anand Giridharadas</a></td></tr>
<tr style="background-color: #353535; height: 14px;" valign="middle"><td colspan="2" style="overflow: hidden; padding: 2px 5px 0px 5px; text-align: right; width: 512px;"><a href="http://www.thedailyshow.com/" style="color: #96deff; font-weight: bold; text-decoration: none;" target="_blank">www.thedailyshow.com</a></td></tr>
<tr valign="middle"><td colspan="2" style="padding: 0px;"><embed allowfullscreen="true" allownetworking="all" allowscriptaccess="always" bgcolor="#000000" flashvars="autoPlay=false" height="288" src="http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:372000" style="display: block;" type="application/x-shockwave-flash" width="512" wmode="window"></embed></td></tr>
<tr style="height: 18px;" valign="middle"><td colspan="2" style="padding: 0px;"><table cellpadding="0" cellspacing="0" style="height: 100%px; margin: 0px; text-align: center; width: 100%px;"><tbody>
<tr valign="middle"><td style="padding: 3px; width: 33%;"><a href="http://www.thedailyshow.com/full-episodes/" style="color: #333333; font: 10px arial; text-decoration: none;" target="_blank">Daily Show Full Episodes</a></td><td style="padding: 3px; width: 33%;"><a href="http://www.indecisionforever.com/" style="color: #333333; font: 10px arial; text-decoration: none;" target="_blank">Political Humor & Satire Blog</a></td><td style="padding: 3px; width: 33%;"><a href="http://www.facebook.com/thedailyshow" style="color: #333333; font: 10px arial; text-decoration: none;" target="_blank">The Daily Show on Facebook</a></td></tr>
</tbody></table>
</td></tr>
</tbody></table>
</div>
<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
If you like my blog, make sure you follow my on twitter for more interesting stuff.<br />
<a class="twitter-follow-button" data-dnt="true" data-show-count="false" href="https://twitter.com/virup">Follow @virup</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script><br />
<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-48560008026524287382012-09-15T21:54:00.000-07:002012-09-15T21:54:43.355-07:00How to Install Oracle's SQL*Plus in Ubuntu Without Instaling Oracle<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Times, Times New Roman, serif;"><span class="courier" style="background-color: white; font-weight: bold;">SQL*Plus</span><span style="background-color: white; line-height: 19px;"> is an Oracle command-line utility program that can run SQL and PL/SQL commands interactively or from a script. Programmers and DBAs commonly use it as the default available fundamental interface in almost any Oracle software installation</span></span><br />
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;"><br /></span></span>
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;">Oracle does not provide <b>.deb</b> packages which are recognized by Ubuntu. Instead they provide .rpm packages. This tutorial tells <b>how to install SQL*Plus without installing Oracle and using the .rpm packages in Ubuntu.</b></span></span><br />
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;"><br /></span></span>
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;">Follow these steps : </span></span><br />
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;"><br /></span></span>
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;">1. Download the following .rpm packages from Oracle's website.</span></span><br />
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;"><br /></span></span>
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;"> a. Choose either <a href="http://www.oracle.com/technetwork/topics/linuxsoft-082809.html" target="_blank">32 bit</a> or <a href="http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html" target="_blank">64 bit</a> versions </span></span><br />
<span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;"> b. Download </span></span><span style="font-family: Times, Times New Roman, serif; font-size: x-small;"><i><span style="background-color: white; list-style: none; margin: 0px; padding: 0px;">Instant Client Package - Basic:</span><span style="background-color: white;"> </span><span style="background-color: white; list-style: none; margin: 0px; padding: 0px;">All files required to run OCI, OCCI, and JDBC-OCI applications</span></i></span><br />
<span style="font-family: Times, Times New Roman, serif; font-size: x-small;"><i><span style="background-color: white; list-style: none; margin: 0px; padding: 0px;"> </span></i></span><span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;"> c. Download </span></span><span style="font-family: Times, Times New Roman, serif; font-size: x-small;"><i><span style="background-color: white; list-style: none; margin: 0px; padding: 0px;">Instant Client Package - SQL*Plus:</span><span style="background-color: white;"> </span><span style="background-color: white; list-style: none; margin: 0px; padding: 0px;">Additional libraries and executable for running SQL*Plus with Instant Client</span></i></span><br />
<span style="font-family: Times, Times New Roman, serif;"><i><span style="background-color: white; list-style: none; margin: 0px; padding: 0px;"><span style="font-size: x-small;"> </span><b> Remember to download the .rpm versions and NOT the .zip versions</b></span></i></span><br />
<span style="font-family: Times, Times New Roman, serif;"><span style="background-color: white; list-style: none; margin: 0px; padding: 0px;"><br /></span></span>
<span style="background-color: white; font-family: Times, 'Times New Roman', serif; list-style: none; margin: 0px; padding: 0px;">2. </span><span style="background-color: white; font-family: Times, 'Times New Roman', serif; line-height: 19px;">Install the application </span><span class="courier" style="background-color: white; font-family: Times, 'Times New Roman', serif; font-weight: bold;">alien</span><span style="background-color: white; font-family: Times, 'Times New Roman', serif; line-height: 19px;"> to convert the </span><span class="courier" style="background-color: white; font-family: Times, 'Times New Roman', serif; font-weight: bold;">.rpm</span><span style="background-color: white; font-family: Times, 'Times New Roman', serif; line-height: 19px;"> packages to </span><span class="courier" style="background-color: white; font-family: Times, 'Times New Roman', serif; font-weight: bold;">.deb</span><span style="background-color: white; line-height: 19px;"><span style="font-family: Times, Times New Roman, serif;">. Install it by executing</span><span style="font-family: Trebuchet MS, Lucida Grande, Tahoma, Verdana, Arial, sans-serif; font-size: x-small;">:</span></span><br />
<span style="background-color: white; line-height: 19px;"><span style="font-family: Trebuchet MS, Lucida Grande, Tahoma, Verdana, Arial, sans-serif; font-size: x-small;"><br /></span></span>
<br />
<table style="background-image: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; color: black; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; height: auto !important; left: auto !important; line-height: 14px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; text-align: left; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-color: rgb(255, 255, 255) !important; background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(120, 120, 120) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;"><br /></code></td><td class="content" style="background-image: none !important; border-left-color: rgb(212, 208, 200) !important; border-left-style: solid !important; border-width: 0px 0px 0px 1px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$ </code><code class="functions" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">sudo</code> <code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">apt-get </code><code class="functions" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">install</code> <code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">alien</code></td></tr>
</tbody></table>
<span style="background-color: white; font-family: Times, 'Times New Roman', serif; line-height: 1.1em;"><br /></span>
<span style="background-color: white; font-family: Times, 'Times New Roman', serif; line-height: 1.1em;">3. CD to the folder containing the .rpm file</span><br />
<dl style="background-color: white;"><div class="syntaxhighlighter " id="highlighter_52594" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 1em 0px !important; min-height: inherit !important; outline: 0px !important; padding: 1px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 657px;">
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background-image: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; color: black; height: auto !important; left: auto !important; line-height: 14px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; text-align: left; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(120, 120, 120) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;"><br /></code></td><td class="content" style="background-image: none !important; border-left-color: rgb(212, 208, 200) !important; border-left-style: solid !important; border-width: 0px 0px 0px 1px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: small;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$ </code><code class="functions" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(255, 20, 147) !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">sudo</code> <code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">alien -k oracle-instantclient*.rpm</code></span></td></tr>
</tbody></table>
<br /></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<span style="font-family: Times, Times New Roman, serif;">4. The .deb files have been generated. Install them using </span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<br /></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background-image: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; color: black; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; height: auto !important; left: auto !important; line-height: 14px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; text-align: left; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(120, 120, 120) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;"><br /></code></td><td class="content" style="background-image: none !important; border-left-color: rgb(212, 208, 200) !important; border-left-style: solid !important; border-width: 0px 0px 0px 1px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$ </code><code class="functions" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">sudo</code> <code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">dpkg -i oracle-instantclient*basic*.deb<br /><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$ </code><code class="functions" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">sudo</code> <code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">dpkg -i oracle-instantclient*sqlplus*.deb</code></code></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<br /></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<span style="font-family: Times, Times New Roman, serif;">5. <span style="line-height: 19px;">Add the library to classpath. </span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<span style="font-family: Times, Times New Roman, serif;"><span style="line-height: 19px;"><br /></span></span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background-image: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; color: black; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; height: auto !important; left: auto !important; line-height: 14px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; text-align: left; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(120, 120, 120) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;"><br /></code></td><td class="content" style="background-image: none !important; border-left-color: rgb(212, 208, 200) !important; border-left-style: solid !important; border-width: 0px 0px 0px 1px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$ vim ~/.bashrc</code></td></tr>
</tbody></table>
<br /></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<span style="font-family: Times, Times New Roman, serif;">6. Add this line at the end of the file. Replace <b>$version$</b> with the correct number.</span></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<br /></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<table style="background-image: none !important; border-collapse: collapse !important; border: 0px !important; bottom: auto !important; color: black; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13px; height: auto !important; left: auto !important; line-height: 14px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; text-align: left; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-image: none !important; border: 0px !important; bottom: auto !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(120, 120, 120) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-image: none !important; border: 0px !important; bottom: auto !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0.3em 0px 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;"><br /></code></td><td class="content" style="background-image: none !important; border-left-color: rgb(212, 208, 200) !important; border-left-style: solid !important; border-width: 0px 0px 0px 1px !important; bottom: auto !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px 0px 0px 0.5em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$ </code><code class="functions" style="background-image: none !important; border: 0px !important; bottom: auto !important; color: rgb(255, 20, 147) !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">export</code> <code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">LD_LIBRARY_PATH=/usr/lib/oracle/$version$/client/lib</code></td></tr>
</tbody></table>
</div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<br /></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<br /></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
Now you can connect to any oracle installation using the command : </div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<br /></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 13px; height: auto !important; left: auto !important; line-height: 14px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> $ <b>sqlplus</b> username/password@hostname/orcl</code></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 13px; height: auto !important; left: auto !important; line-height: 14px; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><br /></code></div>
<div class="line alt1" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; height: auto !important; left: auto !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<span style="font-family: Times, Times New Roman, serif;"><span style="line-height: 14px;">Replace username, password, hostname, and orcl. Mostly the orcl will be "orcl" only.</span></span></div>
<div style="line-height: 1.1em !important;">
<code class="plain" style="background-image: none !important; border: 0px !important; bottom: auto !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: inherit !important; outline: 0px !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><br /></code></div>
</div>
</dl>
</div>
Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-21230544469223417462012-09-15T12:07:00.000-07:002012-09-24T08:31:02.924-07:00Finding Shortest Path in a Graph inside PostgreSQL Database<a href="https://twitter.com/share" class="twitter-share-button" data-via="virup" data-hashtags="graph">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="http://twitter.com/cegme" target="_blank">@cegme</a> and I recently tackled this interesting problem of finding the shortest route between two nodes in a graph from inside a database.<br />
<br />
We have a list of research papers and their citations which we call "links". The idea is to start from a given paper and follow its links recursively till reach the specified destination paper. This is a typical graph problem and can be solved using well known<a href="http://en.wikipedia.org/wiki/Shortest_path_problem" target="_blank"> shortest-path finding algorithms</a>. However our data was in the database consequently we wanted to solve the problem using SQL queries which was a challenge.<br />
<br />
We solved this problem inside the database using <a href="http://www.postgresql.org/docs/8.4/static/queries-with.html" target="_blank">WITH queries (Common Table Expressions)</a> which was introduced in PostgreSQL version 8.4. The following extract explains WITH keyword.<br />
<blockquote class="tr_bq">
<span style="font-family: Courier New, Courier, monospace;"><tt class="LITERAL" style="background-color: white; font-size: 12px; line-height: 18.233333587646484px;">WITH</tt><span style="background-color: white; font-size: 12px; line-height: 18.233333587646484px;"> provides a way to write subqueries for use in a larger </span><tt class="LITERAL" style="background-color: white; font-size: 12px; line-height: 18.233333587646484px;">SELECT</tt><span style="background-color: white; font-size: 12px; line-height: 18.233333587646484px;"> query. The subqueries, which are often referred to as Common Table Expressions or </span><acronym class="ACRONYM" style="background-color: white; font-size: 12px; line-height: 18.233333587646484px;">CTE</acronym><span style="background-color: white; font-size: 12px; line-height: 18.233333587646484px;">s, can be thought of as defining temporary tables that exist just for this query. One use of this feature is to break down complicated queries into simpler parts.</span></span></blockquote>
<br />
This is how we went about solving the problem:<br />
<br />
We have the following table (in a PostgresSQL database):<br />
<i><b>Reference(pid integer, citation integer); // paper "pid" cites paper "citation"</b></i><br />
<br />
We created a User Defined Function (UDF) called:<br />
<span class="n" style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;">search_path</span><span class="p" style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;">(</span><span class="k" style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-weight: bold; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;">start</span><span style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; white-space: pre;"> </span><span class="nb" style="background-color: white; color: #0086b3; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;">integer</span><span class="p" style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;">,</span><span style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; white-space: pre;"> </span><span class="n" style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;">destination</span><span style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; white-space: pre;"> </span><span class="nb" style="background-color: white; color: #0086b3; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;">integer</span><span class="p" style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;">)</span><br />
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;"><br /></span></span>
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;">Where <b><i>start</i></b> is the paper id of the starting paper and <b><i>destination</i></b> is the paper id of the last paper.</span></span><br />
<br />
<script src="https://gist.github.com/3725408.js"> </script>
<br />
<h3 style="text-align: left;">
Detailed Explanation</h3>
Let me explain what happens in this UDF:<br />
<br />
1. We declare a UDF :<br />
<blockquote class="tr_bq">
<span class="k" style="background-color: white; font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 12px; font-weight: bold; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"> </span><span style="text-align: -webkit-auto; white-space: pre-wrap;"><span style="font-family: Verdana, sans-serif; font-size: x-small;"><b>CREATE OR REPLACE FUNCTION</b> search_path(start integer, destination integer)</span></span></blockquote>
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;"><br /></span></span>
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;">2. It returns a table.</span></span><br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;"> </span><span style="font-family: Verdana, sans-serif;"> </span></span><span style="text-align: -webkit-auto; white-space: pre-wrap;"><span style="font-family: Verdana, sans-serif;"><b>RETURNS TABLE</b>(depth integer, path integer[]) AS $$</span></span></span></blockquote>
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;"><br /></span></span>
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;">3. We use the <b>WITH RECURSIVE </b>keyword available in Postgres and form a table containing the starting paper (<b>id</b>), the next paper in the path (<b>link</b>), the length of the path (<b>depth</b>), the list of traversed paper (<b>route</b>), and a boolean <b>cycle</b> variable to keep a note of whether we are forming a cycle or not.</span></span><br />
<blockquote class="tr_bq">
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;"> </span></span><span style="text-align: -webkit-auto; white-space: pre-wrap;"><span style="font-family: Verdana, sans-serif; font-size: x-small;"><b>WITH RECURSIVE</b> search_paper(id, link, data, depth, route, cycle)</span></span></blockquote>
<br />
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;">4. We start off with the starting paper id. This is the base case and gets executed only once.</span></span><br />
<blockquote class="tr_bq">
<div style="text-align: left;">
<span style="text-align: -webkit-auto;"> </span><span style="font-family: Verdana, sans-serif; font-size: x-small; text-align: -webkit-auto; white-space: pre-wrap;"><b>SELECT</b> r.pid, r.citation, 'data', 1,</span></div>
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><b> ARRAY</b>[r.pid],<br /> false<br /><b> FROM</b> reference r <b>WHERE</b> r.pid=start</span></blockquote>
<pre style="line-height: 1.4em; padding: 0px;"><span style="font-family: Verdana, sans-serif; font-size: x-small;">
</span></pre>
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><br /></span>
</span><span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Verdana, sans-serif; font-size: x-small;">5. We </span><span style="font-family: Times, Times New Roman, serif;">recursively add the next link in the path, check if a cycle is formed or not, increase the depth. If a cycle is formed, we immediately exit the loop. This is controlled by the <b>cycle</b> variable. This piece of code gets executed multiple times until cycle != <i>true</i>.</span></span><br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span style="font-family: Verdana, sans-serif;"><span style="text-align: -webkit-auto; white-space: pre-wrap;"><b>SELECT</b> r.pid, r.citation, 'data', sp.depth+1,</span> route || r.pid,<br /> r.pid = <b>ANY</b>(route)<br /><b> FROM</b> reference r, search_paper sp<br /><b> WHERE</b> r.pid = sp.link <b>AND NOT</b> cycle</span></span></blockquote>
<span style="font-family: Verdana, sans-serif;"><br /></span>
<span class="p" style="background-color: white; line-height: 16px; margin: 0px; padding: 0px; white-space: pre;"><span style="font-family: Times, Times New Roman, serif;">6. Finally if we hit our destination paper id in the search, we exit the loop. We only select the depth and the route (as an array of integers) and display it. Note that we order the result with increasing depth since we may obtain more than one route.</span></span><br />
<blockquote class="tr_bq">
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><span style="text-align: -webkit-auto; white-space: pre-wrap;"><b>SELECT</b> sp.depth, (sp.route || sp.link) <b>AS</b> route </span><b>FROM</b> search_paper AS sp<br /> <b>WHERE</b> link = destination <b>AND NOT</b> cycle <b>ORDER BY</b> depth <b>ASC</b>;</span></blockquote>
<pre style="font-family: 'Bitstream Vera Sans Mono', Courier, monospace; font-size: 12px; line-height: 1.4em; padding: 0px;"></pre>
</div>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-4723058223704442142012-09-15T10:16:00.004-07:002012-09-15T10:33:18.601-07:00Embedding Code Snippets in a Blog<div dir="ltr" style="text-align: left;" trbidi="on">
Recently I have been searching for an easy way to put snippets of code in blog posts which is also attractive looking (including syntax highlighting etc).<br />
<div>
<br /></div>
<div>
I think embedding code from gist is a very convenient way to do it.</div>
<div>
<br /></div>
<div>
These are the steps to do exactly that :</div>
<div>
</div>
<div>
<div>
<ol style="text-align: left;">
<li>Go to <a href="http://gist.github.com/">http://gist.github.com</a></li>
<li>Past the code you want to post (add optional descriptions and file name)</li>
<li>Click on "Create Public Gist"</li>
<li>Click on "Embed All Files : show embed"</li>
<li>Copy the embed tag HTML code</li>
<li>Go back to blogger and create a new post</li>
<li>Select "Edit Html" </li>
<li>Paste the embed tag anywhere into your post.</li>
</ol>
<div>
Thats it! This is my C++ Hello World program :</div>
</div>
<br /></div>
<script src="https://gist.github.com/3728896.js"> </script>
</div>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-12236172387138831542010-06-09T21:39:00.000-07:002010-06-09T21:39:13.637-07:00General Motors car fire risk<a href="http://www.caglecartoons.com/images/preview/%7Bf5fb4574-a6ea-48c1-b0e7-1d65d71a76bf%7D.gif">General Motors car fire risk</a>: "<img src="http://www.caglecartoons.com/images/preview/%7Bf5fb4574-a6ea-48c1-b0e7-1d65d71a76bf%7D.gif" alt="" border="0" /><br />"Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-59361204982089971932010-04-04T22:09:00.000-07:002010-04-04T22:09:26.047-07:00Seismic Waves<a href="http://xkcd.com/723/">Seismic Waves</a>: <img src="http://imgs.xkcd.com/comics/seismic_waves.png" title="The USGS operates a really neat email/SMS earthquake notification service (earthquake.usgs.gov/ens/) that allows fine-grained control of notifiations." alt="The USGS operates a really neat email/SMS earthquake notification service (earthquake.usgs.gov/ens/) that allows fine-grained control of notifiations." /><div><br /></div><div>source: xkcd.com</div>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-85021340896217938572010-03-30T09:20:00.000-07:002010-03-30T09:20:36.257-07:00Blogging tools you could useWell to be honest, blogging is not just typing and uploading. Check out these <a href="http://www.quickonlinetips.com/archives/2005/04/free-essential-tools-for-blogger/">tools</a> you can use to make your blogging experience easier and better. <span style="font-weight: bold; font-style: italic;">Haloscan</span> is my favorite. Whats yours ?<br /><br /><br /><a href="http://www.quickonlinetips.com/archives/2005/04/free-essential-tools-for-blogger/"><br /></a>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-37001950024614628832009-10-14T06:26:00.000-07:002009-10-14T06:28:38.764-07:00Upgrade Ubuntu 9.04 (Jaunty Jackalope) to Ubuntu 9.10 (Karmic Koala) BetaUbuntu 9.10 is the upcoming version of the Ubuntu operating system. The common name given to this release from the time of its early development was “Karmic Koala”. Check <a href="http://www.ubuntugeek.com/upgrade-ubuntu-9-04-jaunty-jackalope-to-ubuntu-9-10-karmic-koala-beta.html">this link</a> out for step by step method to update 9.04 to 9.10Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-63470344429283508802009-04-01T19:29:00.000-07:002009-04-01T19:32:48.895-07:00Text editors for LinuxWe all know the importance of a good text editor in our daily life. You might want to have syntax highlighting when you are coding on these text editors. This <a href="http://tuxarena.blogspot.com/2009/04/14-most-popular-text-editors-for-linux.html">article</a> talks about 14 most popular text editors. So have your pick today ! <br /><br /><a href="http://tuxarena.blogspot.com/2009/04/14-most-popular-text-editors-for-linux.html">Click here for the entire story</a>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-54093863089857861522009-03-19T23:51:00.000-07:002009-03-19T23:53:24.897-07:00Learn basic GTK+You can create amazing GUI on Linux using GTK+ toolkit with Glade IDE. Follow my <a href="http://viru-techblog.blogspot.com/2007/11/gtk-programming-starters.html">link</a> to get the details.Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-41089876051062004172008-11-27T19:21:00.000-08:002008-11-27T19:22:17.647-08:00Gadget of the Year Poll ResultsYou've seen TIME's picks for the top 10 gadgets of 2008, including a stylish little e-mail checker called Peek; the sleekest, sturdiest and greenest MacBook yet; a must-have, idiot-proof Flip video camera; and the Sanyo Xacti digital camera and video recorder in one. Now we'd like to know your choice for the best gadget of the year. Vote now.<br /><br /><br /><a href=http://www.time.com/time/specials/packages/article/0,28804,1852747_1854284,00.html>Click here</a>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-34788107306778126812008-11-23T07:53:00.000-08:002008-11-23T07:58:04.415-08:0010 Php tipsPHP programming has climbed rapidly since its humble beginnings in 1995. Since then, PHP has become the most popular programming language for Web applications. Many popular websites are powered by PHP, and an overwhelming majority of scripts and Web projects are built with the popular language.<br /><br />Because of PHP’s huge popularity, it has become almost impossible for Web developers not to have at least a working knowledge of PHP. This tutorial is aimed at people who are just past the beginning stages of learning PHP and are ready to roll up their sleeves and get their hands dirty with the language.<br /><br /><br /><a href=http://www.smashingmagazine.com/2008/11/18/10-advanced-php-tips-to-improve-your-progamming/> Click here for the full story</a>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-55938202998131597172008-11-23T00:41:00.000-08:002008-11-23T07:59:37.058-08:00Google wikiSearchHave you ever wanted to mark up Google search results? Maybe you're an avid hiker and the trail map site you always go to is in the 4th or 5th position and you want to move it to the top. Or perhaps it's not there at all and you'd like to add it. Or maybe you'd like to add some notes about what you found on that site and why you thought it was useful. Starting today you can do all this and tailor Google search results to best meet your needs.<br /><a href=http://googleblog.blogspot.com/2008/11/searchwiki-make-search-your-own.html>Click here for the entire story</a>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0tag:blogger.com,1999:blog-427769190312111562.post-11733206140426615952008-11-23T00:04:00.000-08:002008-11-23T08:00:28.396-08:00Best practices for secure PHP pages.So you write PHP pages? Do you know about the local and remote security concerns? <br />This IBM Developerworks link lists out 7 must know "best practices" for any PHP application.<br /><br /><a href=http://www.ibm.com/developerworks/opensource/library/os-php-secure-apps/index.html?ca=drs-> Click here for the entire story</a>Anonymoushttp://www.blogger.com/profile/18220563551050520466noreply@blogger.com0