<?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-3031962814593058692</id><updated>2012-02-03T06:00:58.371+05:30</updated><category term='solr'/><category term='apex'/><category term='DNS'/><category term='AdobeFlex'/><category term='html5'/><category term='socialBI'/><category term='Misc'/><category term='searchengine'/><category term='hadoop'/><category term='firefox'/><category term='Gutsy'/><category term='JusTalk'/><category term='encryption'/><category term='exadata'/><category term='sqlserver'/><category term='iphone'/><category term='LMS'/><category term='dwh-bi'/><category term='Dell'/><category term='Mac'/><category term='Solaris'/><category term='ExternaLinks'/><category term='Feisty'/><category term='PerlTips'/><category term='Rails_App_For_Existing_DB'/><category term='Apache'/><category term='InfoBright'/><category term='mysql'/><category term='wifi'/><category term='vmware'/><category term='Rails'/><category term='mapping-design'/><category term='Photography'/><category term='solar-power'/><category term='mgmt'/><category term='india'/><category term='SMF'/><category term='OpenSolaris'/><category term='shell-script'/><category term='GIDS2010'/><category term='ups'/><category term='GIDS2011'/><category term='html'/><category term='devsummit'/><category term='Eclipse'/><category term='Externals'/><category term='Laptops'/><category term='data-lineage'/><category term='vista'/><category term='google'/><category term='Unix'/><category term='pricing'/><category term='bigdata'/><category term='ETL'/><category term='debugging'/><category term='apple'/><category term='Samba'/><category term='rSupport'/><category term='GIDS'/><category term='Oracle'/><category term='hardy'/><category term='Tutorials'/><category term='green'/><category term='agile'/><category term='quad-core'/><category term='analysis'/><category term='shell'/><category term='consulting'/><category term='base64_encoding'/><category term='concept'/><category term='script'/><category term='domain'/><category term='tips_n_tricks'/><category term='Virtualization'/><category term='hardware'/><category term='linux'/><category term='HP'/><category term='ebooks'/><category term='Informatica'/><category term='BOINC'/><category term='Fonts'/><category term='CloudComputing'/><category term='deployment'/><category term='Imaging'/><category term='sqldeveloper'/><category term='Java'/><category term='OpenSource'/><category term='Blogging'/><category term='web2.0'/><category term='Ruby'/><category term='twitter'/><category term='ExplainPlan'/><category term='data-cleansing'/><category term='Ubuntu-India'/><category term='Ubuntu'/><category term='capistrano'/><category term='data'/><category term='Pentaho'/><category term='SqlTuning'/><title type='text'>my technology playground</title><subtitle type='html'>my experiences with technology space</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tech.sraghav.in/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default?start-index=101&amp;max-results=100'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>180</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-384584381366679332</id><published>2012-02-03T04:08:00.002+05:30</published><updated>2012-02-03T04:09:47.411+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='solar-power'/><category scheme='http://www.blogger.com/atom/ns#' term='concept'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='green'/><title type='text'>And now.. a ubuntu laptop concept that works on Solar energy .. wow...</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Nick Rutledge has conceptualized a thin laptop that runs Ubuntu, is beautiful and hopes to run on Solar power... isnt that a killer combination...&lt;br /&gt;&lt;br /&gt;check out his concept here...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nrutledge.blogspot.com/p/ubuntu-laptop-concept.html"&gt;http://nrutledge.blogspot.com/p/ubuntu-laptop-concept.html&lt;/a&gt;&lt;br /&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/3031962814593058692-384584381366679332?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/384584381366679332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2012/02/and-now-ubuntu-laptop-concept-that.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/384584381366679332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/384584381366679332'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2012/02/and-now-ubuntu-laptop-concept-that.html' title='And now.. a ubuntu laptop concept that works on Solar energy .. wow...'/><author><name>raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8761106433068193103</id><published>2011-10-15T01:55:00.002+05:30</published><updated>2011-10-15T01:59:35.430+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='data-lineage'/><title type='text'>Data Lineage.. what is that ?</title><content type='html'>It is one of those buzzwords, that keep doing the circuit every once in a while.  Almost every enterprise wants to do the analysis regarding this, and is almost always hard to find people with knowledge/experience doing this kind of analysis.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the unaware,  Data Lineage is basically (really in very short words) a study of the data from its source to its eventual target, similar to what we'd do for our generation tree, we analyze the generation analysis of the data we are dealing with.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Starting from the source of the data, it travels through different subsystems, sometimes going through transformations, and thus possibly changing shape too...&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Informatica had a very interesting blog post around this (already in 2007), which can turn out to be fairly informative.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blogs.informatica.com/perspectives/index.php/2007/05/21/data-lineage-where-did-that-data-come-from/"&gt;http://blogs.informatica.com/perspectives/index.php/2007/05/21/data-lineage-where-did-that-data-come-from/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8761106433068193103?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8761106433068193103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2011/10/data-lineage-what-is-that.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8761106433068193103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8761106433068193103'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2011/10/data-lineage-what-is-that.html' title='Data Lineage.. what is that ?'/><author><name>raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3300080336206597501</id><published>2011-09-28T02:11:00.000+05:30</published><updated>2011-10-15T02:12:42.887+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='bigdata'/><category scheme='http://www.blogger.com/atom/ns#' term='hadoop'/><title type='text'>Informatica &amp; hadoop... solutions for future ?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Distributed computing using hadoop has taken the IT industry by a whirlwind in the last few years. &amp;nbsp;After getting almost "adopted" by yahoo, hadoop has progressed quite fast, and is now maturing slowly but steadily. &lt;br /&gt;&lt;br /&gt;More and more enterprise solution providers are annoucing their support for the hadoop platform, hoping to get a pie of the big Data business chunk. &amp;nbsp;Its possibly a fair thing to expect that the leader in Data Integration business solutions space, &lt;a href="http://www.informatica.com/"&gt;Informatica&lt;/a&gt; has also announced a tie up with Cloudera, for porting Informatica platform to hadoop.&lt;br /&gt;&lt;br /&gt;Though the exact details are yet to come out, the possibilities are endless. &amp;nbsp;With hadoop (and its inherent distributed computing based on map/reduce technology), informatica can actually think of processing big data in sustainable time frames.&lt;br /&gt;&lt;br /&gt;For one my customers, I deal with about 200 million rows of data per day in one job. &amp;nbsp;Besides the issues with oracle in tuning the query etc, the informatica component itself consumes times in terms of hours. &amp;nbsp;With map reduce in place, I hope to get that in minutes, oracle issues notwithstanding.&lt;br /&gt;&lt;br /&gt;Although word about hadoop is spreading quite fast, its adoption (from buzzword to actual usage in enterprise) is not as fast. &amp;nbsp;To aid their cause, Informatica and cloudera have started an interesting series of webinars, termed as "&lt;a href="http://www.informatica.com/hadooptuesdays"&gt;hadoop tuesdays&lt;/a&gt;". &amp;nbsp;Its free to join, and they get experts to talk about various related issues around hadoop and big data and informatica. &amp;nbsp;Its been very useful and informative so far.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3300080336206597501?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3300080336206597501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2011/09/informatica-hadoop-solutions-for-future.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3300080336206597501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3300080336206597501'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2011/09/informatica-hadoop-solutions-for-future.html' title='Informatica &amp; hadoop... solutions for future ?'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3211452591679150776</id><published>2011-07-25T20:43:00.003+05:30</published><updated>2011-07-25T21:51:32.357+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Switching defaults in Ubuntu</title><content type='html'>Ubuntu allows you to have multiple alternatives installed for many software.. for example, java.&lt;br /&gt;You can have the default open jdk installed, and then you can actually have the Sun version installed.&lt;br /&gt;&lt;br /&gt;For example, to see what alternatives are installed for your software, try going to /etc/alternatives.  Here you'd see many pieces of software with alternatives listed.&lt;br /&gt;&lt;br /&gt;With these software installed, you would need to point your system to use one of them as the default, this is important especially after installing a newer version of the software. &lt;br /&gt;&lt;br /&gt;In such a case, to switch the alternatives, you need to use this&lt;br /&gt;&lt;br /&gt;sudo update-alternatives&lt;br /&gt;&lt;br /&gt;If you do a man on update-alternatives, there is a plethora of options to use.&lt;br /&gt;&lt;br /&gt;For our example, to configure the default for java, use this&lt;br /&gt;&lt;br /&gt;sudo update-alternatives --config java&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3211452591679150776?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3211452591679150776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2011/07/switching-defaults-in-ubuntu.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3211452591679150776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3211452591679150776'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2011/07/switching-defaults-in-ubuntu.html' title='Switching defaults in Ubuntu'/><author><name>raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8176029725482120015</id><published>2011-05-12T22:00:00.000+05:30</published><updated>2011-05-14T01:51:28.736+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CloudComputing'/><title type='text'>writing for cloudtimes.org these days</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Read some of my content at &lt;a href="http://cloudtimes.org/author/raghav/"&gt;http://cloudtimes.org/author/raghav/&lt;/a&gt;&lt;br /&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/3031962814593058692-8176029725482120015?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8176029725482120015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2011/05/writing-for-cloudtimesorg-these-days.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8176029725482120015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8176029725482120015'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2011/05/writing-for-cloudtimesorg-these-days.html' title='writing for cloudtimes.org these days'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5735441776127064132</id><published>2011-04-20T22:55:00.002+05:30</published><updated>2011-04-25T20:54:46.795+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2011'/><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='html5'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS'/><title type='text'>HTML 5</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;I attended the .WEB day of GIDS (The &lt;b&gt;G&lt;/b&gt;reat &lt;b&gt;I&lt;/b&gt;ndian &lt;b&gt;D&lt;/b&gt;eveloper &lt;b&gt;S&lt;/b&gt;ummit) 2011 edition.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Among many talks, there were two focusing on HTML5. One by Scott Davis (of&amp;nbsp;&lt;a href="http://www.thirstyhead.com/"&gt;http://www.thirstyhead.com/&lt;/a&gt;) and Venkat Subramaniam (of&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.agiledeveloper.com/"&gt;http://www.agiledeveloper.com&lt;/a&gt;)&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp;. &amp;nbsp;Scott's talk was more on the conceptual and capability side of HTML 5. &amp;nbsp;Venkat focused more on the implementation and initiating newbies to HTML 5 coding.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Before these discussions, I would not have been able to say much on the capabilities of HTML5. It was more of a buzzword before, however, now its more of another technology holding lot of promise. &amp;nbsp; I think that should say a lot for the two speakers, that within two sessions, they have been able to lift the standard of know how around a cutting edge technology from buzzword to daily use.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Both these talks, put together were able to provide a rather complete picture. Enumerate the benefits, major improvements, new tags which are bringing in so much functionality to native HTML without need of any third party libraries, plugins etc.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Of course its cutting edge today, since not all browsers support all of the HTML 5 specification. The specification is huge in itself anyway. &amp;nbsp;As one of the speakers put it, the HTML 5 spec is a combination of HTML plus all of CSS 3 plus a lot of RIA functioanlities based on JavaScript libraries. &amp;nbsp;One can say that html5 is rather heavy from browser engine side, however, it intends to provide all the features across the browsers (eventually). &amp;nbsp; Since its a huge spec, not all browsers implement it &amp;nbsp;** completely and ** uniformly.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;There would be a time when all the browsers (at least the leading ones) would implement it completely (or almost all of it), but till then, the developers would have to live with &lt;b style="font-style: italic;"&gt;polyfill &lt;/b&gt;(&lt;b&gt;poli&lt;/b&gt;morphically back&lt;b&gt;fill&lt;/b&gt;) the html5 functionality for non supporting browsers. &amp;nbsp; A javascript library at &lt;a href="http://www.modernizer.com/"&gt;www.modernizer.com&lt;/a&gt; is a big help in implementing this transparently.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;As Scott very aptly put it, "We'd program for the faster animal in the herd, and allow the rest of the slower ones to polyfill. As and when they catch up with the fastest one, need for polyfill will automatically go away".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;From what I see in html5 spec (what ever part that I have come to know), it looks very very interesting and powerful. &amp;nbsp;Lots of current functionality that is implemented today with the help of third party libraries/plugins is going to be implemented natively.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;And, let me not forget to mention the one single most important innovation that is coming through with html5, semantic web. &amp;nbsp;Its not really a set of tags or something similar, rather a concept. &amp;nbsp; There are tags available in spec, which actually indicate the semantics (meaning) of the content. For example, there is a tag called &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;footer&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;. This tag wont do much on its own, but when someone is reading the code, or for that matter the parser program is going through the code, the tag name already says that its a footer. &amp;nbsp;The tag name actually means something. &amp;nbsp;This also paves way for future improvements on the implementation side.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Perhaps a separate post for html5 possibilities for mobile applications, a huge area in itself.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;b&gt;Resources&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;a href="http://www.html5rocks.com/"&gt;www.html5rocks.com&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;a href="http://www.html5doctor.com/"&gt;www.html5doctor.com&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;a href="http://www.diveintohtml5.org/"&gt;www.diveintohtml5.org&lt;/a&gt; -&amp;gt; this is a unique one, a complete book on html 5, which is available free of cost, completely online. &amp;nbsp;One of the finest resources for html5.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;a href="http://www.html5demos.com/"&gt;www.html5demos.com&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;a href="http://www.modernizer.com/"&gt;www.modernizer.com&lt;/a&gt;&amp;nbsp;&amp;nbsp;-&amp;gt; javascript library for polyfill&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp;&amp;nbsp; ## Technorati -&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;b&gt;CJYMQNJWMX9K&lt;/b&gt;&lt;/span&gt; &lt;/footer&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5735441776127064132?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5735441776127064132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2011/04/html-5.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5735441776127064132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5735441776127064132'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2011/04/html-5.html' title='HTML 5'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5553681206474254541</id><published>2011-03-13T17:56:00.001+05:30</published><updated>2011-03-13T18:21:25.304+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatica'/><title type='text'>convert Infrmatica Session Logs to text/xml format for out of tool readability</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;There was a situation recently when the infa repository was not able to point us to the old session logs.&lt;br /&gt;However, the file system still had those files.&lt;br /&gt;&lt;br /&gt;But the session log files are in binary format by default. If you didnt ask for backward compatible session log files, you'd get a binary format of session log file on file system. This is done to allow better importability of the session log files for infa support guys.&lt;br /&gt;&lt;br /&gt;So, I had a few log files in binary format, and needed to analyze them.&lt;br /&gt;Informatica provides a subcommand for infacmd to achieve that conversion.&lt;br /&gt;&lt;br /&gt;The convertLogFile subcommand takes three parameters. Syntax is as follows -&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;i&gt;convertLogFile &amp;lt;-InputFile|-in&amp;gt; input_file_name&lt;/i&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;-Format|-fm&amp;gt; format_TEXT_XML]&lt;/i&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;lt;-OutputFile|-lo&amp;gt; output_file_name]&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;so, when you launch this, you can specify the input file to be converted, the format as TEXT or XML and the output file that you'd want as a result of conversion.&lt;br /&gt;&lt;br /&gt;An example call would look like this - &amp;nbsp;(expecting server on&amp;nbsp;unix)&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;infacmd.sh convertLogFile -in /path/to/binary/format/sesslog/file -fm TEXT -lo /my/home/text/format/sesslog/file&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5553681206474254541?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5553681206474254541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2011/03/convert-infrmatica-session-logs-to.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5553681206474254541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5553681206474254541'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2011/03/convert-infrmatica-session-logs-to.html' title='convert Infrmatica Session Logs to text/xml format for out of tool readability'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4028915949388524107</id><published>2011-02-22T06:15:00.000+05:30</published><updated>2011-02-22T06:15:05.481+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='data-cleansing'/><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='analysis'/><title type='text'>Just found out about this amazing thing...</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;A research initiative at Stanford University, Data Wrangler.. Wonderfully helping for analysts.&lt;br /&gt;&lt;br /&gt;Try a demo video here -&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="300" src="http://player.vimeo.com/video/19185801" width="400"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And read more about it on http://vis.stanford.edu/wrangler&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/19185801"&gt;Wrangler Demo Video&lt;/a&gt; from &lt;a href="http://vimeo.com/stanfordvis"&gt;Stanford Visualization Group&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;br /&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/3031962814593058692-4028915949388524107?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4028915949388524107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2011/02/just-found-out-about-this-amazing-thing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4028915949388524107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4028915949388524107'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2011/02/just-found-out-about-this-amazing-thing.html' title='Just found out about this amazing thing...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4933146145245599714</id><published>2011-02-20T00:18:00.000+05:30</published><updated>2011-02-20T00:18:36.113+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='exadata'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Exadata - is it really worth the hype</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Well, I am not going to try to answer that, rather, more on the question side...&lt;br /&gt;Recently one of my projects moved to exadata device. There was so much talk around that, the queries and db processes need not be looked into, exadata will take care of them already.&lt;br /&gt;&lt;br /&gt;However, two things happened.. first, there was a technical talk on the device's configuration. The device turned out to be a mammoth piece of hardware. In nutshell, its a 8 node cluster, each node having 4 cpu's.&amp;nbsp; Each CPU has around 2-4 GB of RAM. Then there is this high speed secondary storage which can hold a lot of cache.&lt;br /&gt;&lt;br /&gt;The nodes are interconnected using a special switch which can transfer data faster than Gigabit networks.&lt;br /&gt;&lt;br /&gt;With such hardware configuration, any software can claim the kind of performance gain they claim. Not to undermine the performance gains, I just want to say that the hype around the out of the world performance gains, is actually the result of better hardware, not really revolutionary software.&lt;br /&gt;&lt;br /&gt;I, personally was expecting something of that type from Oracle, since they lack in that area. Except Teradata, there is almost no player who delivers that kind of Data Warehouse architecture and performance. and I was hoping that Oracle would do something around there and bring out something.&lt;br /&gt;&lt;br /&gt;And, the second thing, one of the processes tried to load data to an exadata instance using informatica. Initially we left things at default so that exadata can tune it itself and we should not force anything.&amp;nbsp; However, there too, exadata failed big time and couldnt put in any perf gain. At the end, all the tuning had to be done by us only.&lt;br /&gt;&lt;br /&gt;So, the other claim of exadata regarding intelligence to pick up processes and fix them on its own also went down for us.&lt;br /&gt;&lt;br /&gt;Though I agree that its rather new for its own evolution, i believe oracle marketing should be doing a better job.:)&lt;br /&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/3031962814593058692-4933146145245599714?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4933146145245599714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2011/02/exadata-is-it-really-worth-hype.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4933146145245599714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4933146145245599714'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2011/02/exadata-is-it-really-worth-hype.html' title='Exadata - is it really worth the hype'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3697179821322216213</id><published>2010-12-02T06:37:00.000+05:30</published><updated>2010-12-02T06:37:32.742+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping-design'/><category scheme='http://www.blogger.com/atom/ns#' term='dwh-bi'/><title type='text'>Rejecting records in Fact table loads - Informatica</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;In some development environments, you dont have all the required dimension data and as a result, your fact loading mapping's test runs go for a toss. The mapping wont be able to load anything (reject everything) since some or other foreign key would be missing for each row.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;In other words, only those records would be loaded for which ALL the foreign key constraints would be satisfied. However, in Production environment, this would almost never happen. Or even if its the case, we'd actually want those rows to be rejected.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;This can work out to be a serious impediment to development/unit testing. It prevents the developer from seeing whether or not his his mapping is behaving appropriately for the happy flow functionality.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;One way of achieving this can be to work using a Mapping Variable indicating the Environment. The developer can run using a value like 'D' or something, indicating a different environment than Production, with 'P' (production) being the default value.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Now in the mapping, just about where you decide to reject a record based on different type of conditions, you could put an AND condition involving this mapping variable, e.g. ....AND $$MAPP_ENV = 'P'&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Now, the expression would return true only in the Production environment, and therefore would work as expected. In Dev though, this expression would return false and would not reject that row.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Now, to be able to satisfy the db constraints for the fact table so that the row is actually inserted, you'd need to use some placeholder convention. One of the approaches can be to use an outlier value as the foreign key value.&amp;nbsp; For Example, for customer id, keep a -1 in dimension table, meaning "Undefined".&amp;nbsp; And, in all such dev cases, send -1 to the fact.&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;It would serve both the purposes, tell your fact table that there is something diff about that row, and still inserting a row in there, so that the testing for the rest of the columns is not stopped because of one foreign key missing out.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3697179821322216213?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3697179821322216213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/12/rejecting-records-in-fact-table-loads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3697179821322216213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3697179821322216213'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/12/rejecting-records-in-fact-table-loads.html' title='Rejecting records in Fact table loads - Informatica'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8777784566354758369</id><published>2010-11-18T01:05:00.000+05:30</published><updated>2010-11-18T01:05:47.421+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Setting a useful command prompt in Unix</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;I just came across a unix system at my workplace that had a static prompt set. Basically, the prompt was just the shell executable's name and version, more like&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;bash-3.2 $&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Well, this kind of prompt has many drawbacks, some of them i'd list here -&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;1. You never know (just like that) where you are in the file system. When you are dealing with multi-directory situations, you might want to stop typing pwd to figure out ur current location.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;2. You never know by what user you are logged in (again, just by looking at the prompt). You'd have to run a whoami to figure that out.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;3. More importantly, if you are dealing with multiple systems, this one's the most killer.&amp;nbsp; You never know to what system you are logged in right now. you'd have to issue a hostname command.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Well, there might be, and for sure there are many other, consequences of having such a cryptic command prompt.&amp;nbsp; And therefore, my favourite, to have a command prompt, that displays at least these three things, always, dynamically...&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Something like,&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;raghav@deskubuntu:/homes/raghav/rails $&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;wherein, I am always aware of the three things mentioned earlier. This is very very useful when you are dealing with multiple systems and you have multiple users who are configured to run different types of processes.&amp;nbsp; For example, an oracle user who is supposed to be owner of oracle processes, and an informatica user which is supposed to own everything linked to informatica, and then a connect direct user which owns the CD processes, which receives files coming in from some other system.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;With this kind of system, and your own user id to log in to the system, you'd better be careful which processes you are looking at / launching and by what user.&amp;nbsp; Its really very very important.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;When and if you are dealing with a multiple system scenario, like dev / test / acceptance / production, you'd be better advised to use something like this only.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;the magic command to do that is by setting appropriate flags and text in a environment variable called PS1.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Just set PS1 to your .profile or .bashrc (depending on your environment) file and you are set .&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;The example prompt that I mentioned can be achieved by saying -&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;export PS1="\\u@\\h:\\w \\$ "&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;There are many more possibilities that go with special meanings for PS1 variable. Read some of them here -&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \$ : if the effective UID is 0, a #, otherwise a $&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \[ : begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \\ : a backslash&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \] : end a sequence of non-printing characters&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \a : an ASCII bell character (07)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \@ : the current time in 12-hour am/pm format&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \A : the current time in 24-hour HH:MM format&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \d : the date in "Weekday Month Date" format (e.g., "Tue May 26")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \D{format} : the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \e : an ASCII escape character (033)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \H : the hostname&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \h : the hostname up to the first '.'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \j : the number of jobs currently managed by the shell&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \l : the basename of the shell’s terminal device name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \n : newline&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \nnn : the character corresponding to the octal number nnn&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \r : carriage return&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \T : the current time in 12-hour HH:MM:SS format&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \t : the current time in 24-hour HH:MM:SS format&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \u : the username of the current user&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \s : the name of the shell, the basename of $0 (the portion following the final slash) &lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \V : the release of bash, version + patch level (e.g., 2.00.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \v : the version of bash (e.g., 2.00)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \W : the basename of the current working directory&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * \w : the current working directory&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/3031962814593058692-8777784566354758369?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8777784566354758369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/11/setting-useful-command-prompt-in-unix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8777784566354758369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8777784566354758369'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/11/setting-useful-command-prompt-in-unix.html' title='Setting a useful command prompt in Unix'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7539756302592725223</id><published>2010-11-16T00:30:00.000+05:30</published><updated>2010-11-16T00:30:17.951+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='shell-script'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>scripts and hash bang ( #! )</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;More often than not, people have to tell the unix shell / perl scripts or other programs where lies their interpretor, e.g. write their command line calls as&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;perl SomeScript.pl&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;or&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ruby ARubyProgram.rb&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;or&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;sh SomeShellScript.sh&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;this is because the system may not be aware of the location of the the executable interpreter of the exact type that needs to be used for the corresponding script.&amp;nbsp; Well, for this purpose, windows has the file extension association concept, but we are dealing with Unix like systems not windows, so that option is not really available to us (besides, there are ill effects of that convention too, but lets not go in that discussion).&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;So, to tell a unix program where to find its interpreter, besides launching the script along with it on command line, there is another way, and rather beautiful at that.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Just put the exact path of your interpreter executable at the very first line of your script preceded by these two magic characters, a hash and an exclamation (#!) also called as hash-bang or shebang.&amp;nbsp; Now, once your script is marked as executable (see chmod), you are good to go, no need of putting explicit calls to the interpreter to run your code.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Basically, your code should now look like this -&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#!/usr/local/bin/perl5&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;print "testing hashbang with raghav"&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Save this short script as aa.pl (assuming that your system has perl 5 interpreter installed in the location I used). Make the script executable (chmod) and you can just launch the script, like ./aa.pl&amp;nbsp; instead of earlier example perl aa.pl&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;A word of caution though, these magic characters have to be absolutely the first and second character of the file, no exceptions to that. Else, the system cant make out the special meaning of this and the purpose is lost.&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;Pretty neat.. hunh...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-7539756302592725223?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7539756302592725223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/11/scripts-and-hash-bang.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7539756302592725223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7539756302592725223'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/11/scripts-and-hash-bang.html' title='scripts and hash bang ( #! )'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3443148354767127326</id><published>2010-11-01T03:35:00.000+05:30</published><updated>2010-11-01T03:35:24.001+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mgmt'/><category scheme='http://www.blogger.com/atom/ns#' term='consulting'/><title type='text'>A  Note to New Consultants</title><content type='html'>&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt; &lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt; &lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt; I&amp;nbsp; am about to start a new role, that of a consultant at a new customer site soon. In order to prepare for that mentally, I was looking around for inspiration and advice. In the process, I stumbled across this gem from the founder of Boston Consulting Group.&amp;nbsp; I have picked up the text from this webpage(http://www.careers-in-business.com/consulting/hendnote.htm), and then tried to see through it from my own eyes.&amp;nbsp; All credits with the original webpage owners. &lt;/div&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;i&gt;&lt;b&gt;&lt;u&gt;Written by Bruce Henderson, Founder of Boston Consulting Group in the  1970s&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;/i&gt; &lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;In a sense the consultant's role is a paradox. He gives advice to people of equal intelligence who have vastly superior and extensive experience and knowledge of the problem. Yet he is not necessarily an expert in anything. What is the justification for his value?&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;u&gt;&lt;b&gt;Need of Consultant&lt;/b&gt;&lt;/u&gt; &lt;/div&gt;&lt;ol style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;li&gt;The consultant can &lt;b&gt;function as a specialist or expert&lt;/b&gt;, In this role he must be more knowledgeable than the client. This implies a very&lt;b&gt; narrow field of specialization&lt;/b&gt;, otherwise the client with his greater continuity of experience would be equally expert.&lt;br /&gt;&lt;br /&gt;The consultant can&lt;b&gt; function as a counselor or advisor on the process of decision making&lt;/b&gt;. This implies an &lt;b&gt;expertise of a special kind, that of the psychotherapist&lt;/b&gt;. This is merely a particular kind of expertise in a particular field.&lt;br /&gt;&lt;br /&gt;The most typical role for a consultant is that of&lt;b&gt; auxiliary staff&lt;/b&gt;. This does not preclude any of the other roles mentioned before, but it does require a quite different emphasis.&lt;br /&gt;&lt;br /&gt;All companies have staff capabilities of their own. Some of this staff is very good. Yet no company can afford to have standby staff adequate for any and all problems. This is why there is an opportunity for consultants. They fill the staff role that cannot be filled internally.&lt;br /&gt;&lt;br /&gt;By definition this means that consultants are most useful on the unusual, the non-recurring, the unfamiliar problem. Outside consultants are also most useful where the problem is poorly defined and politically sensitive, but the correct decision is extremely important. Outside consultants get the tough, the important and the sensitive problems.&lt;br /&gt;&lt;br /&gt;The natural &lt;b&gt;function of a consultant is to reduce anxiety and uncertainty&lt;/b&gt;. Those are the conditions under which anxiety and uncertainty are greatest and where consultants are most likely to be hired. &lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Problem Definition&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/li&gt;&lt;li&gt;If this point of view is our starting point, then problem definition becomes extremely important.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If the problem is incorrectly defined, then even its complete solution may not satisfy the client's perceived needs.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;If the problem is improperly defined, it may be beyond our ability to solve.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Problem definition is a major test of professional ability. Outside &lt;b&gt;consultants can frequently define problems in a more satisfactory fashion&lt;/b&gt; than internal staff, primarily because they are unencumbered with the historical perspective of the client and the resulting "house" definition.&lt;br /&gt;&lt;br /&gt;A consultant's problem definition is the end of the assignment if the problem is not researchable. If the problem is not researchable, then the consultant is either a specialist-expert or a psychotherapist. Neither of these roles are suitable for the use of the resources of an organization such as The Boston Consulting Group&lt;b&gt;.&lt;br /&gt;&lt;br /&gt;A researchable problem is usually a problem that should be dealt with by a group approach&lt;/b&gt;. Data gathering and analysis requires differing skills and different levels of experience that can best be provided by a group. The insights into complex problems are usually best developed by verbal discussion and testing of alternate hypotheses.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Good research is far more than the application of intellect and common sense&lt;/b&gt;. It must start with a set of hypotheses to be explored. Otherwise, the mass of available data is chaotic and cannot be referenced to anything. Such starting hypotheses are often rejected and new ones substituted. This, however, does not change the process sequence of hypothesize / data gathering / analysis / validation / rehypothesize.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Great skill in interviewing and listening is required to do this&lt;/b&gt;. Our client starts his own analysis from some hypothesis or concept. We must understand this thoroughly and be able to play it back to him in detail or he does not feel that we understand the situation. Furthermore, we must be sure that we do not exclude any relevant data that may be volunteered. Yet we must formulate our own hypothesis.&lt;br /&gt;&lt;br /&gt;Finally, we must be able to take our client through the steps required for him to translate his own perspective into the perspective we achieve as a result of our research. This requires a &lt;b&gt;high order of personal empathy as well as developed teaching skills&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The &lt;b&gt;end result of a successful consulting assignment&lt;/b&gt; is not a single product. It&lt;b&gt; is a new insight on the part of the client&lt;/b&gt;. It is also a commitment to take the required action to implement the new insights. Equally important, it is an acute awareness of the new problems and opportunities that are revealed by the new insights. &lt;br /&gt;&lt;br /&gt;We fail if we do not get the client to act on his new insights. &lt;i&gt;&lt;b&gt;The client must implement the insights or we failed.&lt;/b&gt; &lt;/i&gt;It is our professional responsibility to see that there is implementation whether we do it or the client does it.&lt;br /&gt;&lt;br /&gt;Much of the performance of a consultant depends upon the development of concepts that extend beyond the client's perception of the world. This is not expertise and specialization. It is the exact opposite. It is an appreciation of how a wide variety of interacting factors are related. This appreciation must be more than an awareness. It must be an ability to quantify the interaction sufficiently to predict the consequences of altering the relationships.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Consultants have a unique opportunity to develop concepts since they are exposed to a wide range of situations in which they deal with relationships instead of techniques&lt;/b&gt;. This mastery of concepts is probably the most essential characteristic for true professional excellence.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;A successful consultant is first of all a perceptive and sensitive analyst&lt;/b&gt;. He must be in order to define a complex problem in the client's terms with inadequate data. This requires highly developed interpersonal intuitions even before the analysis begins.&lt;br /&gt;&lt;br /&gt;His &lt;b&gt;analytical thinking must be rigorous and logical&lt;/b&gt;, or he will commit himself to the undoable or the unuseful assignment. Whatever his other strengths, he must be the effective and respected organizer of group activities which are both complex and difficult to coordinate. Failure in this is to fall into the &lt;b&gt;restricted role of the specialist&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;[raghav]&lt;/b&gt; The first time I have read that a specialist role can be restrictive, and honestly, when you think about it again, it does come back as a correct statement, specially in the wider world of other opportunities. Specially for a management consultant.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In defining the problem, the effective consultant must have the &lt;b&gt;courage and the initiative to state his convictions&lt;/b&gt; and press the client for acceptance and resolution of the problem as defined. &lt;b&gt;The client expects the consultant to have the strength of his convictions&lt;/b&gt; if he is to be dependent upon him. Consultants who are unskilled at this are often liked and respected but employed only as counselors, not as true management consultants.&lt;br /&gt;&lt;br /&gt;The successful professional&lt;b&gt; inevitably must be both self-disciplined and rigorous in his data gathering as well as highly cooperative as a member of a case team.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The continuing client relationship requires a&lt;b&gt; sustained and highly developed empathy with the client representative&lt;/b&gt;. Inability to do this is disqualifying for the more significant roles  in management consulting. &lt;/li&gt;&lt;/ol&gt;&lt;div style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;  In other words, the successful consultant: &lt;/div&gt;&lt;ul style="font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;"&gt;&lt;li&gt;Identifies his client's significant problems; &lt;/li&gt;&lt;li&gt;Persuades his client to act on the problems by researching them; &lt;/li&gt;&lt;li&gt;Organizes a diversified task force of his own firm and coordinates its activity; &lt;/li&gt;&lt;li&gt;Fully utilizes the insights and staff work available in his client's organization; &lt;/li&gt;&lt;li&gt;Uses the full conceptual power of his own project team; &lt;/li&gt;&lt;li&gt;Successfully transmits his findings to the client and sees that they are implemented; &lt;/li&gt;&lt;li&gt;Identifies the succeeding problems and maintains the client relationship; &lt;/li&gt;&lt;li&gt;Fully satisfies the client expectations that he raised; &lt;/li&gt;&lt;li&gt;Does all these things within a framework of the time and cost constraints imposed by himself or the client. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3443148354767127326?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3443148354767127326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/10/note-to-new-consultants.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3443148354767127326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3443148354767127326'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/10/note-to-new-consultants.html' title='A  Note to New Consultants'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6706425509373328818</id><published>2010-10-01T08:30:00.000+05:30</published><updated>2010-10-23T10:39:13.910+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='solr'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSource'/><category scheme='http://www.blogger.com/atom/ns#' term='searchengine'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>my experiments with solr :)</title><content type='html'>Its a catchy title, but yes.. thats what I am going to talk about...&lt;br /&gt;&lt;br /&gt;I came across hadoop, when I was looking for a new solution for one of our in-house projects. The need was quite clear, however, the solution had to be dramatically different.&lt;br /&gt;&lt;br /&gt;The one statement we received from business was, "We need an exceptionally fast search interface". And for that fast interface to search upon they had more than a hundred million rows worth of data in a popular RDBMS.&lt;br /&gt;&lt;br /&gt;So, when I sat about thinking, how to make a fast search application, the first thing that came to my mind was, Google. Actually, whenever we talk about speed or performance of web sites, Google is invariably the first name that comes across.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Further, Google has a plus point that there is always some activity at the back end to generate the page or results that we see, its never static content. And, then, another point, Google has a few trillion pieces of information to store/index/search whereas our system was going to have significantly lower volume of data to manage.&amp;nbsp;&amp;nbsp; So, going with that, Google looked like a very good benchmark for this fast search application.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Then I started to look for "How Google generates that kind of performance". There are quite a few pages on the web talking about just that.&amp;nbsp;&amp;nbsp; But, probably none of them has the definitive/authoritative view on Google's technology or for that matter the insider's view on how it actually does what it does so fast.&lt;br /&gt;&lt;br /&gt;Some pages pointed towards their storage technology, some talked about their indexing technology, some about their access to huge volumes of high performance hardware and what not...&lt;br /&gt;&lt;br /&gt;For me, some of them turned out to be genuinely interesting, one of them was the indexing technology. There has to be a decent indexing mechanism to which the crawler's would feed and the search algorithms hit.&amp;nbsp; The storage efficiency is probably the next thing to come in the play. How fast can they access the corresponding item ?&lt;br /&gt;&lt;br /&gt;Another of my observation is that, the search results (the page mentioning page titles and stuff) comes real fast, mostly less than 0.25 seconds, but the click on the links does take some time.&amp;nbsp; So, I think it has to be their indexing methodology that plays the bigger role.&lt;br /&gt;&lt;br /&gt;With that in mind, I sat about finding what can do similar things and how much of Google's behaviour they can simulate/implement.&lt;br /&gt;&lt;br /&gt;Then I found Hadoop project on apache (http://hadoop.apache.org/) which to a large extent reflects the way Google kind of system would work. It provides distributed computing(hadoop core), it provides a bigTable kind of database (hbase), provides map/reduce layer, and more.&amp;nbsp; Reading into it more, I figured out that this system is nice for a batch processing kind for mechanism, but not for our need of real time search.&lt;br /&gt;&lt;br /&gt;Then I found solr(&lt;a href="http://lucene.apache.org/solr/"&gt;http://lucene.apache.org/solr/&lt;/a&gt;), a full text search engine under Apache Lucene.&amp;nbsp; It is a java written, xml indexing based genuinely fast search engine.&amp;nbsp; It provides many features that we normally wish for in more commercial applications, an being from apache, I would like to think of it as much more reliable and stable than compared to many others.&lt;br /&gt;&lt;br /&gt;When we sat about doing a Proof of Concept with it, I figured out a few things –&lt;br /&gt;&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; It supports only one schema, as in, rdbms tables – only one. So, basically you would have to denormalize all your content to fit into this one flat structure.&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; It supports interactions with the server interface only through http methods be it the standard methods get/put etc or be it REST like interfaces.&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; It allows you loading data in varying formats, through xml documents, through delimited formats and through db interactions as well.&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; It has support for clustering as well. Either you can host it on top of something like hadoop or you can just configure it to do it within solr as well.&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; It supports things like expression and function based searches&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; It supports faceting&lt;br /&gt;•&amp;nbsp;&amp;nbsp;&amp;nbsp; Extensive caching and “partitioning” features.&lt;br /&gt;&lt;br /&gt;Besides other features, the kind of performance without any specific tuning efforts made me think of it as a viable solution.&lt;br /&gt;&lt;br /&gt;In a nutshell, I loaded around 50 million rows on a “old” Pentium-D powered desktop box with 3 GB RAM running ubutnu 10.04 server edition (64 bit) with two local hard disks configured over a logical volume manager.&lt;br /&gt;&lt;br /&gt;The loading performance was not quite great. Though its not that bad either. I was able to load a few million rows (in a file that was sized about 6 GB) in about 45 minutes when the file was on the same file system.&lt;br /&gt;&lt;br /&gt;In return, it gave me query performances in the range of 2-4 seconds for the first query. For subsequent re-runs of the same query (within a span of an hour or so), it came back in approx 1-2 milliseconds.&amp;nbsp; I would like to think that its pretty great performance given the kind of hardware I was running upon, and the kind of tuning effort I put in (basically none – zero, I just ran the default configuration).&lt;br /&gt;&lt;br /&gt;Given that, I wont say that I have found the equivalent or replacement of Google’s search for our system, but yeah, we should be doing pretty good with this.&lt;br /&gt;&lt;br /&gt;Although there is more testing and experimentation that is required to be able to judge solr better, the initial tests look pretty good.. pretty much in line with the experiences of others who are using it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6706425509373328818?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6706425509373328818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/09/my-experiments-with-solr.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6706425509373328818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6706425509373328818'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/09/my-experiments-with-solr.html' title='my experiments with solr :)'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1964059220728175471</id><published>2010-09-13T07:53:00.000+05:30</published><updated>2010-10-23T08:10:45.269+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenSource'/><title type='text'>Business &amp; Open Source - How both can benefit</title><content type='html'>I had the opportunity to scout for a new technology/solution for one of our in-house projects.&amp;nbsp; Quite a few of the options that I looked for were from open source arena.&amp;nbsp; And amazingly, the products were far more capable from our expectations, just that we'd have to pitch in with some effort to get it working for us.&lt;br /&gt;&lt;br /&gt;I have always felt that for open source projects/products to become commercially viable for a business enterprise, the enterprise has to come up and spend some resources to it to get the actual value out of it.&lt;br /&gt;&lt;br /&gt;In other words, if an organization wants to use an open source product, which has an equivalent competitive commercial product available in market, they should be open enough to have their own in-house people who can take ownership of the installation. The organization shouldn't completely rely on the support available from the community forums and such.&lt;br /&gt;&lt;br /&gt;I have seen more than one manager complain about the lack of support on the open source products.&amp;nbsp; Had there been proper support system for each of the open source products, we'd see a lot of stories similar to mysql's model or pentaho model.&lt;br /&gt;&lt;br /&gt;What I would like to see perhaps is that the organizations' becoming mature enough in their adaptation of the open source products. By that, I expect them to have a open vision, have people who understand and like and own the product, and at the same time tweak and tune the product to suit the organization's business needs.&lt;br /&gt;&lt;br /&gt;In the process, the organization should contribute to the product's development cycle.&amp;nbsp; This could happen in many ways, bug fixes, contribution of new features, the employees could contribute on community forums and such.&amp;nbsp; Using the terminology from peer to peer sharing, only leechers dont help a torrent, people need to seed to it as well. Same way, unless organizations contribute to an open source product, they would stand to become only leechers.&lt;br /&gt;&lt;br /&gt;Only after we have a decent balance of organizations using and contributing to the open source products, we'd see the ecosystem flourishing...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1964059220728175471?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1964059220728175471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/09/my-experiments-with-hadoop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1964059220728175471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1964059220728175471'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/09/my-experiments-with-hadoop.html' title='Business &amp; Open Source - How both can benefit'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7000439570244469668</id><published>2010-09-09T18:31:00.001+05:30</published><updated>2010-09-13T06:41:18.084+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Tips for brainstorming...</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;Interesting read, from both positive and negative viewpoints - &lt;br/&gt;&lt;br/&gt;1. Use brainstorming to combine and extend ideas, not just to harvest ideas.&lt;br/&gt;&lt;br/&gt;2. Don't bother if people live in fear.&lt;br/&gt;&lt;br/&gt;3. Do individual brainstorming before and after group sessions.&lt;br/&gt;&lt;br/&gt;4. Brainstorming sessions are worthless unless they are woven with other work practices.&lt;br/&gt;&lt;br/&gt;5. Brainstorming requires skill and experience both to do and, especially, to facilitate.&lt;br/&gt;&lt;br/&gt;6. A good brainstorming session is competitive—in the right way.&lt;br/&gt;&lt;br/&gt;7. Use brainstorming sessions for more than just generating good ideas.&lt;br/&gt;&lt;br/&gt;8. Follow the rules, or don't call it a brainstorm.&lt;br/&gt;&lt;br/&gt;Read more here - &lt;a href='http://www.businessweek.com/innovate/content/jul2006/id20060726_517774.htm?chan=innovation_innovation+++design_innovation+and+design+lead'&gt;http://www.businessweek.com/&lt;wbr/&gt;innovate/content/jul2006/&lt;wbr/&gt;id20060726_517774.htm?chan=&lt;wbr/&gt;innovation_innovation+++&lt;wbr/&gt;design_innovation+and+design+&lt;wbr/&gt;lead&lt;/a&gt;&lt;/p&gt;in reference to: &lt;p&gt;&lt;blockquote&gt;"8. Follow the rules, or don't call it a brainstorm."&lt;br/&gt;- &lt;a href='http://www.businessweek.com/innovate/content/jul2006/id20060726_517774.htm?chan=innovation_innovation+++design_innovation+and+design+lead'&gt;Eight Tips for Better Brainstorming&lt;/a&gt; (&lt;a href='http://www.google.com/sidewiki/entry/sharma.raghvendra/id/Cj9LEXO2jFnagHfWogJSsfXrXYo'&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/blockquote&gt;&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/3031962814593058692-7000439570244469668?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7000439570244469668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/09/tips-for-brainstorming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7000439570244469668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7000439570244469668'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/09/tips-for-brainstorming.html' title='Tips for brainstorming...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4441258238038184561</id><published>2010-09-08T17:29:00.001+05:30</published><updated>2010-09-13T06:41:46.492+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='InfoBright'/><title type='text'>Big help...</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I wanted to get my table sizes in infobright, and this page came to my help...&lt;br /&gt;&lt;br /&gt;SELECT table_schema,table_name,&lt;wbr&gt;&lt;/wbr&gt;engine, table_rows, avg_row_length, &lt;br /&gt;(data_length+index_length)/&lt;wbr&gt;&lt;/wbr&gt;1024/1024 as total_mb,(data_length)/1024/&lt;wbr&gt;&lt;/wbr&gt;1024 as data_mb, &lt;br /&gt;(index_length)/1024/1024 as index_mb, CURDATE() AS today  &lt;br /&gt;FROM information_schema.tables &lt;br /&gt;WHERE table_schema='mySchemaName' &lt;br /&gt;ORDER BY 7 DESC&lt;br /&gt;&lt;br /&gt;Thanks Ron...&lt;br /&gt;in reference to: &lt;a href="http://ronaldbradford.com/blog/calculating-your-database-size-2009-09-25/"&gt;Calculating your database size | MySQL Expert | MySQL Performance | MySQL Consulting&lt;/a&gt; (&lt;a href="http://www.google.com/sidewiki/entry/sharma.raghvendra/id/cIm9DnZFm78IBvNV1JetsU1JIBw"&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4441258238038184561?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4441258238038184561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/09/big-help.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4441258238038184561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4441258238038184561'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/09/big-help.html' title='Big help...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6944258638268874755</id><published>2010-08-25T09:45:00.001+05:30</published><updated>2010-09-11T08:14:04.672+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>I also feel like saying, 1984...</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;This story appeared in Economic Times, wherein Apple claims to have developed (or is busy doing that) sensitive info about an iphone user. Subsequently, Apple intends to hold/halt usage of the iphone device from the "unauthorized" user, this unauthorized reportedly includes -&lt;br /&gt;&lt;br /&gt;1. an iphone that has been hacked to work outside the contract with which it was sold, read "jailbroken"&lt;br /&gt;&lt;br /&gt;2. an iphone that is perhaps being used by someone other than the person who registered the first heartbeat or facial recognition info..&lt;br /&gt;&lt;br /&gt;Apple intends to capture the phone location using GPS/other tech and perhaps control the device remotely if they feel its being used "unauthorized"..&lt;br /&gt;&lt;br /&gt;i agree with people who remember 1984 after reading apple's intentions...ha.. time does come back...George Orwell.. were u too right ??&lt;br /&gt;in reference to: &lt;a href="http://economictimes.indiatimes.com/infotech/hardware/Apple-to-make-iPhone-theft-proof/articleshow/6428949.cms"&gt;Apple to make iPhone theft-proof - Hardware - Infotech - The Economic Times&lt;/a&gt; (&lt;a href="http://www.google.com/sidewiki/entry/sharma.raghvendra/id/6vXMfNOBZmma3rxMDv3b6XI46Gg"&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6944258638268874755?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6944258638268874755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/08/i-also-feel-like-saying-1984.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6944258638268874755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6944258638268874755'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/08/i-also-feel-like-saying-1984.html' title='I also feel like saying, 1984...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1771885689007047110</id><published>2010-08-02T14:23:00.001+05:30</published><updated>2010-08-02T20:47:03.001+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='socialBI'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Country General Mood using Tweets</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Well, it sure is pretty fascinating to do that kind of study and come back with results as commonsensical as we see here...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iq.harvard.edu/blog/netgov/2010/07/mood_twitter_and_the_new_shape.html"&gt;http://www.iq.harvard.edu/&lt;wbr&gt;&lt;/wbr&gt;blog/netgov/2010/07/mood_&lt;wbr&gt;&lt;/wbr&gt;twitter_and_the_new_shape.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I quote - (with all credits where its due, none to me...)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; A group of researchers from Northeastern and Harvard universities have gathered enough data from Twitter to give us all a snapshot of how U.S. residents feel throughout a typical day or week.&lt;br /&gt;&lt;br /&gt;Not only did they analyze the sentiments we collectively expressed in 300 million tweets over three years against a scholarly word list, these researchers also mashed up that data with information from the U.S. Census Bureau, the Google Maps API and more. What they ended up with was a fascinating visualization showing the pulse of our nation, our very moods as they fluctuate over time.&lt;br /&gt;&lt;br /&gt;The researchers have put this information into density-preserving cartograms, maps that take the volume of tweets into account when representing land area. In other words, in areas where there are more tweets, those spots on the map will appear larger than they do in real life.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;A apparantly public domain result of the analysis is available here - &lt;br /&gt;&lt;a href="http://cdn.mashable.com/wp-content/uploads/2010/07/twitter-moods.jpg"&gt;http://cdn.mashable.com/wp-&lt;wbr&gt;&lt;/wbr&gt;content/uploads/2010/07/&lt;wbr&gt;&lt;/wbr&gt;twitter-moods.jpg&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1771885689007047110?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1771885689007047110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/08/country-general-mood-using-tweets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1771885689007047110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1771885689007047110'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/08/country-general-mood-using-tweets.html' title='Country General Mood using Tweets'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-869899370671690074</id><published>2010-07-28T11:21:00.001+05:30</published><updated>2010-07-28T11:21:35.798+05:30</updated><title type='text'>Oracle Count(1) vs Count(*)</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;Well, it might have been an everlasting discussion about which one of these to use, count(1) or count(*).&lt;br/&gt;&lt;br/&gt;I guess, this article of Thomas Kyte already clarified the situation long long ago (well, for IT industry 2005 is long ago anyway, especially given the speed at which we are moving.)&lt;br/&gt;&lt;br/&gt;Essentially, what askTom says that, count(*) is better than count(1) since count(1) translates to count(*) internally anyway. I wonder then, why would someone want to use count(1) anyway.&lt;br/&gt;&lt;br/&gt;There is at least one more step involved in getting to the actual result. And there is another possible tweak, count(1) has to evaluate an expression as well, "count(1) where 1 is not null". Though its a tautology equivalent, it has to be evaluated nonetheless.&lt;br/&gt;&lt;br/&gt;Further, there was some misconception about how the result is returned, whether its read from the data dictionary, this view or table or something like that.  I dont think so.  The result is calculated at the exact run time,when the query is run, and it actually goes ahead and counts the records in the table.&lt;br/&gt;&lt;br/&gt;Should set the record straight...&lt;/p&gt;in reference to: &lt;a href='http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:40208915257337'&gt;Ask Tom "COUNT(*) Vs COUNT(1) on tables with CLOB..."&lt;/a&gt; (&lt;a href='http://www.google.com/sidewiki/entry/sharma.raghvendra/id/-EekLRVsCnfcKmaM_JsEsdum0Tc'&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-869899370671690074?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/869899370671690074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/07/oracle-count1-vs-count.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/869899370671690074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/869899370671690074'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/07/oracle-count1-vs-count.html' title='Oracle Count(1) vs Count(*)'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3470811981286693852</id><published>2010-07-24T00:46:00.000+05:30</published><updated>2010-07-24T00:47:59.192+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rails_App_For_Existing_DB'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Developing a Rails application using an existing database</title><content type='html'>This is the latest challenge for me. A database exists with real data in there, and I have to develop a rails application around that.&lt;br /&gt;&lt;br /&gt;Initially we needed the basic CRUD screens for some tables.&amp;nbsp; Being lazy (i m really proud of that), I set out finding if there a solution that generates the forms (read views) for the existing tables/models.&lt;br /&gt;&lt;br /&gt;I have already managed to generate models/schema.rb using another gem. This is called &lt;b&gt;magic_model&lt;/b&gt;.&amp;nbsp; Read more about that &lt;a href="http://magicmodels.rubyforge.org/magic_model_generator/"&gt;here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Then google helped me find this another gem called &lt;b&gt;scaffold_form_generator&lt;/b&gt; which generates the necessary views/forms for a given model.&amp;nbsp; However, there need to be some improvements required on that (I think).&amp;nbsp; perhaps I would contribute something (if I find out enough on how to do that)&lt;br /&gt;&lt;br /&gt;Well, for the moment, I am struggling with handling of the missing special meaning column from the legacy tables. Will continue writing on this...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3470811981286693852?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3470811981286693852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/07/developing-rails-application-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3470811981286693852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3470811981286693852'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/07/developing-rails-application-using.html' title='Developing a Rails application using an existing database'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3859673324062002309</id><published>2010-07-21T16:30:00.000+05:30</published><updated>2010-07-24T00:46:46.233+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqlserver'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Making rails talk to SQL Server Express Edition</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;I had zero exposure to sqlserver before today. With the help of a dba and google :) I finally achieved the communication.&amp;nbsp; Here's what I did to achieve this - &lt;br /&gt;&lt;br /&gt;&lt;b&gt; Make an odbc connection &lt;/b&gt;- pointing to the db server, preferably make a sql server authentication user&lt;br /&gt;&lt;br /&gt;Install the following gems&lt;br /&gt;&lt;ol&gt;&lt;li&gt; activerecord-odbc-adapter (2.0)&lt;/li&gt;&lt;li&gt;activerecord-sqlserver-adapter (2.3.8)&lt;/li&gt;&lt;li&gt;dbd-odbc (0.2.5)&lt;/li&gt;&lt;li&gt;dbi (0.4.5)&lt;/li&gt;&lt;li&gt;deprecated (2.0.1)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Further, I copied odbc.so and odbc_utf8.so files from &lt;a href="http://www.ch-werner.de/rubyodbc/i386-msvcrt-ruby-odbc.zip"&gt;http://www.ch-werner.de/&lt;wbr&gt;&lt;/wbr&gt;rubyodbc/i386-msvcrt-ruby-&lt;wbr&gt;&lt;/wbr&gt;odbc.zip&lt;/a&gt; to .../ruby/1.8/i386-msvcrt even though exact directory was not found in the path. So, the files were eventually copied to ...\Ruby187\lib\ruby\1.8\i386-&lt;wbr&gt;&lt;/wbr&gt;mingw32&lt;br /&gt;&lt;br /&gt;My database.yml file looks like this -&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;development:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; adapter: sqlserver&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; mode: ODBC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; dsn: &lt;odbc db="" dsn="" pointing="" server="" sql="" to=""&gt;&lt;/odbc&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; username: myUserName&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; password: myPassword&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&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/3031962814593058692-3859673324062002309?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3859673324062002309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/07/making-rails-talk-to-sql-server-express.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3859673324062002309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3859673324062002309'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/07/making-rails-talk-to-sql-server-express.html' title='Making rails talk to SQL Server Express Edition'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3673094625122670256</id><published>2010-07-16T10:54:00.001+05:30</published><updated>2010-07-24T00:28:30.530+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>winscp vs cuteftp</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;I recently had an experience of transferring relatively larger files from a windows box to linux one.&lt;br/&gt;&lt;br/&gt;I had some files which were ranging from 2.1 GB to 4.x GB. The company traditionally uses cuteftp to transfer (read ftp) files across servers. So I started with that anyway.&lt;br/&gt;&lt;br/&gt;However, all my transfer attempts were failing. After transferring 2 GB of data, cuteftp would end the transfer and give away some or other error message. I figured that this was happening only to files which were larger in size.  And this transfer consumed more than hour or so before it failed.&lt;br/&gt;&lt;br/&gt;Google couldnt help a lot, so, finally i got down to winscp. And, it worked out so well. Not only the transfers didnt fail, but they finished within minutes, instead of the hours and hours spent by cuteftp.&lt;br/&gt;&lt;br/&gt;Perhaps its some setting somewhere in cuteftp that I couldnt find, but the whole experience has left me more inclined towards the open source community.&lt;br/&gt;&lt;br/&gt;Thanks a ton guys .. :)&lt;/p&gt;in reference to: &lt;a href='http://sourceforge.net/projects/winscp/files/WinSCP/4.2.8/winscp428.zip/download'&gt;Download WinSCP from SourceForge.net&lt;/a&gt; (&lt;a href='http://www.google.com/sidewiki/entry/sharma.raghvendra/id/n0fDO-Myyx7TpKxgMGFZ7R2c6aE'&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3673094625122670256?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3673094625122670256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/07/winscp-vs-cuteftp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3673094625122670256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3673094625122670256'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/07/winscp-vs-cuteftp.html' title='winscp vs cuteftp'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4844735878333978650</id><published>2010-05-13T12:45:00.001+05:30</published><updated>2010-07-24T00:28:17.313+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Parallel Querying using Oracle</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;Perhaps a long awaited feature, this one is clearly the one that I like most.&lt;br/&gt;&lt;br/&gt;Using pre-built packages its now possible to break a single (relatively heavy) operation into multiple small operations, which run in parallel. The benefits are obvious, and cant be ignored.&lt;br/&gt;&lt;br/&gt;I am yet to ascertain the usability of such a feature with tools like informatica or pentaho, but I am quite sure a lot can be achieved, especially in the direction of updates to huge tables in data warehouses.&lt;br/&gt;&lt;br/&gt;And looking at the implementation, its genuinely simple and straightforward.&lt;br/&gt;&lt;br/&gt;Would be nice to see more applications utilizing the benefits of such features..&lt;br/&gt;&lt;br/&gt;Read more on Oracle magazine, article written by Steven Feuerstein...&lt;/p&gt;in reference to: &lt;a href='http://www.oracle.com/technology/oramag/oracle/10-may/o30plsql.html?_template=/ocom/print'&gt;PL/SQL Practices: On Working in Parallel&lt;/a&gt; (&lt;a href='http://www.google.com/sidewiki/entry/sharma.raghvendra/id/ogPjbOqgoSnKL8QU1FkmltV9_bE'&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4844735878333978650?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4844735878333978650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/05/parallel-querying-using-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4844735878333978650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4844735878333978650'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/05/parallel-querying-using-oracle.html' title='Parallel Querying using Oracle'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3166197869598752112</id><published>2010-05-06T09:58:00.001+05:30</published><updated>2010-05-08T01:23:06.862+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu 10.04 is here.... Upgrade today...</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;Its only been a few hours since I have had the pleasure to upgrade to the latest version of Ubuntu.&lt;br/&gt;&lt;br/&gt;And without any doubt, or any detailed analysis/investigation I can say this much for sure - &lt;br/&gt;&lt;br/&gt;- The upgrade process was super easy. No hassles whatsoever, you just need to have a decent internet connection, few times you need to confirm the suggested decision, and done...&lt;br/&gt;&lt;br/&gt;- The new system looks cleaner, much much cleaner. Its neat, to some extent beautiful. Its not about the background or themes or anything like that, but the overall look and feel is genuinely cool. Perhaps its to do with one thing that I have done on my part. My system font is "Lucida Grande" all across.  And, for some reason the shapes and looks on this font are far better than anyone else I have encountered.&lt;br/&gt;&lt;br/&gt;- The boot time has come down a good notch.&lt;br/&gt;&lt;br/&gt;Well, I guess this should be a good starting point for my review on the new version, lets see how it comes across further.&lt;/p&gt;in reference to: &lt;a href='http://tech.sraghav.in/'&gt;my tech playground&lt;/a&gt; (&lt;a href='http://www.google.com/sidewiki/entry/sharma.raghvendra/id/HV1N_mnmrSauc9nrL5KSMq2qcRI'&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3166197869598752112?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3166197869598752112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/05/ubuntu-1004-is-here-upgrade-today.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3166197869598752112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3166197869598752112'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/05/ubuntu-1004-is-here-upgrade-today.html' title='Ubuntu 10.04 is here.... Upgrade today...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8648099022389706834</id><published>2010-05-01T02:02:00.000+05:30</published><updated>2010-05-01T02:02:37.004+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='tips_n_tricks'/><title type='text'>Implementing Cartesian Product in Informatica Mapping</title><content type='html'>As against pentaho, Informatica doesnt provide a ready made transformation for implementing cartesian product in a mapping. Although, most of us would agree that&amp;nbsp; its not often that we tend to go for cartesian product joins. [the instinct generally is to do enough to avoid a cartesian product, because its a performance killer in general]&lt;br /&gt;&lt;br /&gt;However, when your requirements need this, there is no direct way to do it in informatica joiner transformation.&amp;nbsp; Either you do it in the db side, by overriding your source qualifier sql statement and building it in there.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;However, I have seen that some designers dont like to override sql statements, in such cases you'd have to implement it inside the mapping only. Here's a workaround for achieving that. Here goes - &lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Read both the sources using their own source qualifiers, normally.&lt;/li&gt;&lt;li&gt;For both of them, put in an Expression Transformation after the source&lt;/li&gt;&lt;li&gt;In both the expression transformations, create an output port with a constant value. For Example, call it dummy1 for stream 1 and assign it a value -1.&amp;nbsp; Similarly, a port would be created in the second pipeline, lets call it dummy2 and assign it a value -1.&lt;/li&gt;&lt;li&gt;Now create a joiner transformation. Link ports [including the one that we created with a constant value] to the joiner from both the expressions.&lt;/li&gt;&lt;li&gt;In the join condition, choose to compare the dummy columns.&amp;nbsp;&lt;/li&gt;&lt;li&gt;The rest of the joiner configuration would have to be like any other joiner. Nothing specific.&lt;/li&gt;&lt;/ol&gt;You might want to keep the smaller source as the master in the joiner, since it would save on the caching.&lt;br /&gt;&lt;br /&gt;Before implementing the above solution, be sure to go back and check if its actually required for your application to have cartesian product !!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8648099022389706834?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8648099022389706834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/implementing-cartesian-product-in.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8648099022389706834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8648099022389706834'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/implementing-cartesian-product-in.html' title='Implementing Cartesian Product in Informatica Mapping'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5883859166652490472</id><published>2010-04-29T13:42:00.001+05:30</published><updated>2010-05-01T02:10:17.722+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlTuning'/><category scheme='http://www.blogger.com/atom/ns#' term='tips_n_tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Hard vs Soft Parse in Oracle...</title><content type='html'>&lt;div style="font-family: Verdana,sans-serif;" xmlns="http://www.w3.org/1999/xhtml"&gt;Was reading on asktom, came across this response from Tom, that seemed so direct and clear...&lt;br /&gt;&lt;br /&gt;So, shamelessly copying.. :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[From AskTom]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; Parsing&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This is the first step in the processing of any statement in Oracle.  Parsing is the act of breaking the submitted statement down into its component parts ? determining what type of statement it is (query, DML, DDL) and performing various checks on it.  &lt;br /&gt;&lt;br /&gt;The parsing process performs two main functions:&lt;br /&gt;&lt;br /&gt;o Syntax Check: is the statement a valid one?   Does it make sense given the SQL grammar documented in the SQL Reference Manual.  Does it follow all of the rules for SQL.&lt;br /&gt;&lt;br /&gt;o Semantic Analysis:  Going beyond the syntax ? is the statement valid in light of the objects in the database (do the tables and columns referenced exist).  Do you have access to the objects ? are the proper privileges in place?  Are there ambiguities in the statement ? &lt;br /&gt;&lt;br /&gt;For example if there are two tables T1 and T2 and both have a column X, the &lt;br /&gt;query ?select X from T1, T2 where ?? is ambiguous, we don?t know which table to get X from.  And so on.&lt;br /&gt;&lt;br /&gt;So, you can think of parsing as basically a two step process, that of a syntax check to &lt;br /&gt;check the validity of the statement and that of a semantic check ? to ensure the &lt;br /&gt;statement can execute properly.  The difference between the two types of checks are hard for you to see ? Oracle does not come back and say "it failed the syntax check", rather it returns the statement with a error code and message.  So for example, this statement &lt;br /&gt;fails with a syntax error:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;SQL&amp;gt; select from where 2;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;select from where 2&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;*&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ERROR at line 1:&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ORA-00936: missing expression&lt;/div&gt;&lt;br /&gt;While this statement failed with a semantic error ? if the table NOT_A_TABLE existed and we had permission to access it, this statement would have succeeded:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;SQL&amp;gt; select * from not_a_table;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;select * from not_a_table&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;*&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ERROR at line 1:&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;ORA-00942: table or view does not exist&lt;/div&gt;&lt;br /&gt;That is the only way to really tell the difference between a semantic and syntactic error ? if the statement COULD have executed given the proper objects and privileges, you had a semantic error, otherwise if the statement could not execute under any circumstances, you &lt;br /&gt;have a syntax error.  Regardless ? Oracle will not execute the statement for you!&lt;br /&gt;&lt;br /&gt;The next step in the parse operation is to see if the statement we are currently parsing has already in fact been processed by some other session.  If it has ? we may be in luck here, we can skip the next two steps in the process, that of optimization and row source generation.  If we can skip these next two steps in the process, we have done what is known as a Soft Parse ? a shorter process to getting our query going.  If we cannot, if we must do all of the steps, we are performing what is known as a Hard Parse ? we must parse, optimize, generate the plan for the query.  This distinction is very important.  When developing our applications we want a very high percentage of our queries to be Soft Parsed ? to be able to skip the optimize/generate phases ? as they &lt;br /&gt;are very CPU intensive as well as a point of contention (serialization).  If we have to &lt;br /&gt;Hard Parse a large percentage of our queries, our system will function slowly and in some cases ? not at all.&lt;br /&gt;&lt;br /&gt;The way this sharing of SQL in Oracle is accomplished is via the shared pool, a piece of memory in the SGA maintained by Oracle.  After Oracle parses the query and it passes the syntax and semantic checks ? it will look in the shared pool component of the SGA to see if that same exact query has already been processed by another session.  &lt;br /&gt;&lt;br /&gt;Since it has performed the semantic check it has already figured out:&lt;br /&gt;&lt;br /&gt;o Exactly what tables are involved&lt;br /&gt;o That we have access to the tables (the proper privileges are there)&lt;br /&gt;&lt;br /&gt;And so on.  Now, it can look at all of the queries in the shared pool that have already been parsed/optimized and generated to see if the work has already been done.&lt;/div&gt;&lt;div style="font-family: Verdana,sans-serif;" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-size: 10pt;"&gt;[Raghav]&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;As has been discussed here, the soft parsing of queries makes our application faster, since it doesn't have to do everything all over again (from parsing point of view).&amp;nbsp; Bind variables come to help in this case.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;For example, a query like the following - &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: 10pt;"&gt;select a,b from tbl1 where c = 2333;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;would be parsed and stored under a different identifier than&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: 10pt;"&gt;select a,b from tbl1 where c = 58763;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;whereas, essentially they are same queries only, the literal value being different for the where condition.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;In this case, the second query would go for hard parse, instead of our expectation of a soft parse. So, what could be done to tell oracle to think that these are actually same queries and there is no need to do the hard parse again. Well, you can do that by using a bind variable, in the sense, removing the only differentiating part of query by a runtime replacement.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;Look at the following query - &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: 10pt;"&gt;select a,b from tbl1 where c = :bb;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;now, this query can be used for both the examples above, at the runtime (after parsing), the variable :bb would be replaced by the respective literal value, and you have your answer.&amp;nbsp; However, this gains a lot of performance, since, the second run goes for a soft parse, instead of a hard parse, so, every subsequent run, after the first one, is re-using the parsing information collected the first time.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-size: 10pt;"&gt;So, simple recommendation, use bind variables wherever you see a query being reused with different literal values, and use run time substitution of the literals.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5883859166652490472?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5883859166652490472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/hard-vs-soft-parse-in-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5883859166652490472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5883859166652490472'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/hard-vs-soft-parse-in-oracle.html' title='Hard vs Soft Parse in Oracle...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-9055224834048891328</id><published>2010-04-29T01:02:00.000+05:30</published><updated>2010-04-29T01:04:23.976+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CloudComputing'/><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>AWS Application Demo</title><content type='html'>&lt;ul&gt;&lt;li&gt;Amazon started with S3 (Simple Storage Service) - purely storage service.&lt;/li&gt;&lt;li&gt;For Computing purposes, Amazon started EC2&amp;nbsp;&lt;/li&gt;&lt;li&gt;EC2 allows hosting your application on virtual servers operated by Amazon, widely known as AWS. &lt;/li&gt;&lt;li&gt;For calculating the availability as a resource, 1 compute unit  at Amazon EC2 is roughly equivalent to a 1.2 GHz Xeon server.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;All  computing resources are virtualized, none is physical. No physical details are ever published. However, the user has to manage his own file system. Based on need/request, disk space is mounted and is made available to the server. Further, it has to be managed by the application.&lt;/li&gt;&lt;li&gt;There can be three types of instances,&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Small&lt;/li&gt;&lt;li&gt;Medium&lt;/li&gt;&lt;li&gt;Large instances&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Behavior on instances&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;like a normal web server&lt;/li&gt;&lt;li&gt;has a public web address&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Java Software available to convert command line instructions into SOAP wrapped API calls to AWS&lt;/li&gt;&lt;li&gt;Need to download API tools from AWS&lt;/li&gt;&lt;li&gt;Key pairs are tied to regions&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The benefit of this is that the servers are replicated across data centers located physically separately &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Autoscaling service&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Allows scaling of servers based on need&lt;/li&gt;&lt;li&gt;Consumes about 60-90 seconds to scale up based on the need (e.g. load on the server). If configured the appropriate way, the system will replicate the application code and launch new server instances within seconds to handle the extra load. &lt;/li&gt;&lt;li&gt;Handles scaling up as well as down both at the same time. Automaticaly, the extra/unused instances will be shut down and released from the application deployment when there is no load to require their service.&lt;/li&gt;&lt;li&gt;very useful in cases of spikes, specially high-peaks. New feature launches on sites, or sudden outbreak of news etc, cause spikes in server loads. At such times, AWS works perfectly to scale up the required computing power. The application owners are saved from buying extra servers for that 1 day load... :)&lt;/li&gt;&lt;li&gt;Its possibel to say how many servers to add&lt;/li&gt;&lt;li&gt;Such a scaling up/down can be configured. For example, it can be specifiied that request for new instances when current system's load exceeds 85% or scale down, when the usage goes below 20% used&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OSs supported&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Linux&lt;/li&gt;&lt;li&gt;Windows&lt;/li&gt;&lt;li&gt;openSolaris&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Buzzwords&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;AMI = Amazon Machine Images&lt;/li&gt;&lt;li&gt;EBS = Elastic Block Device&lt;/li&gt;&lt;li&gt;Elastic IP = static ips assigned to instances&lt;/li&gt;&lt;li&gt;Amazon EC2 = &lt;b&gt;Amazon Elastic Computing Cloud&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-9055224834048891328?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/9055224834048891328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/aws-application-demo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/9055224834048891328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/9055224834048891328'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/aws-application-demo.html' title='AWS Application Demo'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6376616711560194563</id><published>2010-04-27T00:16:00.000+05:30</published><updated>2010-04-27T00:24:21.252+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>Web Application Debugging Tools</title><content type='html'>A Talk by Matthew McCullogh&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some tools he talked about and demonstrated &lt;br /&gt;&lt;br /&gt;1. tcpdump&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Captures tcp-ip packets during traffic&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; Available as an open source project at &lt;a href="http://www.tcpdump.org/"&gt;http://www.tcpdump.org/&lt;/a&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Allows you to save the captured packet information into a file on disk, thereby allowing offline analysis.&lt;br /&gt;&lt;br /&gt;tcpdump -i en1 -s0 -n -A&lt;br /&gt;&lt;br /&gt;2. WireShark - visual interpretation of tcpdump captured data&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Once you capture packet information using tcpdump, you can get a better view of it, more readable using this tool. Again an open source project, available from &lt;a href="http://www.wireshark.org/"&gt;http://www.wireshark.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. netstat&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; An all time *nix flavors favourite. Every system admin's first choice. Allows port information.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Available by defautl with almost all port of all OSs. Sometimes differences are found in implementations pertaining to syntaxes, or switch names/usage.&lt;br /&gt;&lt;br /&gt;4. curl&amp;nbsp; - Another all time favorite. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. Allows calling/initiating the http request from command line, saves a lot of time since no program or skeleton is needed to be created for testing http calls.&lt;br /&gt;&lt;br /&gt;5. jMeter - designed    to load test functional behavior and measure performance&lt;br /&gt;&lt;br /&gt;6.&amp;nbsp; soapUI =&amp;gt; mocking a server.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; Available from &lt;a href="http://www.soapui.org/"&gt;http://www.soapui.org/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;7. JavaScript &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FireBug -&amp;nbsp; for firefox - Javascript functions/elements are easily visible and manageable. Debugging on the fly is allowed too.&amp;nbsp; Available as an addon for firefox.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FireBug - Firebug implementation for Safari.&lt;br /&gt;&lt;br /&gt;8. FireFinder- find item in DOM. Easily allow an item in the DOM of a given web page.&lt;br /&gt;&lt;br /&gt;More details coming on the following - &lt;br /&gt;&lt;br /&gt;9.&amp;nbsp; Visual Event &lt;br /&gt;&lt;br /&gt;10. FireFocus &lt;br /&gt;&lt;br /&gt;11. JASH - CLI for test javascript&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;buzzwords&lt;br /&gt;- &lt;b&gt;bpf&lt;/b&gt; - berkeley packet filter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6376616711560194563?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6376616711560194563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/web-application-debugging-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6376616711560194563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6376616711560194563'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/web-application-debugging-tools.html' title='Web Application Debugging Tools'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7662040028498948514</id><published>2010-04-25T02:23:00.000+05:30</published><updated>2010-04-27T00:20:13.755+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>workshop day GIDS 2010 - 3 - Functional Programming</title><content type='html'>Well, for the third session of the day, my choice was clear, cloud computing discussion with Simone, from AWS.  I had already had the taste of google cloud solution (app engine), and now I wanted to see the Amazon flavour.  Quite horribly unfortunately, the internet link gave way and Simone's presentation plans went awry.&lt;br /&gt;&lt;br /&gt;The guy was quite angry and it was so visible, so very visible.  He tried to talk people through, plain talk talk talk it never settled in. I see people literally dozing off, and I guess he realized that too, since on more than one occasion, he instructed to keep the hall lights switched on.  A bit of bad thing on part of Saltmarch/Airtel...&lt;br /&gt;&lt;br /&gt;As a result, midway during the session, I left off, and thought of joining in the Flex-php workshop from adobe guys. However, somehow, I ended up entering the hall where Venkat was talking about functional programming.&lt;br /&gt;&lt;br /&gt;And did I regret that decision, no chance. I guess, I have never enjoyed a programming language discussion so much, probably because I didnt get a chance to speak to such a learned speaker, and so many of keen and interested students (yeah, blame my college, I know, I do that myself.. all the time :)&lt;br /&gt;&lt;br /&gt;It was a packed house, and fantastic atmosphere.  For one thing, Venkat knew what he was talking about, and for other, I found that discussion took me back about 15 years to my college days. I had a strong feeling, why didnt I had an educational experience as nice as this. The teacher, the students, the atmosphere, whole place was like a wonderful experience. Though I had no clue what scala is before I entered the place, it never felt like a problem.&lt;br /&gt;&lt;br /&gt;The way he talked about issues, the benefits, the arguments he presented, and I think more importantly, the way he engaged the audience in discussions, it was just wonderful.  You might think that I am over reacting, but i dont care, I just loved this guy, this session.&lt;br /&gt;&lt;br /&gt;He talked about programming paradigms, the way procedural languages were king one day, and the way they are looked at as if ancient history is being talked about today. And similarly, for today's generation OOPS is becoming more of a thing of the past, and new paradigms are coming over.&lt;br /&gt;&lt;br /&gt;The way he propounded functional programming, the very idea of not allowing immutability, the way of thinking in terms of having to think of a solution without that.. amazing... &lt;br /&gt;&lt;br /&gt;At more than one point in time, the people in the audience tried to contest the idea/need of another language, when we already have so many, and the need of learning another one.  There were thoughts on the toughness of a programming language vs the other, and the way he answered.. fantastic...  His point in this case was, its as good as a Karnataka person going to Punjab and saying, "These people are crazy, their language is so touch, I cant even read that". And it was a good laugh..&lt;br /&gt;&lt;br /&gt;At more than one point in time, he compared different programming languages, their features and pros and cons of each of them.  The kind of knowledge that he had, to be able to compare them, was amazing...&lt;br /&gt;&lt;br /&gt;I have to say, without any doubt, that this session was my best experience at GIDS 2010. I loved this, probably due to my personal interest in the theory of computer science as such, but also because there probably wasnt any other speaker with that kind of personality and flair for talking.&lt;br /&gt;&lt;br /&gt;Hats off to Saltmarch for inviting people like him too...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-7662040028498948514?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7662040028498948514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/workshop-day-gids-2010-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7662040028498948514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7662040028498948514'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/workshop-day-gids-2010-3.html' title='workshop day GIDS 2010 - 3 - Functional Programming'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-2295065878263168214</id><published>2010-04-24T19:10:00.000+05:30</published><updated>2010-04-27T00:20:40.313+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>workshop day gids 2010 - 2  - paypal x</title><content type='html'>It went even better afterwards, Paypal has opened doors to their Payment methodology to developers.  They call it PayPal X. They have published a complete SDK which allows developers to write independent programs that allow integration of paypal as a payment gateway in their e commerce applications.&lt;br /&gt;&lt;br /&gt;Their idea is to popularize paypal and use its simplicity and capability in spreading its business reach.  The whole team of PayPal was present at the workshop and the atmosphere was pretty nice. Khurram Khan started off by talking a bit on the background of financial transactions, further, Rangarajan took over and talked in detail.&lt;br /&gt;&lt;br /&gt;Frankly, the session was interactive, because perhaps people are motivated by money, the chances of earning it, and the basic idea of linking real e-commerce to their websites by such low effort and simplicity.  My personal interests in that area are purely out of curiosity, in the sense that I am more keen to know as to whats going on, then get down to the code details and start implementing it.&lt;br /&gt;&lt;br /&gt;One thing that stood out for me is that paypal proposes to review the code of the developer before actually allowing to move it to production (live), but has no control thereafter. So, in essence, someone who intends to do something funny (read : wrong/illegal etc...) might pass the initial test by presenting a genuine case, and then once he;s live, he can go back and change the code.  I feel that by allowing updations like this, paypal is losing a bit of control on its API usage by the people.&lt;br /&gt;&lt;br /&gt;I would probably have built somekind of a dynamic filter or a pair matching kind of mechanism (or a checksum for that matter) which would change the moment the developer changes his code on production site.  Every call to the paypal API should check this checksum/authentication token and should go through only if this checks also holds good. Well, its just a thought, and probably paypal has its own reasons not to enforce any such check, but, if I were Khurram, I would probably start like that, perhaps remove it later or something like that.&lt;br /&gt;&lt;br /&gt;When I posed this to Khurram, he was saying that, the responsibility of doing anything illegal or wrong lies anyway with the developer or the site owner, so, paypal doenst really want to get in their way. They would be apprehanded sometime anyway, sooner or later.  As much as I agree with his argument, I still think that paypal could probably play a role and possibly stop "wrong" things from happening to some extent, after all its happening through their infrastructure, although the ownership lies somewhere else.&lt;br /&gt;&lt;br /&gt;Other than, this particular point, I think the SDK is pretty nice and ok. They allow Java, no special downloads etc required to start developing, besides the SDK of course, and that the API supports almost all kinds of operations. &lt;br /&gt;&lt;br /&gt;I specially liked their idea of generalizing the paypal kind of services, where it comes to trust building. During one discussion a statement was said, I dont remember which one, but a paypal employee said that, "I am sure that when it comes to trusting someone over internet, you can trust paypal a lot more with your financial information than a relatively unknown website that you are using for the first time." That I agree with, and perhaps the Indian jinx of not using web for payments can be broken with a trusted guy on the net, paypal.&lt;br /&gt;&lt;br /&gt;You trust one person, paypal, and the rest is handled by paypal.  As far as this statement goes, there actually is a greater risk, what if paypal goes rogue ? It would then have all my information, all of it... well then you would have to trust someone.. right ??  or not ???&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-2295065878263168214?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/2295065878263168214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/workshop-day-gids-2010-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2295065878263168214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2295065878263168214'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/workshop-day-gids-2010-2.html' title='workshop day gids 2010 - 2  - paypal x'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-278455486919595819</id><published>2010-04-24T17:14:00.000+05:30</published><updated>2010-04-29T00:50:47.467+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='CloudComputing'/><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>The workshop day @GIDS 2010 - I - cloud computing using Google App engine</title><content type='html'>&lt;span style="font-family: lucida grande;"&gt;Well, A developer day cant get better than that...  And, whatever issues I mentioned regarding scheduling of the summit were gone up in air.&lt;br /&gt;&lt;br /&gt;I had the choice to go attend the Cloud Computing/hosting workshop with Mathhew McCullogh. It was based on java, which I dont care about anyway. Not that I have any kind of disrespect for the language, but I strongly think that we ought to think beyond languages.&lt;br /&gt;&lt;br /&gt;He perfectly showcased how easy it is to build and host you own web application on the google app engine cloud platform.  Its hard to imagine how easy it has become with eclipse plugin for google app engine and web toolkit, to develop an application for the cloud and deploy it.   With those tools installed and configured (its surprisingly easy task to do it anyway), its a button click to deploy your application to the cloud.&lt;br /&gt;&lt;br /&gt;I am not a big fan of java, or of huge complex configuration files for that matter, but the way this app engine thing is coming pre-configured, it reminds me of ruby on rails. At least to start with.  Its surprisingly easy to start developing with GWT (Google Web Toolkit) and Google App Engine.&lt;br /&gt;&lt;br /&gt;I tried to replicate what he was doing/showing, and, remember I am no big shots in java, that last professional java work I did was about 8 years back, It was surprisingly easy.  Just a few clicks and it was done.  I have to say, it was infectious, as if I felt like delving more into java and go back to experimenting with it...&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-278455486919595819?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/278455486919595819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/workshop-day-gids-2010-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/278455486919595819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/278455486919595819'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/workshop-day-gids-2010-i.html' title='The workshop day @GIDS 2010 - I - cloud computing using Google App engine'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-731750758811934763</id><published>2010-04-22T12:37:00.001+05:30</published><updated>2010-04-23T10:20:36.239+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CloudComputing'/><title type='text'>Is that a workable idea ?</title><content type='html'>&lt;div style="font-family: lucida grande;" xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Actually, we are waiting for a new server to be installed and any new physical server installation takes some time, we all know that.  The project would request it, there would be financials and then the order would be approved internally.&lt;br /&gt;It would be placed with the vendor by purchasing, the vendor will ship it, and then a few days/weeks after, technicians will come over to install the stuff. &lt;br /&gt;&lt;br /&gt;Then the local admins will get to work and configure it to be used by the respective teams. Another few days/weeks...&lt;br /&gt;&lt;br /&gt;Just wondering, any given enterprise has hundreds ir not thousands computers, all classes, laptops, desktop development PCs, server class PCs and others...&lt;br /&gt;&lt;br /&gt;How about taking off 10% of all these PCs' computing power to create a cloud computing environment (of course within the company environment only).  An application can be installed which will make sure that a given percentage of computing power will go to only a particular resource.&lt;br /&gt;&lt;br /&gt;A lot like how BOINC works. You install a client/manager app on ur PC and then u receive a piece of computation for your part of computing power.&lt;br /&gt;&lt;br /&gt;That kind of computing environment can easily replace an average server's computing power.&lt;br /&gt;The storage can easily be hooked up to a SAN.&lt;br /&gt;&lt;br /&gt;I'd encourage a discussion on this... see what others think around the idea...&lt;/p&gt;in reference to: &lt;a href="http://en.wikipedia.org/wiki/Distributed_computing"&gt;Distributed computing - Wikipedia, the free encyclopedia&lt;/a&gt; (&lt;a href="http://www.google.com/sidewiki/entry/sharma.raghvendra/id/q3Mf75atx3DONKXApY5Yu6eY0AY"&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-731750758811934763?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/731750758811934763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/is-that-workable-idea.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/731750758811934763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/731750758811934763'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/is-that-workable-idea.html' title='Is that a workable idea ?'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6225110773441530296</id><published>2010-04-22T11:06:00.001+05:30</published><updated>2010-04-22T19:51:38.956+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>Fantastic Effort by SaltMarch</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p&gt;Well, i have to say it like that,  The one day that I attended at the GIDS - 2010 was amazing. Probably I am reacting like that since its my first such summit, nonetheless the quality of speakers and the content they delivered was top of the ladder. &lt;br/&gt;&lt;br/&gt;Amazing truely.&lt;br/&gt;&lt;br/&gt;To get people of such caliber at one platform is a job in itself which saltmarch have done to perfection.  I chose to be there for .Web day, and the kind of knowledge that was flowing around, technologies being talked about and the manner in which they were addressed, simply great.&lt;br/&gt;&lt;br/&gt;We know some things as simple buzzwords, but we ought to realize that the buzzwords actually have lot more behind them.   The way Simone (from AWS) put it, "Everybody in the confrerence hall would know what is Cloud computing, but I am sure that when I ask you what is it, you'd all come back with different definitions, and perhaps they are all correct as well".  That statement sort of sums up the whole experience, we all know to some extent, or varying degree of perception what something is about, but unless we know it from the source, as they say, from the horse's mouth, its always a bit farther from the real reality.&lt;br/&gt;&lt;br/&gt;I like that way the speaker and sessions were compiled, though  a few of my favorite sessions were canceled (blame that volcano in Iceland for canceling all the flights), I still enjoyed a lot of it.  &lt;br/&gt;&lt;br/&gt;Personally me, interested in Ajax, came a lot closure to experimenting with it, and perhaps using it in professional environment as well.  Thanks to people at Adobe booth there, I have a chance to try out the Adobe Flex Builder IDE, and check out the potential first hand.&lt;br/&gt;&lt;br/&gt;Tomorrow, there is a workshop on php and Flex delivering RIA, and I cant wait to be there :) &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;However, as is the custom for people like me, to comment and find fault with something or other, after all we are humans, we are bound to make mistakes and other humans are bound to find them and report them publicly, like on this blog... :)&lt;br/&gt;&lt;br/&gt;I believe the scheduling of some of the sessions could have been better. For example, I missed out on the PayPal X presentation, because I wanted to attend Marty Hall's session on evaluation of Ajax/JavaScript Libraries too. Now, I'd have to contend only with the video of that presentation, hoping that it would be made available. :)&lt;br/&gt;&lt;br/&gt;I like the scheduling of the workshop day a lot better. It gives people like me options to attend sessions diff technologies ...&lt;br/&gt;&lt;br/&gt;Looking forward to another exciting day of fun filled experiments that enhance know how...&lt;/p&gt;in reference to: &lt;a href='http://www.developermarch.com/developersummit/schedule.html'&gt;Great Indian Developer Summit :: Conference, Expo, and Awards on Java, .NET, Rich Web :: Saltmarch Media Summits&lt;/a&gt; (&lt;a href='http://www.google.com/sidewiki/entry/sharma.raghvendra/id/MEzSLghxASfsq5d_BKvnSwJWwIE'&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6225110773441530296?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6225110773441530296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/fantastic-effort-by-saltmarch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6225110773441530296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6225110773441530296'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/fantastic-effort-by-saltmarch.html' title='Fantastic Effort by SaltMarch'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4172845214607212770</id><published>2010-04-21T10:40:00.000+05:30</published><updated>2010-04-27T00:24:21.258+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>Web Changing the face of the world : Ramesh</title><content type='html'>Ramesh, a senior technologist/scientist from Adobe, talked about how and what has web 2.0 done to change the world, especially the way the information is treated/used/processed etc...&lt;br /&gt;&lt;br /&gt;Here are some of his points -&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Real Time Web&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;kind of content that is coming around&lt;/li&gt;&lt;li&gt;no more old docs&lt;/li&gt;&lt;li&gt;social networking&lt;/li&gt;&lt;li&gt;live collaboration&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;experiencing the web &lt;/span&gt;- how the web is experienced, the way its accessed, used etc.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Some tools are coming up in the VR world, which allows&lt;br /&gt;&lt;/li&gt;&lt;li&gt;augmented reality -&gt; web apps capturing reality and using the inputs&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;proliferating devices&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Already more web access from non PC devices&lt;/li&gt;&lt;li&gt;More devices are coming through which access web differently&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;democratization of data&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Some govts have already started putting their data in public domain.&lt;/li&gt;&lt;li&gt;Lots of application development opportunities based on that data.&lt;/li&gt;&lt;li&gt;Cloud computing also coming around to provide processing power and applications for the data.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Buzzwords&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ActionScript&lt;/li&gt;&lt;li&gt;ECMAScript&lt;/li&gt;&lt;li&gt;Flex&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Quite interesting talk :) Learned person, Ramesh.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4172845214607212770?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4172845214607212770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/web-changing-face-of-world-ramesh.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4172845214607212770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4172845214607212770'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/web-changing-face-of-world-ramesh.html' title='Web Changing the face of the world : Ramesh'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8016264569404840176</id><published>2010-04-21T09:34:00.000+05:30</published><updated>2010-04-21T10:16:23.911+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>Marty Hall : Why Ajax : Using Ajax in ur web apps</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Why WebApps - Ajax&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;A&lt;/span&gt;synchronous &lt;span style="font-weight: bold;"&gt;J&lt;/span&gt;avaScript &lt;span style="font-weight: bold;"&gt;a&lt;/span&gt;nd &lt;span style="font-weight: bold;"&gt;X&lt;/span&gt;ML =&gt; doesnt hold good anymore&lt;br /&gt;&lt;/li&gt;&lt;li&gt;allow the browser to utilize the time when the main page is gone tofetch the result of your initial app&lt;/li&gt;&lt;li&gt;Add/modify content on the webpage at runtime&lt;br /&gt;&lt;/li&gt;&lt;li&gt;trends -&gt; more jobs on Ajax than any other technology - php, vb, asp etc...&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Ajaxifying an Application&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;libraries - &lt;span style="font-weight: bold;"&gt;jQuery&lt;/span&gt;, ext-ja, dojo, yui, prototype, google closure, mootols&lt;/li&gt;&lt;li&gt;Browser allow calls to only the server from where the original code came in, due to firewall issues. &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Situation 2 - Hybrid&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Libraries to use for new apps - JSF 2.0, Struts 2.0, Spring MVC 3.&lt;/li&gt;&lt;li&gt;JSF is better because&lt;/li&gt;&lt;li&gt;integrated in main code - jquery needs u to write javascript&lt;br /&gt;&lt;/li&gt;&lt;li&gt;no javascript to write - a simple tag &lt;f:ajax...&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;Situation 3 - Hardcore Ajax&lt;/li&gt;&lt;li&gt;Google web toolkit&lt;/li&gt;&lt;li&gt;Use java everywhere&lt;/li&gt;&lt;li&gt;Write java code at front end -&gt; compiles to javascript at run time&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Write java code at back end-&gt; provides facility of communication in terms of java objects&lt;/li&gt;&lt;/ul&gt;Buzzwords&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Jboss Seam &lt;-&gt; JSF 2.0&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8016264569404840176?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8016264569404840176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/marty-hall-why-ajax-using-ajax-in-ur.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8016264569404840176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8016264569404840176'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/marty-hall-why-ajax-using-ajax-in-ur.html' title='Marty Hall : Why Ajax : Using Ajax in ur web apps'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-2068929882199737290</id><published>2010-04-21T08:34:00.000+05:30</published><updated>2010-04-21T08:40:37.487+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='devsummit'/><category scheme='http://www.blogger.com/atom/ns#' term='GIDS2010'/><title type='text'>@GIDS 2010 Bangalore</title><content type='html'>I am going to be there at the "Great Indian Developer Summit" in Bangalore April 20th to 23rd 2010.&lt;br /&gt;&lt;br /&gt;Its hosted at the lush green IISc campus, in the J N Tata Auditorium.  Various pieces of info are available from the organizer website -&lt;br /&gt;&lt;br /&gt;&lt;a href="www.saltmarch.com"&gt;www.saltmarch.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.developermarch.com/developersummit/"&gt;http://www.developermarch.com/developersummit/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It looks like an amazing place to be, full of tech discussions, and hopefully knowledge too...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-2068929882199737290?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/2068929882199737290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2068929882199737290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2068929882199737290'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/i.html' title='@GIDS 2010 Bangalore'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-2548233169138035725</id><published>2010-03-31T11:54:00.001+05:30</published><updated>2010-04-29T00:42:39.238+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='india'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Apple and India...</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;Well, this is sad, particularly for someone in India, who avoids getting cracked iPhones...&lt;br /&gt;&lt;br /&gt;Only yesterday Apple and Airtel announced availability of iPhone 3GS in India and today I get to read this, that Apple is releasing a new/better hardware for iPhone coming summer.&lt;br /&gt;&lt;br /&gt;So, basically, India as an iPhone market is going to lag behind the rest of world by at least one model this time around as well.&lt;br /&gt;&lt;br /&gt;Sometimes, I dont understand Apple's marketing strategy, specially in Indian context.  As an Economy, India is probably the largest in the emerging market economies closely behind China.  That statement should alone prove to be a "lucrative market" for any company which aims for growth.&lt;br /&gt;&lt;br /&gt;This is specially interesting when we look at the number of iPhones already used in India with cracked OS's.&lt;br /&gt;&lt;br /&gt;This doenst help a company's revenues if the product is consumed in a market where the company doesn't officially sell the product.&lt;br /&gt;&lt;br /&gt;Also, the number of iPhones used in India, should give Apple an indication about the marketability of their product in this market. Personally, I think as a product from Apple's stable, iPhone has a lot of glamour linked to it.&lt;br /&gt;And therefore, huge possibilities in India for Apple.&lt;br /&gt;&lt;br /&gt;The new iPhone's rumoured specs look stunning, 5 MP camera, better display resolution, more processing power, possible multi tasking, video calling camera and few other things.  After reading that, my plans to order an iPhone 3GS have taken a back seat.  I want to see this product coming to market, further to see, when does it come to India.&lt;br /&gt;&lt;br /&gt;Apple seems to listening to customers.. the kind of improvements rumoured is possibly the exact list of things someone might say are downsides of iPhone...&lt;br /&gt;&lt;br /&gt;Good luck Apple, and India, hoping for a better collaboration this time around...&lt;/p&gt;in reference to: &lt;a href="http://arstechnica.com/apple/news/2010/03/more-on-next-gen-iphone-and-verizon-iphone-dreams.ars"&gt;More on next-gen iPhone and Verizon iPhone dreams&lt;/a&gt; (&lt;a href="http://www.google.com/sidewiki/entry/108216804637059542860/id/0dMNE6u0YiHAhopO7lDT_Ysul0s"&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-2548233169138035725?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/2548233169138035725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/03/apple-and-india.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2548233169138035725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2548233169138035725'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/03/apple-and-india.html' title='Apple and India...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6775462449455261827</id><published>2010-03-18T17:20:00.001+05:30</published><updated>2010-05-01T02:08:02.825+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlTuning'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSource'/><category scheme='http://www.blogger.com/atom/ns#' term='ExplainPlan'/><category scheme='http://www.blogger.com/atom/ns#' term='dwh-bi'/><category scheme='http://www.blogger.com/atom/ns#' term='InfoBright'/><title type='text'>Explain plan of Infobright</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;We all knw that Infobright is based on MySql.  However, when I started with Infobright, I was equally unaware of both.&lt;br /&gt;&lt;br /&gt;Today I got to know about Infobright's explain plan collection technique, and realized how different it is from Oracle's.&lt;br /&gt;&lt;br /&gt;A typical explain plan from oracle talks about the path it follows to retrieve the data, and somehow makes common sense to read a plan.&lt;br /&gt;&lt;br /&gt;On the other hand, an explain plan from Infobright looks nothing like the Oracle's plan.  Its a set of cryptic rows put together.  An example of such a plan -&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;2010-03-18 01:31:01 [4] T:-1 = TABLE_ALIAS(T:0,"myTableName")&lt;br /&gt;T:-2 = TMP_TABLE(T:-1)&lt;br /&gt;VC:-2.0 = CREATE_VC(T:-2,PHYS_COL(T:-1,&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;A:20))&lt;br /&gt;A:-1 = T:-2.ADD_COLUMN(VC:-2.0,AVG,"&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;avg(col1)","ALL")&lt;br /&gt;A:-2 = T:-2.ADD_COLUMN(VC:-2.0,MAX,"&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;max(col1)","ALL")&lt;br /&gt;A:-3 = T:-2.ADD_COLUMN(VC:-2.0,MIN,"&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;min(col1)","ALL")&lt;br /&gt;A:-4 = T:-2.ADD_COLUMN(,COUNT,"count(&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;1)","ALL")&lt;br /&gt;VC:-2.1 = CREATE_VC(T:-2,PHYS_COL(T:-1,&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;A:2))&lt;br /&gt;A:-5 = T:-2.ADD_COLUMN(VC:-2.1,GROUP_&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;BY,"col2","ALL")&lt;br /&gt;VC:-2.2 = CREATE_VC(T:-2,PHYS_COL(T:-1,&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;A:5))&lt;br /&gt;A:-6 = T:-2.ADD_COLUMN(VC:-2.2,GROUP_&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;BY,"col3","ALL")&lt;br /&gt;VC:-2.3 = CREATE_VC(T:-2,PHYS_COL(T:-1,&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;A:7))&lt;br /&gt;A:-7 = T:-2.ADD_COLUMN(VC:-2.3,GROUP_&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;BY,"col4","ALL")&lt;br /&gt;VC:-2.4 = CREATE_VC(T:-2,PHYS_COL(T:-1,&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;A:11))&lt;br /&gt;A:-8 = T:-2.ADD_COLUMN(VC:-2.4,GROUP_&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;BY,"col5","ALL")&lt;br /&gt;VC:-2.5 = CREATE_VC(T:-2,PHYS_COL(T:-1,&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;A:12))&lt;br /&gt;A:-9 = T:-2.ADD_COLUMN(VC:-2.5,GROUP_&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;BY,"col6","ALL")&lt;br /&gt;VC:-2.6 = CREATE_VC(T:-2,PHYS_COL(T:-1,&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;A:13))&lt;br /&gt;A:-10 = T:-2.ADD_COLUMN(VC:-2.6,GROUP_&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;BY,"col7","ALL")&lt;br /&gt;VC:-2.7 = CREATE_VC(T:-2,PHYS_COL(T:-2,&lt;/span&gt;&lt;wbr style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;A:-1))&lt;br /&gt;T:-2.ADD_ORDER(VC:-2.7,DESC)&lt;br /&gt;RESULT(T:-2)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And, guess what, to generate a plan, you have to change a setting in the initialization parameters file, and then bounce the db.  I wonder if there have been any instances when someone had to look into production database's performance and therefore needed to look at some plan.&lt;br /&gt;&lt;br /&gt;Being as new a system as it is, I cant really complain, since such things of maturity will slowly creep in.  The focus right now is probably elsewhere, building the functionality, and probably performance.&lt;/p&gt;in reference to: &lt;a href="http://www.infobright.org/Forums/viewthread/815/"&gt;Infobright.org Forums | Enable MySQL Logging&lt;/a&gt; (&lt;a href="http://www.google.com/sidewiki/entry/108216804637059542860/id/a_xjNx5nK8zrQ1l6k4K1f9b5434"&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6775462449455261827?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6775462449455261827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/03/explain-plan-of-infobright.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6775462449455261827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6775462449455261827'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/03/explain-plan-of-infobright.html' title='Explain plan of Infobright'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6403326737272735398</id><published>2010-02-19T16:01:00.001+05:30</published><updated>2010-02-20T01:37:17.382+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CloudComputing'/><category scheme='http://www.blogger.com/atom/ns#' term='BOINC'/><title type='text'>Discovered BOINC 5 years ago, joined today :)</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;It was George, a colleague at Axa Tech in Switzerland who first introduced me to this idea. I was thrilled alright, but didnt join right away.&lt;br /&gt;&lt;br /&gt;Today I did.&lt;br /&gt;&lt;br /&gt;Its a nice feeling, and a feeling of giving back something to science.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing"&gt;http://en.wikipedia.org/wiki/&lt;wbr&gt;Berkeley_Open_Infrastructure_&lt;wbr&gt;for_Network_Computing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://boinc.berkeley.edu/"&gt;http://boinc.berkeley.edu/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I would not go into details how it works and all that. However, I would have to say, for whatever time your laptop/workstation remains idle, you can donate the processing power to a better cause. Absolutely fantastic idea, genuinely noble.&lt;br /&gt;&lt;br /&gt;And then, look a the stats, people like me are contributing to the processing power generated to the extent of 4 pFLOPS, as against the fastest supercomputer system at mere 1.79 pFLOPS.&lt;br /&gt;&lt;br /&gt;As I said, feels great. :)&lt;br /&gt;&lt;br /&gt;I hope to inspire others to join in...&lt;/p&gt;in reference to: &lt;a href="http://boinc.berkeley.edu/"&gt;BOINC&lt;/a&gt; (&lt;a href="http://www.google.com/sidewiki/entry/108216804637059542860/id/VSTU-yhr9vsl73GHAxqkXe1DL5o"&gt;view on Google Sidewiki&lt;/a&gt;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6403326737272735398?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6403326737272735398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/02/discovered-boinc-5-years-ago-joined.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6403326737272735398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6403326737272735398'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/02/discovered-boinc-5-years-ago-joined.html' title='Discovered BOINC 5 years ago, joined today :)'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3637263357428905095</id><published>2010-02-17T07:20:00.000+05:30</published><updated>2010-02-17T07:34:54.702+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Connecting to an Oracle Server...which way is faster...</title><content type='html'>I've never came across this question as such, because its sort of given that you connect to a server any-which way the administrators define the policy. The tuning perspectives came in only afterwards.&lt;br /&gt;&lt;br /&gt;However, in a recent situation, I had to connect to a remote server from my client system and was wondering whether I should connect using &lt;span style="font-weight: bold;"&gt;tnsnames.ora&lt;/span&gt; or should I use the basic authentication mechanism, using the complete connect string.&lt;br /&gt;&lt;br /&gt;I thought that the tnsnames.ora would incur some latency in connections. On the other hand, connecting directly without using any such files is like doing a telnet to the server on a given port.&lt;br /&gt;&lt;br /&gt;Also, I have seen that if you attempt to connect using the complete connect string from the tnsnames.ora file, it also works.&lt;br /&gt;&lt;br /&gt;Since I was not clear myself, I did post this question on &lt;a href="http://forums.oracle.com/forums/message.jspa?messageID=4099707"&gt;oracle forums&lt;/a&gt;.  And a gentleman, &lt;a href="http://forums.oracle.com/forums/profile.jspa?userID=287238" title="Billy  Verreynne "&gt;Billy  Verreynne&lt;/a&gt; took out some time to help explain the concept. Many thanks to him.&lt;br /&gt;&lt;br /&gt;As it stands, the basic methodology of connection is same in both cases. However, if you happen to have a huge tnsnames.ora file, it would be an overhead to parse the file and get the connect string for the service name you attempted to connect to.  But it would only make a difference, if your client connection process go into hundreds then it might make any noticeable degradation.  Basically, client would have to parse the huge tnsnames file few hundred times per second.. then it might make a difference.&lt;br /&gt;&lt;br /&gt;Billy also suggested that if you switch the server mode from dedicated to shared, it would help.&lt;br /&gt;&lt;br /&gt;So, for my conclusions, its the same if you connect through tnsnames or through a native connect string.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3637263357428905095?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3637263357428905095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/02/connecting-to-oracle-serverwhich-way-is.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3637263357428905095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3637263357428905095'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/02/connecting-to-oracle-serverwhich-way-is.html' title='Connecting to an Oracle Server...which way is faster...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8983589358039780850</id><published>2010-01-22T07:01:00.000+05:30</published><updated>2010-05-01T02:08:02.827+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSource'/><category scheme='http://www.blogger.com/atom/ns#' term='Pentaho'/><category scheme='http://www.blogger.com/atom/ns#' term='dwh-bi'/><category scheme='http://www.blogger.com/atom/ns#' term='InfoBright'/><title type='text'>availability of native drivers !!!</title><content type='html'>As I mentioned earlier, I was busy experimenting with a columnar database, InfoBright.&lt;br /&gt;&lt;br /&gt;The experience till now is mixed, in some scenarios, the data loading is very good, as much as 40k rows per second, whereas through other channels its a poorer 500 rows per second.  When I go with their built in loader, its lightening fast, but when I try from Pentaho or Informatica, its measly.&lt;br /&gt;&lt;br /&gt;Apparantly, the drivers and the compatibility of the third party tools do play a role in attaining the performance.&lt;br /&gt;&lt;br /&gt;The fact that they dont have any native driver published, is a huge bottleneck. Informatica dont even have a native connector for MySql, the more known cousin of InfoBright (being open source, the core engine of InfoBright is based on MySql only).&lt;br /&gt;&lt;br /&gt;One thing came out of this experience for sure, the liking for open source got better and better.  During the hunt to see the reason for slow performance from Pentaho, I even tried and managed to get the source code of the plugin (transformation) that pentaho uses for Infobright.  Its pure java and it was a very powerful and awakening feeling to see the code of the item.   I felt as if I have the power, the choice to make a difference, make it better. :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am currently exploring other options, one of them includes creating a dump file (read : csv) of the data, and then launching the command line tool to load the data into target db.  I dont like it, but lets see if there is any better (read:faster) way around...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8983589358039780850?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8983589358039780850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/01/availability-of-native-drivers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8983589358039780850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8983589358039780850'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/01/availability-of-native-drivers.html' title='availability of native drivers !!!'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4663336292762365923</id><published>2009-12-18T01:50:00.000+05:30</published><updated>2010-04-29T00:35:43.009+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JusTalk'/><title type='text'>Its been a while...</title><content type='html'>&lt;div class="Section1"&gt;  &lt;p class="MsoNormal"&gt;Its been quite some time since I wrote anything to this blog, let alone anything valuable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;However, last few months have been quite eventful in my personal and professional life. I have landed a job with a company in Bangalore now, which works a lot more with open source systems/applications than my previous employer. I can easily say that this was one of the points in my decision making.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Currently, I am opening up to working on Ubuntu and probably virtualization, mysql, postgresql and most importantly, Informatica Powercenter and Pentaho.  The suite of tools is just too exciting for me to find right words to express my feelings.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Recently I have picked up a project to do a Proof of Concept for using an open source columnar database and compare its behavior with oracle for a given application.  Of course it involves data loading, and analytical queries, so there would be some interesting stats collection and comparison. Attempts to break a system are always more interesting than to make it &lt;span style="font-family:Wingdings;"&gt;J&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Lets see how it goes…&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Also, I would try to be more regular on the blog now onwards…&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4663336292762365923?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4663336292762365923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/12/its-been-while.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4663336292762365923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4663336292762365923'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/12/its-been-while.html' title='Its been a while...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-891275269026420866</id><published>2009-07-02T09:29:00.000+05:30</published><updated>2009-07-02T09:35:09.274+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Compile all packages in a schema</title><content type='html'>BEGIN&lt;br /&gt;   FOR cur IN&lt;br /&gt;   (&lt;br /&gt;        SELECT OBJECT_NAME,&lt;br /&gt;           OBJECT_TYPE    ,&lt;br /&gt;           owner&lt;br /&gt;          FROM all_objects&lt;br /&gt;         WHERE object_type IN('PACKAGE', 'PACKAGE BODY')&lt;br /&gt;           AND owner        =  ':OWNER&lt;br /&gt;           AND status       = 'INVALID'&lt;br /&gt;   )&lt;br /&gt;   LOOP&lt;br /&gt;       BEGIN&lt;br /&gt;           IF cur.OBJECT_TYPE = 'PACKAGE BODY' THEN&lt;br /&gt;               EXECUTE IMMEDIATE 'alter package "' || cur.owner || '"."' || cur.OBJECT_NAME ||&lt;br /&gt;               '" compile body';&lt;br /&gt;           ELSE&lt;br /&gt;               EXECUTE IMMEDIATE 'alter ' || cur.OBJECT_TYPE || ' "' || cur.owner || '"."' ||&lt;br /&gt;               cur.OBJECT_NAME || '" compile';&lt;br /&gt;           END IF;&lt;br /&gt;       EXCEPTION&lt;br /&gt;       WHEN OTHERS THEN&lt;br /&gt;           DBMS_OUTPUT.PUT_LINE('Errors compiling - ' || cur.owner ||'.'||cur.object_name);&lt;br /&gt;       END;&lt;br /&gt;   END LOOP;&lt;br /&gt;END;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-891275269026420866?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/891275269026420866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/07/compile-all-packages-in-schema.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/891275269026420866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/891275269026420866'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/07/compile-all-packages-in-schema.html' title='Compile all packages in a schema'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8763191924367714185</id><published>2009-05-28T16:43:00.001+05:30</published><updated>2010-04-29T00:36:40.927+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='dwh-bi'/><title type='text'>MDX Tutorial</title><content type='html'>&lt;a href="http://www.anselmiconsulting.com/webtools/WTContent/ACDR/Tutorials/MDXReportTutorial/MDXTutorial/mdx_tutorial.htm"&gt;MDX Tutorial&lt;/a&gt; &lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8763191924367714185?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8763191924367714185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/05/mdx-tutorial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8763191924367714185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8763191924367714185'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/05/mdx-tutorial.html' title='MDX Tutorial'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-337893144846573947</id><published>2009-05-26T16:55:00.001+05:30</published><updated>2010-04-29T00:39:56.602+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='dwh-bi'/><title type='text'>Interesting Demos from Informatica</title><content type='html'>Pretty Basic Demo by Infa guys on their DW offering...&lt;br /&gt;&lt;a href="http://www.informatica.com/videos/demos/6920_warehousing/index.html"&gt;Informatica Enterprise Data Warehousing Demo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another interesting one on Data Migration...&lt;br /&gt;&lt;a href="http://www.informatica.com/product_scenarios/dm_demo/default.htm"&gt;Informatica Data Migration&lt;/a&gt;&lt;br /&gt;&lt;div class="flockcredit" style="color: #cccccc; font-size: x-small; text-align: right;"&gt;&lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999999; font-weight: bold;" target="_new" title="Flock Browser"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-337893144846573947?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/337893144846573947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/05/informatica-enterprise-data-warehousing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/337893144846573947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/337893144846573947'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/05/informatica-enterprise-data-warehousing.html' title='Interesting Demos from Informatica'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-2864472385130750271</id><published>2009-05-20T10:29:00.001+05:30</published><updated>2009-05-20T10:29:42.261+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Top 12 Ruby on Rails Tutorials</title><content type='html'>Looks like an interesting set of tutorials...&lt;br /&gt;&lt;br /&gt;&lt;cite cite="http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials"&gt;&lt;a href="http://www.digitalmediaminute.com/article/1816/top-ruby-on-rails-tutorials"&gt;Top 12 Ruby on Rails Tutorials&lt;/a&gt;&lt;/cite&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-2864472385130750271?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/2864472385130750271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/05/top-12-ruby-on-rails-tutorials.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2864472385130750271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2864472385130750271'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/05/top-12-ruby-on-rails-tutorials.html' title='Top 12 Ruby on Rails Tutorials'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8818547486746491044</id><published>2009-05-01T02:05:00.000+05:30</published><updated>2010-05-01T02:06:05.103+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>tweaks around Oracle 11g on Hardy 64bit</title><content type='html'>I did an oracle 11g 64bit install on my 64bit core 2 quad using the resources available on internet and some past experience.&lt;br /&gt;&lt;br /&gt;The tutorial here is great :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pythian.com/blogs/968/installing-oracle-11g-on-ubuntu-804-lts-hardy-heron"&gt;http://www.pythian.com/blogs/968/installing-oracle-11g-on-ubuntu-804-lts-hardy-heron&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, some things still show up after the initial setup is done. Here are bits of my experience -&lt;br /&gt;&lt;br /&gt;1. Starting Enterprise manager after a reboot -&lt;br /&gt;Try &lt;span style="font-family: courier new; font-style: italic;"&gt;emctl status agent&lt;/span&gt;&lt;br /&gt;The last line of the output should tell you whats happening.  If its not running, start it using the following -&lt;br /&gt;&lt;span style="font-family: courier new; font-style: italic;"&gt;emctl start dbconsole&lt;/span&gt;&lt;br /&gt;This thanks to &lt;a href="http://www.linuxquestions.org/questions/linux-general-1/linux-5-oracle-11g-enterprise-manager-question-616532/"&gt;&lt;span style="font-style: italic;"&gt;http://www.linuxquestions.org/questions/linux-general-1/linux-5-oracle-11g-enterprise-manager-question-616532/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. The ORACLE_SID variable must be declared in either /etc/profile (for a single database on the system) or on user's local profile.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8818547486746491044?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8818547486746491044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2010/04/tweaks-around-oracle-11g-on-hardy-64bit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8818547486746491044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8818547486746491044'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2010/04/tweaks-around-oracle-11g-on-hardy-64bit.html' title='tweaks around Oracle 11g on Hardy 64bit'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4550602378283986187</id><published>2009-04-22T08:58:00.000+05:30</published><updated>2009-04-22T09:03:05.929+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='CloudComputing'/><title type='text'>Earning money using cloud Computing ??</title><content type='html'>I dont know much more about cloud computing, but it sure sounds like an interesting idea.  The way it allows computing resources to be shared and connected through internet and all that.  The benefit to the average developer is huge, getting computing power so cheap..&lt;br /&gt;&lt;br /&gt;However, I think the reverse should also be true and could turn out to be pretty interesting.  The way we (developers) use resources from the cloud for our computing purposes, we could also share our spare resources to the same cloud so that someone else might use them and allow us to earn some money in exchange. There would be some preconditions and requirements and what not, but essentially that should be a possibility...&lt;br /&gt;&lt;br /&gt;I dont know for sure whether this concept already exists, but i would sure like to see that happening...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4550602378283986187?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4550602378283986187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/earning-money-using-cloud-computing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4550602378283986187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4550602378283986187'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/earning-money-using-cloud-computing.html' title='Earning money using cloud Computing ??'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-2751818705367627594</id><published>2009-04-17T16:23:00.000+05:30</published><updated>2009-04-17T16:59:11.500+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Misc'/><title type='text'>Blank Subject Reminder in Outlook...</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;1. Open your outlook.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;2. Press &lt;b&gt;&lt;span style="font-weight: bold;"&gt;Alt+F11&lt;/span&gt;&lt;/b&gt;. This opens the Visual Basic editor  and then Press &lt;b&gt;&lt;span style="font-weight: bold;"&gt;Ctrl+R&lt;/span&gt;&lt;/b&gt; which in  turn open Project-Project 1 (left side).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;3. On the Left Pane, one can see  "Microsoft Outlook Objects" or "Project1", expand this. Now one can see the  "ThisOutLookSession".&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;4. Double click on  "ThisOutLookSession". It will open up a code pane.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;5. Copy and Paste the attached  code in the right pane. (Code Pane) and save it.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;span style="font-family: courier new;"&gt;Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new,monospace;"&gt;Dim strSubject As String&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new,monospace;"&gt;strSubject = Item.Subject&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new,monospace;"&gt;If Len(Trim(strSubject)) = 0 Then&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new,monospace;"&gt;Prompt$ = "Subject is Empty. Are you sure you want to send the Mail?"&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new,monospace;"&gt;If MsgBox(Prompt$, vbYesNo + vbQuestion + vbMsgBoxSetForeground, "Check for Subject") = vbNo Then&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new,monospace;"&gt;Cancel = True&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new,monospace;"&gt;End If&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new,monospace;"&gt;End If&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new,monospace;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;span style="font-size: 10pt; font-family: Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:navy;"&gt;&lt;span style="font-size: 10pt; color: navy; font-family: Arial;"&gt;For this you need to  create a digital certificate. Go to &lt;a title="http://office.microsoft.com/en-us/help/HP052495581033.aspx" href="http://office.microsoft.com/en-us/help/HP052495581033.aspx"&gt;http://office.microsoft.com/en-us/help/HP052495581033.aspx&lt;/a&gt;  to see how to do it. Name your certificate whatever you like e.g  No_Subject.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:navy;"&gt;&lt;span style="font-size: 10pt; color: navy; font-family: Arial;"&gt;Once that’s done go  back to the code window, click Tools, Digital Signature, Choose - and choose  that signature you just created. Hit ok, save this project, close it. Close  Outlook completely too.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;span style="font-family:Arial;font-size:85%;color:navy;"&gt;&lt;span style="font-size: 10pt; color: navy; font-family: Arial;"&gt;Start up Outlook, you  get the security box; click always trust running this macro thing. And you’re  done! Try sending a message without body, you’ll get an alert. Now even if you  restart outlook it’ll still work.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Courtesy a colleague, Mukesh. &lt;br /&gt;&lt;span style="font-family:Arial;font-size:85%;color:navy;"&gt;&lt;span style="font-size: 10pt; color: navy; font-family: Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-2751818705367627594?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/2751818705367627594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/blank-subject-reminder-in-outlook.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2751818705367627594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2751818705367627594'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/blank-subject-reminder-in-outlook.html' title='Blank Subject Reminder in Outlook...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-2857551917045787697</id><published>2009-04-08T09:51:00.001+05:30</published><updated>2009-04-08T09:51:24.046+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>All about Dual Table : AskTom</title><content type='html'>A very very interesting article from AskTom on dual table, its purpose and usage and everything else about it...&lt;br /&gt;&lt;br /&gt;Here's some excerpts from it, leaving the rest for reading...&lt;br /&gt;&lt;pre&gt;"DUAL is owned by SYS.  SYS owns the data dictionary, &lt;br /&gt;therefore DUAL is part of the data dictionary.  You are not to modify the data dictionary &lt;br /&gt;via SQL ever -- wierd things can and will happen"&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;font size="3"&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;&lt;/font&gt;More&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;the optimizer understands dual is a magic, special 1 row table.  It stopped on the &lt;br /&gt;select * because there is to be one row in there.  Its just the way it works.&lt;/pre&gt;Read the rest of article here...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388"&gt;Ask Tom "All about the DUAL table "&lt;/a&gt; &lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-2857551917045787697?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/2857551917045787697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/all-about-dual-table-asktom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2857551917045787697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2857551917045787697'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/all-about-dual-table-asktom.html' title='All about Dual Table : AskTom'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5874378675834340373</id><published>2009-04-07T17:02:00.001+05:30</published><updated>2009-04-07T17:03:59.849+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlTuning'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle SQL tuning - Burleson Consulting</title><content type='html'>Burleson Consulting website has come to rescue in many situations.  For many questions their site provides great pointers and ideas.&lt;br /&gt;&lt;br /&gt;Here's a series of papers/articles on Oracle SQL Tuning -&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dba-oracle.com/art_otn_cbo_p1.htm"&gt;Oracle SQL tuning parameters&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And, here's an article on tuning of individual SQL Statements -&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dba-oracle.com/art_sql_tune.htm"&gt;Tuning Individual SQL Statements&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: rgb(204, 204, 204); font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: rgb(153, 153, 153); font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5874378675834340373?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5874378675834340373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/oracle-sql-tuning-burleson-consulting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5874378675834340373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5874378675834340373'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/oracle-sql-tuning-burleson-consulting.html' title='Oracle SQL tuning - Burleson Consulting'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6434584604276911162</id><published>2009-04-07T15:49:00.003+05:30</published><updated>2009-04-07T15:49:20.683+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Beware of Question Authorities « H.Tonguç Yılmaz - Oracle Blog</title><content type='html'>&lt;font style="font-weight: bold;" size="4"&gt;Beware of Question Authorities&lt;/font&gt;&lt;br /&gt;&lt;blockquote cite="http://tonguc.wordpress.com/beware-of-question-authorities/"&gt;&lt;span style="font-weight: bold;"&gt;Following suggestions are from &lt;a href="http://jonathanlewis.wordpress.com/2006/11/13/trust/"&gt;Mr.Lewis&lt;/a&gt; Blog ;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;If it’s not dated - don’t assume it’s true* &lt;br /&gt;&lt;/li&gt;&lt;li&gt;If its date is more than about 18 months old - don’t assume it’s (still) true* &lt;br /&gt;&lt;/li&gt;&lt;li&gt;If there’s no version number - don’t assume it’s true* &lt;br /&gt;&lt;/li&gt;&lt;li&gt;If it’s not your exact version number - don’t assume it’s (still) true&lt;/li&gt;&lt;li&gt;For ‘technical implementation’ details, if there’s no platform mentioned - don’t assume it’s true&lt;/li&gt;&lt;li&gt;For ‘technical implementation’ details, if the platform’s not the same as yours - don’t assume it’s true&lt;/li&gt;&lt;li&gt;If there’s no rational justification supplied, and no repeatable test case - don’t assume it’s true.&lt;/li&gt;&lt;/ol&gt;And even when all the details are perfect and there is a repeatable test case - and even after the repeatable test case produces the same results - ask yourself this question &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Could there be a different explanation for the same set of results - and if so, how badly could this advice damage my system, and how hard would it be to test my alternative hypothesis ?&lt;/li&gt;&lt;/ul&gt;Once you’ve got through that lot - then you might be safe trying the advice on a development system.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tkyte.blogspot.com/2005/05/quality.html"&gt;Mr.Kyte&lt;/a&gt; also mentions this problem under the ‘Question Authority.’ terminology;&lt;br /&gt;&lt;br /&gt;There are lots of ‘experts’ out there;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Make them prove everything&lt;/li&gt;&lt;li&gt;Statements that should raise your eyebrows:&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; It is my opinion…&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I claim…&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I think…&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I feel…&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Everything can (and should) be proven - TKPROF goes a long way hereStatspack is great‘Runstats’ is a tool I use as well (search asktom for runstats)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Things change, expect that&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Remember a test becomes a proof when;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;it has a specification- the results are reproducible&lt;/li&gt;&lt;li&gt;alternative explanations have been eliminated&lt;/li&gt;&lt;li&gt;it is published- it survives peer-group review&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Reference&lt;/span&gt;&lt;br /&gt;“The Burden of Proof” presentation by Jonathan LewisDon’t take any “guru’s” word, test it and make sure you are convinced of the results..&lt;/blockquote&gt;&lt;cite cite="http://tonguc.wordpress.com/beware-of-question-authorities/"&gt;&lt;a href="http://tonguc.wordpress.com/beware-of-question-authorities/"&gt;Beware of Question Authorities « H.Tonguç Yılmaz - Oracle Blog&lt;/a&gt;&lt;/cite&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6434584604276911162?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6434584604276911162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/beware-of-question-authorities-htonguc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6434584604276911162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6434584604276911162'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/beware-of-question-authorities-htonguc.html' title='Beware of Question Authorities « H.Tonguç Yılmaz - Oracle Blog'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5222751123361351391</id><published>2009-04-07T15:49:00.001+05:30</published><updated>2009-04-07T15:49:15.810+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>SQL - Difference Between Hash Join &amp; Merge Join</title><content type='html'>&lt;blockquote cite="http://www.geekinterview.com/question_details/15261"&gt;&lt;span style="font-weight: bold;"&gt;Difference Between Hash Join &amp;amp; Merge Join&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Merge Join :&lt;/span&gt;Oracle performs a join between two sets of row data  using the mergejoin algorithm. The inputs are two separate sets of row data. Output isthe results of the join.  Oracle reads rows from both inputs in analternating fashion and merges together matching rows in order togenerate output. The two inputs are sorted on join column.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Hash Join &lt;/span&gt;:Oracle performs a join between two sets of row data using hash joinalgorithm.  Input and Output same as Merge Join.  Oracle reads all rowsfrom the second input and builds a hash structure (like has table injava), before reading each row from the first input one at a time. Foreach row from the first input, the hash structure is probed and matchingrows generate output.&lt;/blockquote&gt;&lt;cite cite="http://www.geekinterview.com/question_details/15261"&gt;&lt;a href="http://www.geekinterview.com/question_details/15261"&gt;SQL - Difference Between Hash Join &amp;amp; Merge Join&lt;/a&gt;&lt;/cite&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5222751123361351391?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5222751123361351391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/sql-difference-between-hash-join-merge.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5222751123361351391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5222751123361351391'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/sql-difference-between-hash-join-merge.html' title='SQL - Difference Between Hash Join &amp;amp; Merge Join'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1044414001066032519</id><published>2009-04-02T12:57:00.000+05:30</published><updated>2010-04-29T00:40:16.704+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>An Extract from AskTom</title><content type='html'>&lt;pre&gt;&lt;span style="font-weight: bold; font-family: trebuchet ms;"&gt;Efficient SQL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;This was probably the hardest part of the book to write - this chapter.  That is not &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;because the material is all that complex, rather because I know what people want - and I &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;know what can be delivered.  What people want:  The 10 step process by which you can tune &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;any query.  What can be delivered:  Knowledge about how queries are processed, knowledge &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;you can use and apply day to day as you develop them.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;Think about it for a moment.  If there were a 10 step or even 1,000,000 step process by &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;which any query can be tuned (or even X% of queries for that matter), we would write a &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;program to do it.  Oh don't get me wrong, there are many programs that actually try to do &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;this - Oracle Enterprise Manager with its tuning pack, SQL Navigator and others.  What &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;they do is primarily recommend indexing schemes to tune a query, suggest materialized &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;views, offer to add hints to the query to try other access plans.  They show you &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;different query plans for the same statement and allow you to pick one.  They offer &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;"rules of thumb" (what I generally call ROT since the acronym and the word is maps to are &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;so appropriate for each other) SQL optimizations - which if they were universally &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;applicable - the optimizer would do it as a matter of fact.  In fact, the cost based &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;optimizer does that already - it rewrites our queries all of the time.  These tuning &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;tools use a very limited set of rules that sometimes can suggest that index or set of &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;indexes you really should have thought of during your design.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;I'll close this idea out with this thought - if there were an N step process to tuning a &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;query, to writing efficient SQL - the optimizer would incorporate it all and we would not &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;be having a discussion about this topic at all.  It is like the search for the holy grail &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;- maybe someday the software will be sophisticated enough to be perfect in this regards, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;it will be able to take our SQL, understand the question being asked and process the &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;question - rather then syntax.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;To me - writing efficient SQL requires a couple of things:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;o    Knowledge of the physical organization of what I'm asked to query against.  That is &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;- the schema.  Knowledge that the physical organization was actually designed in order to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;help me answer my frequently asked questions (refer back to the chapter on designing an &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;efficient schema for advice in that arena)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;o    Knowledge of what the database is capable of doing.  If I did not know about "skip &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;scan indexes" and what they did (we'll cover them below) - I might look at a schema and &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;say "ah hah, we are missing an index" when in fact we are not.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;o    Knowledge of all of the intricacies of SQL - from the lowly "WHERE" clause on up to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;analytics and psuedo columns.  Knowledge of what using a particular construct will do to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;my runtime processing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;o    And most importantly of all - a solid understanding of the goal, of what the &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;question is.  Tuning a query or process is really hard (impossible I would say) - unless &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;you understand the question in the first place.  I cannot tell you how many times I've &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;not been able to tune a query until I had the question in hand.  Certainly you can derive &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;a question from a query - however, many times that derived question is much more &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;confining then the real question being asked.  For example, many people use outer joins &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;in all queries - they are "afraid" of losing a row (perhaps they got "burned" in some &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;past experience and now use outer joins everywhere).  If the objects are related in a one &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;to one mandatory fashion - we don't need an outer join at all.  The question derived from &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;the query is much more confining then reality.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;That last topic or point is so important, I'll close out this section with it. In this &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;chapter we'll cover the topics of what the database is capable of doing in general - &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;looking at many of the access paths and join operations available to us.  We'll look at &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;what SQL is capable of doing - not by discussing the entire language, that in itself is a &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;book.  Rather, we'll look at a couple of things that will whet you appetite - show you &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;how powerful this language can be, how much more than just "SELECT" "FROM" "WHERE" and  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;"ORDER BY" there is.  Then we'll close up with a look at that most important topic - why &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;understanding the question is more important then having a query at hand to tune.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;So, this section will not provide you with the N steps you need to follow in order to &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;tune a query or write the best queries in the world.  For every rule of thumb out there &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;anyone has ever shown me regarding writing "efficient SQL", I've been able to come up &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;with a slew of common (not esoteric) counter cases to prove that rule of thumb is wrong &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;in as many cases as it is right.  I've talked to people who swear "NOT IN" is fatal, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;never use it - always use NOT EXISTS.  Then I show them NOT IN running a query 10 times &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;faster then NOT EXISTS.   I talk with people who feel NOT EXISTS is the worst construct &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;on the planet - you must use IN.  Then I do the same - showing them how NOT EXISTS can &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;"&gt;run many times faster then IN.&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1044414001066032519?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1044414001066032519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/extract-from-asktom.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1044414001066032519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1044414001066032519'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/extract-from-asktom.html' title='An Extract from AskTom'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-9049955400862463421</id><published>2009-04-02T12:03:00.000+05:30</published><updated>2010-04-29T00:37:23.971+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlTuning'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>On SQL Tuning</title><content type='html'>Found some interesting stuff... (Collection from many sources over internet)&lt;br /&gt;&lt;br /&gt;1. Basic Tipcs from dba-oracle.com - &lt;a href="http://www.dba-oracle.com/art_sql_tune.htm"&gt;http://www.dba-oracle.com/art_sql_tune.htm&lt;/a&gt;&lt;br /&gt;2. a more light hearted approach - &lt;a href="http://philip.greenspun.com/sql/tuning.html"&gt;http://philip.greenspun.com/sql/tuning.html&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.dba-oracle.com/art_otn_cbo_p1.htm"&gt;http://www.dba-oracle.com/art_otn_cbo_p1.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-9049955400862463421?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/9049955400862463421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/on-sql-tuning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/9049955400862463421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/9049955400862463421'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/on-sql-tuning.html' title='On SQL Tuning'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5669294985352702500</id><published>2009-04-02T11:10:00.000+05:30</published><updated>2010-04-29T00:38:01.080+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlTuning'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>On Oracle Joins</title><content type='html'>Some useful links on Oracle SQL optimization (more specifically on the way oracle joins tables)&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://oracle-online-help.blogspot.com/2007/03/nested-loops-hash-join-and-sort-merge.html"&gt;Sachin Arora's explanation on Hash Joins/Nested Loops&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.cs.umbc.edu/help/oracle8/server.815/a67781/c20c_joi.htm"&gt;Optimization of joins&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://dbaforums.org/oracle/index.php?showtopic=7962"&gt;Hash joins &amp;amp; Nested Loops on dbaForums&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=342856"&gt;@OTN Forums on Nested Loops&lt;/a&gt;&lt;br /&gt;5. &lt;a href="http://www.dba-oracle.com/tips_oracle_hash_joins.htm"&gt;Hash join Tips&lt;/a&gt;&lt;br /&gt;6. &lt;a href="http://www.dba-oracle.com/art_so_undocumented_pga_parameters.htm"&gt;Sizing PGA&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5669294985352702500?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5669294985352702500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/04/on-oracle-joins.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5669294985352702500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5669294985352702500'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/04/on-oracle-joins.html' title='On Oracle Joins'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7918746667323442273</id><published>2009-03-13T12:18:00.000+05:30</published><updated>2009-04-02T11:10:51.963+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'></title><content type='html'>Useful scripts for DBA perspective -&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dbapool.com/scripts.php"&gt;http://www.dbapool.com/scripts.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More stuff on finding free space available in a database -&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=624042"&gt;http://forums.oracle.com/forums/thread.jspa?threadID=624042&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A sql that we found useful is here - (from the above link itself) -&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; SELECT&lt;br /&gt;   NVL (b.tablespace_name, NVL (a.tablespace_name, 'UNKOWN')) NAME      ,&lt;br /&gt;   mbytes_alloc mbytes                                                  ,&lt;br /&gt;   mbytes_alloc - NVL (mbytes_free, 0) used                             ,&lt;br /&gt;   NVL (mbytes_free, 0) free                                            ,&lt;br /&gt;   ((mbytes_alloc - NVL (mbytes_free, 0)) / mbytes_alloc) * 100 pct_used,&lt;br /&gt;   100            - (((mbytes_alloc - NVL (mbytes_free, 0)) / mbytes_alloc) * 100) pct_free&lt;br /&gt;  FROM&lt;br /&gt;   (&lt;br /&gt;        SELECT&lt;br /&gt;           SUM(BYTES) / 1024 / 1024 mbytes_free,&lt;br /&gt;           tablespace_name&lt;br /&gt;          FROM&lt;br /&gt;           SYS.dba_free_space&lt;br /&gt;      GROUP BY&lt;br /&gt;           tablespace_name&lt;br /&gt;   )&lt;br /&gt;   a,&lt;br /&gt;   (&lt;br /&gt;        SELECT&lt;br /&gt;           SUM(BYTES) / 1024 / 1024 mbytes_alloc,&lt;br /&gt;           tablespace_name&lt;br /&gt;          FROM&lt;br /&gt;           SYS.dba_data_files&lt;br /&gt;      GROUP BY&lt;br /&gt;           tablespace_name&lt;br /&gt;   )&lt;br /&gt;   b&lt;br /&gt; WHERE&lt;br /&gt;   a.tablespace_name(+) = b.tablespace_name&lt;br /&gt;&lt;br /&gt;UNION ALL&lt;br /&gt;&lt;br /&gt;SELECT&lt;br /&gt;   f.tablespace_name                                                                                                            ,&lt;br /&gt;   SUM (ROUND((f.bytes_free           + f.bytes_used) / 1024 / 1024, 2) ) "total MB"                                            ,&lt;br /&gt;   SUM (ROUND(NVL (p.bytes_used, 0)   / 1024 / 1024, 2)) "Used MB"                                                              ,&lt;br /&gt;   SUM (ROUND ( ((f.bytes_free        + f.bytes_used) - NVL (p.bytes_used, 0) ) / 1024 / 1024, 2 ) ) "Free MB"                  ,&lt;br /&gt;   (SUM (ROUND (NVL (p.bytes_used, 0) / 1024 / 1024, 2)) * 100) / (SUM (ROUND ((f.bytes_free + f.bytes_used) / 1024 / 1024, 2))),&lt;br /&gt;100                                    - (SUM (ROUND (NVL (p.bytes_used, 0) / 1024 / 1024, 2)) * 100) / (SUM (ROUND ((f.bytes_free + f.bytes_used) / 1024 / 1024, 2)))&lt;br /&gt;  FROM&lt;br /&gt;   SYS.v_$temp_space_header f,&lt;br /&gt;   dba_temp_files d          ,&lt;br /&gt;   SYS.v_$temp_extent_pool p&lt;br /&gt; WHERE&lt;br /&gt;   f.tablespace_name(+) = d.tablespace_name AND&lt;br /&gt;   f.file_id(+)         = d.file_id AND&lt;br /&gt;   p.file_id(+)         = d.file_id&lt;br /&gt;GROUP BY&lt;br /&gt;   f.tablespace_name&lt;br /&gt;ORDER BY&lt;br /&gt;   5 DESC --&amp;amp;orderby&lt;br /&gt;   ;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-7918746667323442273?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7918746667323442273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/03/useful-scripts-for-dba-perspective.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7918746667323442273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7918746667323442273'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/03/useful-scripts-for-dba-perspective.html' title=''/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1591768773647359909</id><published>2009-02-25T16:16:00.000+05:30</published><updated>2009-02-25T16:21:44.357+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='sqldeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Compile all invalid packages in a schema : oracle</title><content type='html'>Came across this from sql developer, Looks like a very useful script, especially when its made available readymade&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;begin&lt;br /&gt;   FOR cur IN&lt;br /&gt;       (SELECT OBJECT_NAME, OBJECT_TYPE, owner&lt;br /&gt;       FROM all_objects&lt;br /&gt;       WHERE object_type in ('PACKAGE','PACKAGE BODY')&lt;br /&gt;       and owner = :OBJECT_OWNER AND status = 'INVALID' )&lt;br /&gt;   LOOP&lt;br /&gt;   BEGIN&lt;br /&gt;     if cur.OBJECT_TYPE = 'PACKAGE BODY'&lt;br /&gt;     then&lt;br /&gt;       EXECUTE IMMEDIATE 'alter package "' || cur.owner || '"."' || cur.OBJECT_NAME || '" compile body';&lt;br /&gt;     else&lt;br /&gt;       EXECUTE IMMEDIATE 'alter ' || cur.OBJECT_TYPE || ' "' || cur.owner || '"."' || cur.OBJECT_NAME || '" compile';&lt;br /&gt;     end if;&lt;br /&gt;   EXCEPTION&lt;br /&gt;     WHEN OTHERS THEN NULL;&lt;br /&gt;   END;&lt;br /&gt;   end loop;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: trebuchet ms;font-size:100%;" &gt;And then another one to check as to what all objects are invalid - &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;select object_type, count(*)&lt;br /&gt;from user_objects&lt;br /&gt;where status = 'INVALID'&lt;br /&gt;GROUP BY object_type&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1591768773647359909?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1591768773647359909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/02/compile-all-invalid-packages-in-schema.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1591768773647359909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1591768773647359909'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/02/compile-all-invalid-packages-in-schema.html' title='Compile all invalid packages in a schema : oracle'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7836694148546847530</id><published>2009-02-12T14:47:00.001+05:30</published><updated>2010-04-29T00:38:56.711+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlTuning'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle : count(1) vs count(*)</title><content type='html'>&lt;div&gt;&lt;span class="866331309-12022009"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;It seems we should  prefer using count (*) over count(1)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="866331309-12022009"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt; &lt;div&gt;&lt;span class="866331309-12022009"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;read the article  from asktom here...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="866331309-12022009"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt; &lt;div&gt;&lt;span class="866331309-12022009"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;a href="http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:40208915257337"&gt;http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:40208915257337&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="866331309-12022009"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt; &lt;div&gt;&lt;span class="866331309-12022009"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;there've been other  discussions and debates on this as well.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-7836694148546847530?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7836694148546847530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/02/oracle-count1-vs-count.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7836694148546847530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7836694148546847530'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/02/oracle-count1-vs-count.html' title='Oracle : count(1) vs count(*)'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8758418958913011040</id><published>2009-01-15T08:59:00.000+05:30</published><updated>2010-04-29T00:41:47.086+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='AdobeFlex'/><category scheme='http://www.blogger.com/atom/ns#' term='ExternaLinks'/><title type='text'>Free Adobe Flex Video Training</title><content type='html'>Just found about it...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.adobe.com/devnet/flex/videotraining/?sdid=EGMNU"&gt;http://www.adobe.com/devnet/flex/videotraining/?sdid=EGMNU&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;not been through it yet, but it looks pretty good, combination of pdf ebooks, audio/video stuff and all that...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8758418958913011040?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8758418958913011040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/01/free-adobe-flex-video-training.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8758418958913011040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8758418958913011040'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/01/free-adobe-flex-video-training.html' title='Free Adobe Flex Video Training'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8401124592585902996</id><published>2009-01-03T10:22:00.000+05:30</published><updated>2009-01-03T10:24:29.318+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ebooks'/><title type='text'>More Free ebooks on Oracle - Unix - Linux</title><content type='html'>Find free to download ebooks on this site  -&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.itstudy8.org"&gt;http://www.itstudy8.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8401124592585902996?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8401124592585902996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/01/more-free-ebooks-on-oracle-unix-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8401124592585902996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8401124592585902996'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/01/more-free-ebooks-on-oracle-unix-linux.html' title='More Free ebooks on Oracle - Unix - Linux'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4774183346787302610</id><published>2009-01-03T09:46:00.000+05:30</published><updated>2009-01-03T09:57:42.179+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Changing System name in Ubuntu</title><content type='html'>When I installed Ubuntu for the first time, I named my system to reflect the os name (gutsy) and the architecture (64 bit).   However, whenever there were system upgrades, the name got irrelevant.  For example, when I upgraded to Hardy, the name still remained stuck to the last version of OS.&lt;br /&gt;&lt;br /&gt;Therefore, I now thought of renaming my system to separate it from the os versions.  This is so very simple to achieve in Ubuntu -&lt;br /&gt;&lt;br /&gt;just edit the file &lt;span style="font-weight: bold;"&gt;/etc/hostname&lt;/span&gt; (owned by root, therefore use sudo).  Put in the new name, and restart the system.&lt;br /&gt;&lt;br /&gt;However, the consequences of this name change will have to be reflected across the network (if you have one).   Hostname files on all other systems or dns entries will have to be updated to reflect the new system name.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4774183346787302610?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4774183346787302610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2009/01/changing-system-name-in-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4774183346787302610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4774183346787302610'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2009/01/changing-system-name-in-ubuntu.html' title='Changing System name in Ubuntu'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7620731488594169578</id><published>2008-12-23T09:48:00.000+05:30</published><updated>2008-12-23T09:59:40.195+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Useful Articles on Oracle</title><content type='html'>Useful Articles on Oracle Cast function -&lt;br /&gt;&lt;a href="http://www.psoug.org/reference/cast.html"&gt;http://www.psoug.org/reference/cast.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Performing DML with Collections&lt;br /&gt;1. &lt;a href="http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjcol.htm#sthref483"&gt;http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28371/adobjcol.htm#sthref483&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.psoug.org/reference/collections.html"&gt;http://www.psoug.org/reference/collections.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Answers to my question on whether or not its possible to perform DML on Oracle collections (in combination with Cast)&lt;br /&gt;1. http://www.orafaq.com/forum/t/137485/133715/&lt;br /&gt;2. &lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=3176984"&gt;http://forums.oracle.com/forums/thread.jspa?messageID=3176984&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some Notes on Joins &amp;amp; their syntaxes in Oracle&lt;br /&gt;1. &lt;a href="http://oreilly.com/catalog/orsqlpluspr2/chapter/ch01.html"&gt;http://oreilly.com/catalog/orsqlpluspr2/chapter/ch01.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some articles on Oracle Explain Plan and how to generate/read/understand it&lt;br /&gt;1. &lt;a href="http://www.adp-gmbh.ch/ora/explainplan.html"&gt;http://www.adp-gmbh.ch/ora/explainplan.html&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.adp-gmbh.ch/ora/sql/join/join_methods.html"&gt;http://www.adp-gmbh.ch/ora/sql/join/join_methods.html&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://download-uk.oracle.com/docs/cd/B12037_01/server.101/b10752/ex_plan.htm"&gt;http://download-uk.oracle.com/docs/cd/B12037_01/server.101/b10752/ex_plan.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some articles on Oracle Global Temp Tables (GTT)&lt;br /&gt;1. &lt;a href="http://www.dbasupport.com/oracle/ora8/page2.shtml"&gt;http://www.dbasupport.com/oracle/ora8/page2.shtml&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://www.dba-oracle.com/t_temporary_tables_sql.htm"&gt;http://www.dba-oracle.com/t_temporary_tables_sql.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On Oracle Memory Usage&lt;br /&gt;&lt;a href="http://www.dbasupport.com/oracle/ora11g/memory_usage.shtml"&gt;http://www.dbasupport.com/oracle/ora11g/memory_usage.shtml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-7620731488594169578?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7620731488594169578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/12/useful-articles-on-oracle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7620731488594169578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7620731488594169578'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/12/useful-articles-on-oracle.html' title='Useful Articles on Oracle'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1046618736141151049</id><published>2008-12-06T02:50:00.000+05:30</published><updated>2008-12-06T03:01:50.258+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Useful mysql stuff...</title><content type='html'>Here's a compilation of my day to day use of mysql related stuff...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Resetting root password in mysql&lt;br /&gt;- Goto this page &lt;a href="https://help.ubuntu.com/community/MysqlPasswordReset"&gt;https://help.ubuntu.com/community/MysqlPasswordReset&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;To give privileges to a certain user in mysql&lt;br /&gt;- grant all on *.* to &lt;span style="font-style: italic;"&gt;username&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1046618736141151049?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1046618736141151049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/12/useful-mysql-stuff.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1046618736141151049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1046618736141151049'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/12/useful-mysql-stuff.html' title='Useful mysql stuff...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-2230391357454562332</id><published>2008-12-04T20:18:00.000+05:30</published><updated>2008-12-04T20:30:07.611+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Finally... IE on Linux / Ubuntu...</title><content type='html'>Great..... It works... :)&lt;br /&gt;&lt;br /&gt;Initially, when I needed to run a few IE specific sites on my Ubuntu installation, I spent quite some time searching around google, and some more prominent linux sites... But I did  not hit success...&lt;br /&gt;&lt;br /&gt;Today however, my search bore fruit... I found &lt;a href="http://www.tatanka.com.br/ies4linux/page/Main_Page"&gt;&lt;span style="font-weight: bold;"&gt;IEs4Linux&lt;/span&gt;&lt;/a&gt; project, and its so damned simple.&lt;br /&gt;&lt;br /&gt;I am still running Hardy (not Interpid) on my desktop, and wine (the default). I picked up the instructions, kind of updated them myself to work in my hardy, and bingo.. it installed and works...absolutely.&lt;br /&gt;&lt;br /&gt;Here's what I did -&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Found this page for installation instructions on Ubuntu :&lt;br /&gt;&lt;a href="http://www.tatanka.com.br/ies4linux/page/Installation:Ubuntu"&gt;http://www.tatanka.com.br/ies4linux/page/Installation:Ubuntu&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Run the following commands - &lt;/li&gt;&lt;li style="font-style: italic;"&gt;&lt;pre&gt;sudo apt-get update&lt;br /&gt;sudo apt-get install wine cabextract&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;And then run this -&lt;br /&gt;&lt;/li&gt;&lt;li style="font-style: italic;"&gt;&lt;pre&gt;wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz&lt;br /&gt;tar zxvf ies4linux-latest.tar.gz&lt;br /&gt;cd ies4linux-*&lt;br /&gt;./ies4linux&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;The last one would open a dialog box and would ask you basic questions about what version do you want, choose what u like and bingo.. it would start installation...&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Within minutes, it automatically downloads some files from here and there, and is done.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It just works...&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-2230391357454562332?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/2230391357454562332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/12/finally-ie-on-linux-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2230391357454562332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/2230391357454562332'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/12/finally-ie-on-linux-ubuntu.html' title='Finally... IE on Linux / Ubuntu...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7116378071651417656</id><published>2008-12-01T23:54:00.001+05:30</published><updated>2008-12-10T12:46:15.329+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><title type='text'>Agile : What is, Comparison, Transition...</title><content type='html'>Generally on Agile Methodology -&lt;br /&gt;1.  Agile methodology home page - &lt;a href="http://www.agilemethodology.org/"&gt;http://www.agilemethodology.org/&lt;/a&gt;&lt;br /&gt;2. Manifesto of Agile methodology - &lt;a href="http://www.agilemanifesto.org/"&gt;http://www.agilemanifesto.org/&lt;/a&gt;&lt;br /&gt;3. Working with Agile methods - &lt;a href="http://www.agileadvice.com/"&gt;http://www.agileadvice.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some links on &lt;span style="font-weight: bold;"&gt;Comparison of waterfall and Agile &lt;/span&gt;development methodologies.&lt;br /&gt;1. &lt;a href="http://agileintro.wordpress.com/2008/01/04/waterfall-vs-agile-methodology/"&gt;http://agileintro.wordpress.com/2008/01/04/waterfall-vs-agile-methodology/&lt;/a&gt;&lt;br /&gt;2. Youtube -&lt;a href="http://www.youtube.com/watch?v=XokJLWp7icI"&gt;http://www.youtube.com/watch?v=XokJLWp7icI&lt;/a&gt;&lt;br /&gt;3. on Agile Advice - &lt;a href="http://www.agileadvice.com/archives/2006/05/waterfall_vs_ag.html"&gt;http://www.agileadvice.com/archives/2006/05/waterfall_vs_ag.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some links on the transition from Waterfall model to Agile methodology...&lt;br /&gt;&lt;a href="http://agileworld.blogspot.com/2008/07/transitioning-from-waterfall-to-agile.html"&gt;1. Agile Blog: Transitioning from Waterfall to Agile - Some tips&lt;/a&gt;&lt;br /&gt;2.  &lt;a href="http://setandbma.wordpress.com/2008/12/01/off-shoring-and-moving-from-waterfall-to-agile/"&gt;From Udayan&lt;/a&gt;&lt;br /&gt;3. &lt;a href="http://www.scrumalliance.org/articles/84-destination-agile"&gt;Scrum Alliance&lt;/a&gt;&lt;br /&gt;4. &lt;a href="http://www.rallydev.com/documents/AgileWaterfallCoop-Sliger.pdf"&gt;A Presentation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: rgb(204, 204, 204); font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: rgb(153, 153, 153); font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-7116378071651417656?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7116378071651417656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/12/from-waterfall-to-agile-some.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7116378071651417656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7116378071651417656'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/12/from-waterfall-to-agile-some.html' title='Agile : What is, Comparison, Transition...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4691011359847880456</id><published>2008-11-08T01:53:00.000+05:30</published><updated>2008-11-08T01:58:26.173+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Some Oracle data dictionary help...</title><content type='html'>To get  parameters information for your functions/procedures/packages etc. you can use all_arguments view.  A sample query is attached...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; font-style: italic;font-family:Arial;font-size:100%;"  &gt;select owner, object_name, package_name,  argument_name,  position, data_type, in_out&lt;br /&gt;from all_arguments&lt;br /&gt;where  owner = (case when lc_user is null then user else lc_user  end)&lt;br /&gt;and   package_name = (case when lc_pkg_nm is null then  package_name else lc_pkg_nm end)&lt;br /&gt;order by owner, package_name, object_name,  position;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-family:Arial;font-size:100%;"  &gt;Further another view called &lt;span style="font-weight: bold; font-style: italic;"&gt;all_source&lt;/span&gt; is also pretty useful if you have to look at the actual source code of a component.&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; font-style: italic;font-family:Arial;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-family:Arial;font-size:100%;"  &gt;Following links helped me on this -&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.eveandersson.com/writing/data-model-reverse-engineering#plsql" target="_blank"&gt;http://www.eveandersson.com/&lt;wbr&gt;writing/data-model-reverse-&lt;wbr&gt;engineering#plsql&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=48498" target="_blank"&gt;http://www.c-sharpcorner.com/&lt;wbr&gt;Forums/ShowMessages.aspx?&lt;wbr&gt;ThreadID=48498&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-family:Arial;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new; font-style: italic;font-family:Arial;font-size:100%;"  &gt;&lt;/span&gt; &lt;div style="font-family: courier new;"&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4691011359847880456?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4691011359847880456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/11/some-oracle-data-dictionary-help.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4691011359847880456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4691011359847880456'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/11/some-oracle-data-dictionary-help.html' title='Some Oracle data dictionary help...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4658574064462229406</id><published>2008-09-20T07:18:00.000+05:30</published><updated>2008-09-20T08:35:42.902+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ups'/><category scheme='http://www.blogger.com/atom/ns#' term='JusTalk'/><category scheme='http://www.blogger.com/atom/ns#' term='apex'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='quad-core'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>My new quad core desktop system...</title><content type='html'>&lt;span style="font-family:trebuchet ms;"&gt;Recently managed to get a desktop system home, especially after coming back, it was necessary.  The laptop just doesnt provide enough power.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;This sure looks like a monster for a desktop system usage.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;- Quad Core CPU (Core 2 Quad Q6600) at 2.4 GHz, 8 MB L2 Cache&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;- 2 GB RAM @800 MHz&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:trebuchet ms;"&gt;- &lt;/span&gt;250 GB Seagate Barracuda Hard Disk&lt;br /&gt;   - Here I was a bit disappointed. My local vendor just couldnt manage to get me a 10K rpm or higher hard disk from his supplier.  He kept saying it would require a SCSI card and all that configuration.  From my understanding it should be a simple SATA or SATA2 disk.  But, well, this is the first one in place, may be we'd have more... :)&lt;br /&gt;&lt;br /&gt;So, with this system in place, I plan to do some interesting things... e.g. running my long awaited local oracle server so that I can work with apex (&lt;a href="http://apex.oracle.com/"&gt;http://apex.oracle.com&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Running Hardy on it.  To say the least, hardy flies on this system. To start with, everything was detected normally on this configuration and I had no difficulty to make it work with Ubuntu Hardy.  Even the live CD worked fine.&lt;br /&gt;&lt;br /&gt;Now with the installed copy along with all the updates so far, the system literally flies...   The system monitor shows me 4 CPUs and it adds so damned much to my confidence in using this power.... :)&lt;br /&gt;&lt;br /&gt;The only issue I have found till now is with my power supply ratings/configuration.  It somehow draws a lot of power (the rating on the PSU box says 450W) whereas the Display is not connected to the CPU power (its a TFT anyway).  The UPS that I have is a APC with 500 VA rating.  The UPS just doesnt hold.&lt;br /&gt;&lt;br /&gt;All the power from the UPS comes to just this system and the display. Still it doesnt hold.  About the power supply, I was told that the rating (450W) is an indication of how much can this provide, not how much does it need all the time.  That might be wrong or right both. I am still figuring that out. No idea till now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4658574064462229406?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4658574064462229406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/09/my-new-quad-core-desktop-system.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4658574064462229406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4658574064462229406'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/09/my-new-quad-core-desktop-system.html' title='My new quad core desktop system...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4551378594543680784</id><published>2008-08-26T10:26:00.000+05:30</published><updated>2008-08-26T10:55:10.968+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>iPhone 3G in India...</title><content type='html'>Finally... finally... after such a long wait.. iPhone comes to India.. officially.  But, despite all the hype and wait around it, the affordability of it really a huge question mark.&lt;br /&gt;&lt;br /&gt;I didnt change my mobile phone for last 2 years, waiting for the iPhone to come to India. I booked an iPhone for me through both the prospective service providers in India, &lt;a href="http://www.airtel.in/"&gt;Airtel &lt;/a&gt;and &lt;a href="http://www.vodafone.in/"&gt;Vodafone&lt;/a&gt;.  It was all in anticipation that once its released in India, there would be huge queues for buying it, as was seen in other parts of world for iPhone 3G release.&lt;br /&gt;&lt;br /&gt;However, the launch in India was not as expected. There was hype, but not as many customers.  I am not a statistician and therefore cant give any numbers to prove my point, but I guess I have a feeling for the situation. &lt;br /&gt;&lt;br /&gt;In my view, the pricing of the iPhone is a big reason for its slow launch.  I cant say whether or not it would pick up in future, but right now, the price tag of 31000 and 36000 INR for iPhone is a very very high price.  I mean, yes its a good phone, there are nice features, but thirty one thousand rupees... its just too much for a gadget in my view.    And then, compare the price of the phone in US, 200 USD.. converts to around 8000 INR and so it shows that apple is selling that phone 4 times as costly as in US.. what kind of business strategy would that be ???   Especially in a cost sensitive market as India...&lt;br /&gt;&lt;br /&gt;There would be people buying it, but not like me, not the average Indian IT guy, who knows the features, their meaning and usage and has a wish to own one.  I dont know many who'd take up the phone at this price tag.&lt;br /&gt;&lt;br /&gt;May be Apple will come back with a price cut in India as well, as they did in US... but will they offer people refunds for the difference.. we'll see...&lt;br /&gt;&lt;br /&gt;Till the time apple decides to cut down on the price tag, my wait for owning an iPhone continues...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4551378594543680784?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4551378594543680784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/08/iphone-3g-in-india.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4551378594543680784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4551378594543680784'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/08/iphone-3g-in-india.html' title='iPhone 3G in India...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7063435503130549317</id><published>2008-07-23T09:24:00.001+05:30</published><updated>2010-04-29T00:36:40.928+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Externals'/><category scheme='http://www.blogger.com/atom/ns#' term='dwh-bi'/><title type='text'>Data Warehousing on a Shoestring Budget : TDWI</title><content type='html'>Another interesting set of articles around low budget data warehousing...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tdwi.org/News/display.aspx?id=8963"&gt;Data Warehousing on a Shoestring Budget&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-7063435503130549317?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7063435503130549317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/07/data-warehousing-on-shoestring-budget.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7063435503130549317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7063435503130549317'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/07/data-warehousing-on-shoestring-budget.html' title='Data Warehousing on a Shoestring Budget : TDWI'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3699491608007361349</id><published>2008-07-22T13:23:00.001+05:30</published><updated>2010-04-29T00:36:40.930+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Externals'/><category scheme='http://www.blogger.com/atom/ns#' term='dwh-bi'/><title type='text'>Ideas on DWH Testing...</title><content type='html'>Recently I was asked about strategy on data warehouse testing.&amp;nbsp; Realizing how rarely we talk about this, I went to google for this and spend about half an hour searching. &lt;br /&gt;&lt;br /&gt;Found the following links, which still need to be researched/analyzed further.&lt;br /&gt;&lt;br /&gt;DM Review : &lt;a href="http://www.dmreview.com/dmdirect/20021004/5855-1.html"&gt;Where are the Articles on Data Warehouse Testing and Validation Strategy?&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;A Wordpress blog : &lt;a href="http://chennaibi.wordpress.com/2007/06/27/strategies-for-testing-data-warehouse-applications/"&gt;Strategies for Testing Data Warehouse Applications « Business Intelligence and Datawarehousing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;DM Review : &lt;a href="http://www.dmreview.com/issues/20070601/1086005-1.html"&gt;Strategies for Testing Data Warehouse Applications&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3699491608007361349?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3699491608007361349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/07/ideas-on-dwh-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3699491608007361349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3699491608007361349'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/07/ideas-on-dwh-testing.html' title='Ideas on DWH Testing...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7537678837354650607</id><published>2008-07-22T10:12:00.001+05:30</published><updated>2010-05-01T02:19:12.276+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Informatica'/><category scheme='http://www.blogger.com/atom/ns#' term='tips_n_tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='ExternaLinks'/><title type='text'>Lookup Transformations in Informatica</title><content type='html'>Lookup is a transformation to look up the values from a relational  table/view or a flat file. There are two types of Lookups in Powercenter, namely;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Connected Lookup&amp;nbsp;&lt;/li&gt;&lt;li&gt;Unconnected Lookup &lt;/li&gt;&lt;/ol&gt;Caching is an important facet of lookup transformation planning. You need to know what kind of data you are dealing with, how frequently do you call the lookup, how frequently does the data change, what is the size of your lookup table etc. among other things. Once you use cache, the trip to database can be avoided, thereby enhancing performance.&lt;br /&gt;&lt;br /&gt;Different types of caches can be used with lookup like static, dynamic,  persistent, and shared(&lt;i&gt;The dynamic cache cannot be used while  creating an un-connected lookup&lt;/i&gt;). Each of these has its own  identification. For more details, refer to Informatica Transformation Guide.&lt;br /&gt;&lt;br /&gt;Lookup is a passive transformation, and can be used either connected or unconnected.&amp;nbsp; Typically, connected lookup is used when you want to do the lookup for all rows. When you have selective lookup requirements, its normally better to go for unconnected lookup. Unconnected Lookup can be used as if its a function call.&lt;br /&gt;&lt;br /&gt;To read more, here is a good article -&lt;br /&gt;&lt;a href="http://it.toolbox.com/wiki/index.php/What_is_lookup_transformation_in_informatica%3F"&gt;What is lookup transformation in informatica? - IT Community&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="flockcredit" style="color: #cccccc; font-size: x-small; text-align: right;"&gt;&lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999999; font-weight: bold;" target="_new" title="Flock Browser"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-7537678837354650607?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7537678837354650607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/07/what-is-lookup-transformation-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7537678837354650607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7537678837354650607'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/07/what-is-lookup-transformation-in.html' title='Lookup Transformations in Informatica'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4666656170305611238</id><published>2008-05-21T10:06:00.001+05:30</published><updated>2010-05-01T02:05:39.360+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Getting Started with ActiveScaffold</title><content type='html'>Recently I returned to my rails env to do some more experiments (which might be used for a future project)&lt;br /&gt;&lt;br /&gt;To start with, I have seen a bit of active scaffold stuff and was very impressed with it originally already.&amp;nbsp; In the meantime, rails 2 have arrived.&amp;nbsp; Quite a few things have changed and I was thinking that it might have an effect on the overall picture of active scaffold also.&lt;br /&gt;&lt;br /&gt;However, checking up on railsforum etc brought out that not much effect has gone down to active scaffold kind of plugins from rails 2.&lt;br /&gt;&lt;br /&gt;Starting up active scaffold is really easy as they say on its website also...&lt;br /&gt;&lt;br /&gt;try it here... &lt;a href="http://www.activescaffold.com/"&gt;www.activescaffold.com&lt;/a&gt; It turned out to be really simple to initialize yourself with it.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Searching a bit more I came across a few tutorials - &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.activescaffold.com/tutorials/"&gt;Tutorial from Active Scaffold guys&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Another one from someone like me, experimenting with activeScaffold...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.akilles.org/2008/04/17/ruby-on-rails-experimenting-with-activescaffold/"&gt;AkillesBlog » Blog Archive » Ruby on Rails: Experimenting with ActiveScaffold&lt;/a&gt; &amp;nbsp;&amp;nbsp;  &lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4666656170305611238?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4666656170305611238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/getting-started-with-activescaffold.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4666656170305611238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4666656170305611238'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/getting-started-with-activescaffold.html' title='Getting Started with ActiveScaffold'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3205619388574280980</id><published>2008-05-13T15:30:00.000+05:30</published><updated>2008-05-13T15:39:21.495+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenSolaris'/><title type='text'>Open Solaris build May 2008 ( 2008.05 ) released</title><content type='html'>Today I came across a few news items and articles here and there that talked about the release of OpenSolaris projects' May 2008 release.&lt;br /&gt;&lt;br /&gt;Though its &lt;a href="http://www.opensolaris.com/get/index.html"&gt;available for download&lt;/a&gt; from the &lt;a href="http://www.opensolaris.com"&gt;open solaris home page&lt;/a&gt;,  Sun is offering Free CD shipments for the latest release here : &lt;a href="https://www2.sun.de/dct/forms/reg_us_2307_228_0.jsp"&gt;https://www2.sun.de/dct/forms/reg_us_2307_228_0.jsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I already ordered my copies :)&lt;br /&gt;&lt;br /&gt;Also, there is a nice article about bit of unix OS history and open solaris 2008.05 release review here : &lt;a href="http://blogs.zdnet.com/BTL/?p=8703"&gt; http://blogs.zdnet.com/BTL/?p=8703&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3205619388574280980?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3205619388574280980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/open-solaris-build-may-2008-200805.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3205619388574280980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3205619388574280980'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/open-solaris-build-may-2008-200805.html' title='Open Solaris build May 2008 ( 2008.05 ) released'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8586320888131737904</id><published>2008-05-13T10:16:00.000+05:30</published><updated>2008-05-13T18:55:25.765+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Installing Oracle 11g on Ubuntu server 64bit on vmware server 2 beta</title><content type='html'>I have this wish to install a hardy server version on my system.  Since I did not want to add another partition, so I chose to do that inside a virtual machine (using vmware).  vmware supports 64bit Guest Operating system,  as opposed to virtual box which does not. :(&lt;br /&gt;&lt;br /&gt;So, I have been able to install the server edition inside the vmware machine.  I have never used nfs before, but the tutorial I was following was suggesting to use it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pythian.com/blogs/654/installing-oracle-11g-on-ubuntu-linux-710-gutsy-gibbon"&gt;http://www.pythian.com/blogs/654/installing-oracle-11g-on-ubuntu-linux-710-gutsy-gibbon&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, I am having problems with -&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Trying to expand the virtual hard disk inside vmware.  I tried it, but havent succeeded yet.&lt;/li&gt;&lt;li&gt;The Oracle installer exits with a strange error message. &lt;/li&gt;&lt;/ol&gt;I have posted my issues on the ubuntu forums, and havent got any solution yet.  Lets see how it goes...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8586320888131737904?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8586320888131737904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/installing-oracle-11g-on-ubuntu-server.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8586320888131737904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8586320888131737904'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/installing-oracle-11g-on-ubuntu-server.html' title='Installing Oracle 11g on Ubuntu server 64bit on vmware server 2 beta'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-635606071461809330</id><published>2008-05-12T19:19:00.000+05:30</published><updated>2008-08-27T12:07:00.469+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='base64_encoding'/><category scheme='http://www.blogger.com/atom/ns#' term='PerlTips'/><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Using Base64 encoding with Oracle / Perl</title><content type='html'>For basic encryption purposes, base 64 encoding can be used. In fact its so basic that it would probably be incorrect to call it encryption. Its more encoding, basically preventing the subject text from appearing in plain text.&lt;br /&gt;&lt;br /&gt;For example, if in some tool, all the parameters are stored in repository tables, and therefore, its not very nice if the passwords are stored there in plain text.    They should at least be made illegible, so that they dont appear in plain text and there is some effort spent in decoding it.&lt;br /&gt;&lt;br /&gt;Base64 encoding is an industry standard and almost all programming languages, development toolkits provide plugins for this. For Oracle, there are pre-existing packages providing the functionality.&lt;br /&gt;&lt;br /&gt;We can use base 64 encoding on oracle side using Oracle supplied package &lt;strong&gt;UTL_ENCODE&lt;/strong&gt;.    On the perl side, we could use cpan package &lt;strong&gt;MIME:Base64&lt;/strong&gt;.  Other languages provide different kinds of plug-ins. For example, ruby on rails has a plug in for this, Javascript also allows this to be done relatively easily.&lt;br /&gt;&lt;br /&gt;The idea is that, such sensitive data to be entered by customers, in encoded format. So, we also dont see the plain text version. And then the program uses the encoded version, right to the point before actual data needs to be used.&lt;br /&gt;&lt;br /&gt;For achieving this, following way of working can be used :&lt;br /&gt;&lt;br /&gt;1. On Oracle side, the sensitive data is encoded using a program call equivalent to the following will return an encoded/decoded string for a given input string.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-family:courier new;"&gt;FUNCTION fnc_encrypt(lv_str IN VARCHAR2)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RETURN VARCHAR2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   RETURN utl_raw.cast_to_varchar2(UTL_ENCODE.BASE64_ENCODE(utl_raw.cast_to_raw(lv_str)));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;END;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FUNCTION fnc_decrypt(lv_str IN VARCHAR2)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RETURN VARCHAR2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    RETURN utl_raw.cast_to_varchar2(UTL_ENCODE.BASE64_deCODE(utl_raw.cast_to_raw(lv_str)));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;END;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Its a design decision whether to put this code in a procedure/package somewhere.&lt;br /&gt;&lt;br /&gt;2. On the other end of the processing chain, reverse operation would have to be performed. For example, in Perl, the implementation relies on the cpan package &lt;span style="font-weight: bold;"&gt;MIME:Base64&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;use MIME::Base64 ();&lt;br /&gt;&lt;/pre&gt;and then use the decode/encode function as per the need...&lt;br /&gt;&lt;pre&gt;MIME::Base64::decode($PI_CAT_PWD);&lt;br /&gt;MIME::Base64::encode($PI_CAT_PWD);&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-635606071461809330?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/635606071461809330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/using-base64-encoding-with-oracle-perl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/635606071461809330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/635606071461809330'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/using-base64-encoding-with-oracle-perl.html' title='Using Base64 encoding with Oracle / Perl'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5217847701667806268</id><published>2008-05-09T12:04:00.000+05:30</published><updated>2008-05-09T12:45:45.552+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>vmware 2 beta on hardy</title><content type='html'>I installed vmware 2 beta on my hardy. It was a surprise and a pleasant one at that, the installation procedure did not require any tweaks at all.  It worked out of the box.&lt;br /&gt;&lt;br /&gt;Further, when I tried to connect to the web based management interface, I encountered my first problem.  vmware requires a log-in with root user, and as any ubuntu user would tell you, the root user is well-hidden in ubuntu.  Almost never used, my knowledge on how to set a password to root user was zero.&lt;br /&gt;&lt;br /&gt;Again, communities came to help. This thread on vmware communities helped me through that.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://communities.vmware.com/message/901283#901283"&gt;http://communities.vmware.com/message/901283#901283&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Its a small tip, but none-the-less important.  Just run "&lt;span style="font-weight: bold; font-style: italic;"&gt;sudo gnome-terminal&lt;/span&gt;" and it would open a root terminal for you.  Once there, type "&lt;span style="font-weight: bold; font-style: italic;"&gt;passwd&lt;/span&gt;" to change the password for root user and you are done.&lt;br /&gt;&lt;br /&gt;now, in the browser, log in to vmware web mgmt interface with user as root, and password you chose for root user.&lt;br /&gt;&lt;br /&gt;As a precaution, I gave my normal user admin privileges so that I dont have to login as root all the time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5217847701667806268?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5217847701667806268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/vmware-2-beta-on-hardy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5217847701667806268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5217847701667806268'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/vmware-2-beta-on-hardy.html' title='vmware 2 beta on hardy'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4791515216469968193</id><published>2008-05-08T15:02:00.000+05:30</published><updated>2010-02-17T08:10:28.566+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>Oracle wrap utility...</title><content type='html'>Oracle's wrap utility helps to hide the application logic from being visible.  However, I recently discovered that it doesnt hide string literals.&lt;br /&gt;&lt;br /&gt;Hard to grasp though, since my understanding was a bit different.  I cant really think of a reason why would they keep strings etc in plain text.  Perhaps to force people (like me) not to store their encryption key in a package and wrap it to achieve another level of security...&lt;br /&gt;&lt;br /&gt;Here's the standard statement from Oracle about the limitations of wrap utility -&lt;br /&gt;&lt;h3 class="H2"&gt;&lt;span style="color: rgb(51, 0, 153);font-family:Arial,Helvetica,sans-serif;" &gt;&lt;/span&gt;&lt;/h3&gt;&lt;blockquote style="font-style: italic; font-weight: bold;"&gt;&lt;h3 style="color: rgb(255, 255, 204);" class="H2"&gt;&lt;span style="color: rgb(51, 0, 153);font-family:Arial,Helvetica,sans-serif;" &gt;Limitations of the Wrap Utility&lt;/span&gt;&lt;/h3&gt;  &lt;!--/TOC=h2--&gt; &lt;a name="3210"&gt;&lt;/a&gt;   &lt;p class="BP"&gt;&lt;span style="font-size:130%;"&gt;String literals, number literals, and names of variables, tables, and columns remain in plain text within the wrapped file.&lt;/span&gt; Wrapping a procedure helps to hide the algorithm and prevent reverse-engineering, but it is not a way to hide passwords or table names that you want to be secret.&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="BP"&gt;&lt;/p&gt;From : &lt;a href="http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/c_wrap.htm#LNPLS016"&gt;http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/c_wrap.htm#LNPLS016&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I wonder if there are any tricks to achieve something like that...  my investigations are still on.. will report...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4791515216469968193?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4791515216469968193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/oracle-wrap-utility.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4791515216469968193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4791515216469968193'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/oracle-wrap-utility.html' title='Oracle wrap utility...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5289519568276750933</id><published>2008-05-08T09:45:00.001+05:30</published><updated>2008-12-10T04:20:05.569+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>xgl - System monitor bug in hardy...</title><content type='html'>On Ubuntu's latest release, Hardy Heron, if you are using xserver-xgl package for graphics, you are in for a surprise.&lt;br /&gt;&lt;br /&gt;The system monitor carries on a bug in xgl package wrt incorrect reporting of memory usage, and shows processes using zillion bytes of memory.&lt;br /&gt;&lt;br /&gt;I started using xserver-xgl from the times in Gutsy when Compiz would not run on my hardware without that.  However, I didnt quite notice this until I involved myself with beta release of hardy.&lt;br /&gt;&lt;br /&gt;As it happened, I raised this issue on the Ubuntu forums (more than once actually, &lt;a href="http://ubuntuforums.org/showthread.php?t=783621"&gt;link-1&lt;/a&gt;, &lt;a href="http://ubuntuforums.org/showthread.php?t=759168"&gt;link-2&lt;/a&gt;), and finally after a few discussions/posts, it was discovered that&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;xserver-xgl has a few bugs&lt;/li&gt;&lt;li&gt;no more active development is happening on this stream of packages&lt;/li&gt;&lt;li&gt;Compiz should work without needing this package as well.&lt;/li&gt;&lt;/ul&gt;As a result, I tried removing xgl from my laptop, and voila, memory consumption numbers are from earth again.. the martian numbers have left... :)&lt;br /&gt;&lt;br /&gt;Attaching two screenshots here to give the idea of the Martian numbers...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vfD1OCJA2vg/SCJ_9XO9ftI/AAAAAAAADnM/8ciCZIXGFxo/s1600-h/sysMon.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_vfD1OCJA2vg/SCJ_9XO9ftI/AAAAAAAADnM/8ciCZIXGFxo/s400/sysMon.png" alt="" id="BLOGGER_PHOTO_ID_5197857612124487378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vfD1OCJA2vg/SCJ-nXO9fsI/AAAAAAAADnE/8PFujGLm55o/s1600-h/Screenshot.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_vfD1OCJA2vg/SCJ-nXO9fsI/AAAAAAAADnE/8PFujGLm55o/s400/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5197856134655737538" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5289519568276750933?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5289519568276750933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/xgl-system-monitor-bug-in-hardy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5289519568276750933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5289519568276750933'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/xgl-system-monitor-bug-in-hardy.html' title='xgl - System monitor bug in hardy...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vfD1OCJA2vg/SCJ_9XO9ftI/AAAAAAAADnM/8ciCZIXGFxo/s72-c/sysMon.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-762741921619723908</id><published>2008-05-05T11:50:00.000+05:30</published><updated>2008-05-05T13:18:40.279+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>acid3 and webkit on hardy</title><content type='html'>I have been fascinated with the rendering of web pages by Safari. Always liked it, it has a certain edge to it when talking about the look and feel.  When I read more, it turned out that the rendering engine is similar to Konqueror (somewhere I read that its actually based on open source libraries from Konqueror).&lt;br /&gt;&lt;br /&gt;I dont have a mac so I cant really experience it first hand, but the windows release of Safari made me get my first experience.&lt;br /&gt;&lt;br /&gt;This weekend, I was surfing net when I came across "webkit".  Reading a bit more about it informed me -&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;WebKit is an open source web browser engine. WebKit is also the name of the Mac OS X system framework version of the engine that's used by &lt;a href="http://www.apple.com/safari/"&gt;Safari&lt;/a&gt;, Dashboard, Mail, and many other OS X applications. WebKit's HTML and JavaScript code began as a branch of the &lt;a href="http://konqueror.kde.org/features/browser.php"&gt;KHTML&lt;/a&gt; and KJS libraries from &lt;a href="http://kde.org/"&gt;KDE&lt;/a&gt;. This website is also the home of &lt;a href="http://www.s60.com/browser/"&gt;S60&lt;/a&gt;'s &lt;a href="http://trac.webkit.org/projects/webkit/wiki/S60Webkit"&gt;S60 WebKit development&lt;/a&gt;.&lt;/blockquote&gt;This made me think, if its actually open source to start with, the code must be available and may be I can compile it for my system.&lt;br /&gt;&lt;br /&gt;Well, I didnt had to look much further... search produced this link...&lt;br /&gt;&lt;a href="http://blog.kagou.fr/post/2008/04/21/Test-Webkit-on-Ubuntu-Gutsy-and-Hardy"&gt;http://blog.kagou.fr/post/2008/04/21/Test-Webkit-on-Ubuntu-Gutsy-and-Hardy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, my first attempt at compilation failed, due to lack of one of the packages.&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt; libxt-dev&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, now the list of pacakges that should be installed on hardy to compile webkit would look like this :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;code style="font-family: courier new;"&gt;&lt;/code&gt;&lt;blockquote&gt;sudo apt-get install autoconf automake libtool bison flex gperf libicu-dev libxslt-dev libcurl4-openssl-dev libsqlite3-dev libjpeg62-dev libpng12-dev libglibmm-2.4-dev libgtk2.0-dev build-essential libxt-dev&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;The sample browser, gives me 98 on acid3 (&lt;a href="http://acid3.acidtests.org/"&gt;acid3.acidtests.org&lt;/a&gt;).  Though very minimalistic in capabilities, this  is the best score for acid3 that I could get on my system.&lt;br /&gt;&lt;br /&gt;Here are my scores&lt;br /&gt;Firefox 3 beta 5 : 71&lt;br /&gt;Flock  : 51&lt;br /&gt;Opera 9.5 beta 2 :  78&lt;br /&gt;Midori (webkit based) : 64&lt;br /&gt;Webkit minimal browser (&lt;a href="http://nightly.webkit.org/"&gt;nightly build&lt;/a&gt; &lt;a href="http://nightly.webkit.org/files/trunk/src/WebKit-r32862.tar.bz2"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;a onclick="urchinTracker('/files/trunk/src/WebKit-r32862.tar.bz2')"&gt;r32862&lt;/a&gt;&lt;/strong&gt; ) &lt;span style="color: rgb(255, 255, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;98&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;On  my windows partition as well, none of the browsers went beyong 70's. Best being opera at 71.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-762741921619723908?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/762741921619723908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/webkit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/762741921619723908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/762741921619723908'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/webkit.html' title='acid3 and webkit on hardy'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6362941733261758920</id><published>2008-05-03T12:45:00.001+05:30</published><updated>2010-04-29T00:43:19.742+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Linux Kernel sites...</title><content type='html'>Found this interesting site. If you want to start knowing or playing around with linux kernel, this site could be a interesting start.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kernelnewbies.org/"&gt;Linux Kernel Newbies&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also interesting would be to watch out for this site... &lt;a href="http://www.kernel.org"&gt;www.kernel.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6362941733261758920?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6362941733261758920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/linux-kernel-sites.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6362941733261758920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6362941733261758920'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/linux-kernel-sites.html' title='Linux Kernel sites...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1500877429335231396</id><published>2008-05-01T16:37:00.000+05:30</published><updated>2008-05-01T16:41:48.052+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>vmware infrastructure web access on vista...</title><content type='html'>For those who try to use vmware server on windows vista (unfortunately I am trying these days), the vmware server 2 beta is using tomcat engine to provide web based environment.&lt;br /&gt;&lt;br /&gt;The access control is weird to say the least. It doesnt matter if ur user has Administrtor rights on the vista box. You have to have the "Administrator" user and log in as that only. So, you got to make a new user called &lt;span style="font-weight: bold;"&gt;Administrator &lt;/span&gt;and then log in to &lt;span style="font-weight: bold;"&gt;Vmware Infrastructure Web access.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I found the help on vmware forums. reproducing here for benefit of myself (lest I forget) and others who might come across.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Logon to Vista using your usual account.&lt;/li&gt;&lt;li&gt;Launch the cmd prompt - Make sure you select, 'Run as administrator'&lt;/li&gt;&lt;li&gt;&lt;b&gt;Net user administrator yourFavPassword&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Net user administrator /active:yes&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Switch User, or logoff&lt;/li&gt;&lt;li&gt;Logon as Administrator  Password yourFavPassword&lt;br /&gt;  (Your password may be different!)&lt;/li&gt;&lt;/ol&gt;And then the VI web access works... :)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1500877429335231396?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1500877429335231396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/05/vmware-infrastructure-web-access-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1500877429335231396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1500877429335231396'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/05/vmware-infrastructure-web-access-on.html' title='vmware infrastructure web access on vista...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4995042739882099431</id><published>2008-04-30T03:47:00.000+05:30</published><updated>2008-05-02T03:54:53.289+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>making vmware work on hardy..</title><content type='html'>Had trouble originally making vmware work on my new hardy 64 bit system (behaves almost same on desktop and server variants).&lt;br /&gt;&lt;br /&gt;Careful looking up found out two things,&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the new beta version (2) of vmware works from web based console, and could take quite some time making it work&lt;/li&gt;&lt;li&gt;vmware on hardy 64 bit requires some tweaking to do before you can really get up and running with it.&lt;/li&gt;&lt;/ul&gt;Finally managed to get through with help from ubuntuforums.org. Nice fellow has posted his experience with 64 bit version, and it turned out to work exactly the same way for me...&lt;br /&gt;&lt;br /&gt;Loads of thanks :) to &lt;a href="http://ubuntuforums.org/showpost.php?p=4357442&amp;amp;postcount=10"&gt;http://ubuntuforums.org/showpost.php?p=4357442&amp;amp;postcount=10&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4995042739882099431?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4995042739882099431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/making-vmware-work-on-hardy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4995042739882099431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4995042739882099431'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/making-vmware-work-on-hardy.html' title='making vmware work on hardy..'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-353654994936954013</id><published>2008-04-22T19:13:00.000+05:30</published><updated>2008-04-22T19:15:29.583+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>25 reasons to use Ubuntu... :)</title><content type='html'>Well, its a very interesting collection of reasons to use Ubuntu...&lt;br /&gt;&lt;br /&gt;Some might not be as 100% agreeable as other might be, but still most are completely agreeable...&lt;br /&gt;Well done...&lt;br /&gt;&lt;br /&gt;Found it on this blog-... here u read &lt;a href="http://anuragbansal.wordpress.com/2008/04/07/25-reasons-to-use-ubuntu-instead-of-windows/"&gt;25 reasons for using Ubuntu&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-353654994936954013?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/353654994936954013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/25-reasons-to-use-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/353654994936954013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/353654994936954013'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/25-reasons-to-use-ubuntu.html' title='25 reasons to use Ubuntu... :)'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5956009384379230980</id><published>2008-04-22T13:23:00.000+05:30</published><updated>2008-05-02T03:56:53.074+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>running a 64bit guest os in vmware</title><content type='html'>I tried to install a 64bit guest os and that took much longer to realize the problem.&lt;br /&gt;&lt;br /&gt;What I found out (may be you guys already know that) the hard way today, is that, you cant keep your virtual disks on a non-ext3 partition (I was trying to keep them on my ext hard disk - all ntfs) :(&lt;br /&gt;&lt;br /&gt;Also, you need to switch on the VT feature from your bios to be able to actually use 64 bit guest os..  My Core2Duo supported that, so luckily I had it already with my hardware.  But if you want to do that, make sure ur cpu supports it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5956009384379230980?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5956009384379230980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/running-64bit-guest-os-in-vmware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5956009384379230980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5956009384379230980'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/running-64bit-guest-os-in-vmware.html' title='running a 64bit guest os in vmware'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1805897455119070937</id><published>2008-04-21T10:47:00.000+05:30</published><updated>2008-04-21T10:58:23.727+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>converting .img to .iso and mounting iso</title><content type='html'>.img files are CloneCD files created as a result of dumping contents of a Cd into a file.  Very similar to .iso files which are more popular for containing cd images.&lt;br /&gt;&lt;br /&gt;Many tools, like virtual box allow mounting .iso files as a virtual cd/dvd.  Ubuntu repositories provide a tool called ccd2iso for converting the .img to .iso.&lt;br /&gt;&lt;br /&gt;just install ccd2iso from the repositories using&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;sudo apt-get install ccd2iso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once installed, just launch it for converting&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ccd2iso file.img file.iso&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will create the iso equivalent of the img file.&lt;br /&gt;&lt;br /&gt;To mount the iso file normally in the linux environment, just type&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; mount -o loop -t iso9660 filename.iso /mnt/iso&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1805897455119070937?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1805897455119070937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/converting-img-to-iso-and-mounting-iso.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1805897455119070937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1805897455119070937'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/converting-img-to-iso-and-mounting-iso.html' title='converting .img to .iso and mounting iso'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6834180747083360292</id><published>2008-04-21T09:21:00.000+05:30</published><updated>2008-04-21T09:39:26.690+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtualization'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Experiments With Hardy...</title><content type='html'>Ubuntu is by far the more stable of the OS's.. nothing new about that.&lt;br /&gt;&lt;br /&gt;Last friday the release candidate of the new Hardy came out. It was beta for sometime now, and I had it for a few days in beta phase too..&lt;br /&gt;&lt;br /&gt;It was my first time playing around with an OS in its beta stage and sure.. it feels good to be involved..&lt;br /&gt;&lt;br /&gt;I found a few things, suggested on the forums, put out bug reports and it all works so nicely. Everybody involved is so open and helping... it was actually very nice exp. A good learning curve as well for a few things... :)&lt;br /&gt;&lt;br /&gt;Currently there are a few things still going on with the "Hardy Release Candidate" with differing opinions, but all in all it looks like a good package to me.  On my laptop, it works nicely, no issues as such...&lt;br /&gt;&lt;br /&gt;In my view,  the Ubuntu series has had its share of issues with hardware compatibility.  With different people using different set of hardware, it turns out that not everything is 100% picked up by the installer as it should be.&lt;br /&gt;&lt;br /&gt;I tried using virtualbox on hardy to install another copy of hardy 64 bit to experiment something, however, virtualbox wont allow that !! People on the ubuntu forums suggest that it could be a "feature" of vbox not to support 64bit cpu as of now...  That would be a shame, actually... :( &lt;br /&gt;&lt;br /&gt;Checking out vmware has been another shock. Earlier it used to be "FREE" for Linux, however now its only 30day evaluation version. Sounds like just another corporate, not a company supporting open source...&lt;br /&gt;&lt;br /&gt;On the 64 bit point, I am really thinking of going 64 bit completely... all out...  I have tried it for a few weeks now, and for me its been no problems at all... and the support for packages etc is fine for my needs...  Yeah, some more programs need to be compiled by hand, but thats ok for me... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6834180747083360292?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6834180747083360292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/experiments-with-hardy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6834180747083360292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6834180747083360292'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/experiments-with-hardy.html' title='Experiments With Hardy...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4604662415933006292</id><published>2008-04-21T09:13:00.000+05:30</published><updated>2008-04-21T09:19:58.168+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ExternaLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu directory structure...</title><content type='html'>In the *nix operating systems, the tree style of file systems are there from time immemorial. In fact the idea of a inverted tree directory system or all filesystems originated with Unix.&lt;br /&gt;&lt;br /&gt;The root of the tree is called "root directory" here and is the top level directory, and all its subdirectories make up the directory hierarchy. This is different as compared to Windows wherein there are drives. Especially diff since each diff hardware device has its own dir tree with its own root directory. In Unix there is only one root dir. Everything else, falls under that tree...&lt;br /&gt;&lt;br /&gt;Here's a summary of the standard directories found on a typical Unix/Linux system. Current reference being Ubuntu.&lt;br /&gt; &lt;ul&gt;&lt;li&gt;/bin - binary applications (most of your executable files)&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/boot - files required to boot (such as the kernel, etc)&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/dev - your devices (everything from drives to displays)&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/etc - just about every configuration file for your system&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/etc/profile.d - contains scripts that are run by /etc/profile upon login.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/etc/rc.d - contains a number of shell scripts that are run on bootup at different run levels. There is also typically an rc.inet1 script to set up networking (in Slackwar), an rc.modules script to load modular device drivers, and an rc.local script that can be edited to run commands desired by the administrator, along the lines of autoexec.bat in DOS.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/etc/rc.d/init.d - contains most of the initialization scripts themselves on an rpm-based system.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/etc/rc.d/rc*.d - where “*'’ is a number corresponding to the default run level. Contains files for services to be started and stopped at that run level. On rpm-based systems, these files are symbolic links to the initialization scripts themselves, which are in /etc/rc.d/init.d.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/etc/skel - directory containing several example or skeleton initialization shells. Often contains subdirectories and files used to populate a new user’s home directory.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/etc/X11 - configuration files for the X Window system&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/home - locally stored user files and folders&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/lib - system libraries (similar to Program Files)&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/lost+found - lost and found for lost files&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/media - mounted (or loaded) devices such as cdroms, digital cameras, etc.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/mnt - mounted file systems&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/opt - location for “optionally” installed programs&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/proc - dynamic directory including information about and listing of processes&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/root - “home” folder for the root user&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/sbin - system-only binaries (see /bin)&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/sys - contains information about the system&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/tmp - temporary files&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/usr - applications mainly for regular users&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/var - mainly logs, databases, etc.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/usr/local/bin - the place to put your own programs. They will not be overwritten with upgrades.&lt;/li&gt;&lt;/ul&gt; &lt;ul&gt;&lt;li&gt;/usr/share/doc - documentation.&lt;/li&gt;&lt;/ul&gt;Some content shamelessly borrowed from this page :&lt;a href="http://www.ubuntugeek.com/linux-or-ubuntu-directory-structure.html"&gt;&lt;span style="font-size:100%;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;&lt;a rel="bookmark" title="Permanent Link to Linux or ubuntu Directory structure"&gt;Linux or ubuntu Directory structure&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4604662415933006292?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4604662415933006292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/ubuntu-directory-structure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4604662415933006292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4604662415933006292'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/ubuntu-directory-structure.html' title='Ubuntu directory structure...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3374143179359133346</id><published>2008-04-19T06:07:00.001+05:30</published><updated>2008-04-19T06:07:10.757+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Externals'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Get rid of the Ubuntu splash screen during boot</title><content type='html'>If you want to see Ubuntu booting like the good old text based linux systems, here are some ideas on removing the splash screen from the booting process....&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.foogazi.com/2007/10/27/remove-the-ubuntu-splash-screen/"&gt;Quickzi: Get rid of the Ubuntu splash screen during boot&lt;/a&gt; &lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3374143179359133346?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3374143179359133346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/get-rid-of-ubuntu-splash-screen-during.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3374143179359133346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3374143179359133346'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/get-rid-of-ubuntu-splash-screen-during.html' title='Get rid of the Ubuntu splash screen during boot'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-561483714556369238</id><published>2008-04-19T00:11:00.001+05:30</published><updated>2008-04-19T00:12:58.411+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='tips_n_tricks'/><category scheme='http://www.blogger.com/atom/ns#' term='ExternaLinks'/><title type='text'>Firefox Smart Keywords</title><content type='html'>A very very useful tip.&lt;br /&gt;&lt;br /&gt;In firefox its possible to make shortcuts for your favourite links (especially useful for searches etc).&lt;br /&gt;&lt;br /&gt;For example, for a typical google image search, you would normally open images.google.com and then type in your required phrase and press search. That constitutes two trips to google image server to accomplish your search needs.&lt;br /&gt;&lt;br /&gt;With this method from firefox, you can achieve this in one trip to server, just by doing a small trick with your favourites configuration.&lt;br /&gt;&lt;br /&gt;You add a particular url to your favourites list. And later on, from the organize favourites dialog, assign that url a shortcut, a very small phrase e.g. img or images or something that you like.&lt;br /&gt;&lt;br /&gt;Now, after this setup, when you want to search for images on keyword india, you'd just have to say your chosen keyword and india, i.e. just type in&lt;br /&gt;&lt;br /&gt;img india&lt;br /&gt;&lt;br /&gt;in the address bar and press enter..  your search results should be on the way...&lt;br /&gt;&lt;br /&gt;More detailing here...  &lt;a href="http://www.tucows.com/article/2094"&gt;Solutions - 25 Useful Firefox Smart Keywords&lt;/a&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: rgb(204, 204, 204); font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: rgb(153, 153, 153); font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-561483714556369238?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/561483714556369238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/firefox-smart-keywords.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/561483714556369238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/561483714556369238'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/firefox-smart-keywords.html' title='Firefox Smart Keywords'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3630294340934324390</id><published>2008-04-16T15:17:00.001+05:30</published><updated>2008-04-16T15:17:48.851+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu-India'/><category scheme='http://www.blogger.com/atom/ns#' term='Externals'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>A user profile on Ubuntu India - very interesting...</title><content type='html'>Just saw this user page by Mr Bharadwaj... on Ubuntu India...&lt;br /&gt;Very interesting writings...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ubuntu-in.org/wiki/User:Bharadwaj.j%40gmail.com"&gt;User:Bharadwaj.j@gmail.com - Ubuntu India&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-3630294340934324390?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3630294340934324390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/user-profile-on-ubuntu-india-very.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3630294340934324390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3630294340934324390'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/user-profile-on-ubuntu-india-very.html' title='A user profile on Ubuntu India - very interesting...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8520011882825579151</id><published>2008-04-16T02:52:00.001+05:30</published><updated>2008-04-16T02:53:38.198+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>polishlinux.org » GNU/Linux for everyone</title><content type='html'>A very very useful/interesting site for people looking for Linux distribution informations.  It also has a page for comparing various distributions on some specific parameters&lt;br /&gt;&lt;br /&gt;Also, allows individuals to write their views in a feedback/forum form.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://polishlinux.org/"&gt;polishlinux.org » GNU/Linux for everyone&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For comparing distributions, visit &lt;a href="http://polishlinux.org/choose/comparison/"&gt;http://polishlinux.org/choose/comparison/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also interesting might be &lt;a href="http://www.distrowatch.com/"&gt;www.distrowatch.com&lt;/a&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: rgb(204, 204, 204); font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: rgb(153, 153, 153); font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8520011882825579151?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8520011882825579151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/polishlinuxorg-gnulinux-for-everyone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8520011882825579151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8520011882825579151'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/polishlinuxorg-gnulinux-for-everyone.html' title='polishlinux.org » GNU/Linux for everyone'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6100159306182870525</id><published>2008-04-14T14:14:00.000+05:30</published><updated>2008-04-14T15:23:22.978+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>chown : not owner !!!</title><content type='html'>Apparantly, you cant do a chown in Solaris. Here's more...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://unix.derkeiler.com/Newsgroups/comp.unix.solaris/2004-03/2579.html"&gt;http://unix.derkeiler.com/Newsgroups/comp.unix.solaris/2004-03/2579.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;another one here&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.itworld.com/Comp/3380/nls_unixchown040923/index.html"&gt;http://www.itworld.com/Comp/3380/nls_unixchown040923/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The reasoning explained sounds logical.  Apparantly (as one of the article also explains), the restriction helps a user fill another user's quota by creating a huge file and &lt;span style="font-weight: bold;"&gt;chown&lt;/span&gt;ing it to the other user. Even worse, if the other user doesnt have privs to access the dir hosting that huge file, he cant even delete that.&lt;br /&gt;&lt;br /&gt;Looks like a safety precaution, turned into a bit of blockade for normal users... :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6100159306182870525?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6100159306182870525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/chown-not-owner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6100159306182870525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6100159306182870525'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/chown-not-owner.html' title='chown : not owner !!!'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4565009984855232910</id><published>2008-04-14T10:29:00.001+05:30</published><updated>2008-04-14T11:18:33.108+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ExternaLinks'/><category scheme='http://www.blogger.com/atom/ns#' term='wifi'/><title type='text'>Buying a wireless router for home...</title><content type='html'>When it comes to buying a wireless router, the acronyms can be misleading and confusing at times.&lt;br /&gt;&lt;br /&gt;While I was looking for articles around the net that explain complex terms, I found a few. Here are some -&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wi-fi-wireless-networking.suite101.com/article.cfm/wireless_router_alphabet_soup"&gt;How To Buy A Wireless Router: Decoding Wi-Fi 802.11 Networking Standards and Protocols&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://reviews.cnet.com/wireless-network-buying-guide/"&gt;Wireless network buying guide - CNET reviews&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://compnetworking.about.com/cs/wirelessproducts/f/wifirange.htm"&gt;Wireless Router FAQ - What is the Range of a Typical Wi-Fi LAN?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://compnetworking.about.com/od/wirelessrouters80211g/tp/80211ghome.htm"&gt;Wireless Routers - Best 802.11g Wireless Broadband Router Reviews&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="flockcredit" style="text-align: right; color: rgb(204, 204, 204); font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: rgb(153, 153, 153); font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-4565009984855232910?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4565009984855232910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/buying-wireless-router-for-home.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4565009984855232910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4565009984855232910'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/buying-wireless-router-for-home.html' title='Buying a wireless router for home...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6204938712395691778</id><published>2008-04-14T08:30:00.000+05:30</published><updated>2008-05-09T12:49:07.201+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardy'/><title type='text'>Hardy 64bit beta Installed...</title><content type='html'>This weekend I installed Hardy 64 bit on my Core2Duo notebook and it flew... Just like that.&lt;br /&gt;&lt;br /&gt;Earlier when I had gutsy for the first time on this laptop, I had plenty of issues with my hardware. Tweak here and tweak there, I had to do a lot of things to make it work the right way.&lt;br /&gt;&lt;br /&gt;However, with Hardy this time, I would say, I felt happy for two reasons.. first it didnt complain about any of my hardware (probably because now my hardware is about a year old, and for gutsy it was so much newer..) and that its 64 bit installation.&lt;br /&gt;&lt;br /&gt;I am yet to completely switch to this, especially since I encountered a bug with evolution and that Hardy is still beta, but I do see a way forward going with this version of Ubuntu for me.&lt;br /&gt;&lt;br /&gt;As a result of this experiment, right now, I am triple booting, Vista business, Gutsy (32 bit)  and Hardy (64 bit).&lt;br /&gt;&lt;br /&gt;This is one thing I like so much about the PC notebooks, you can play around with them a lot more than you can do with an equivalent mac... :)&lt;br /&gt;&lt;br /&gt;One of the guys on ubuntu forums posted this url for a better understanding of 64 bit systems... &lt;span style="text-decoration: underline;"&gt;&lt;a href="http://www.bit-tech.net/bits/2007/10/16/64-bit_more_than_just_the_ram/1"&gt;64 bit Systems have more benefits than RAM only&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Later on, I found &lt;a href="http://ubuntuforums.org/showthread.php?t=368607"&gt;this link&lt;/a&gt;, a very interesting collection of 32bit vs 64bit OS (especially Ubuntu) comparison.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-6204938712395691778?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6204938712395691778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/hardy-64bit-beta-installed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6204938712395691778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6204938712395691778'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/hardy-64bit-beta-installed.html' title='Hardy 64bit beta Installed...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8306822686473772462</id><published>2008-04-11T13:30:00.000+05:30</published><updated>2008-04-11T13:30:07.956+05:30</updated><title type='text'>Hardware analysis and news..</title><content type='html'>Interesting site for hardware news/updates/info...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.anandtech.com/default.aspx"&gt;AnandTech: your source for hardware analysis and news&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-8306822686473772462?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.anandtech.com/default.aspx' title='Hardware analysis and news..'/><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8306822686473772462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/hardware-analysis-and-news.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8306822686473772462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8306822686473772462'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/hardware-analysis-and-news.html' title='Hardware analysis and news..'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1929255510758327512</id><published>2008-04-10T13:01:00.000+05:30</published><updated>2010-05-01T02:21:53.605+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMF'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>BigAdmin Feature Article: Using Service Management Facility (SMF) in the Solaris 10 OS: A Quick Example</title><content type='html'>A very nice article -&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/bigadmin/features/articles/smf_example.jsp"&gt;BigAdmin Feature Article: Using Service Management Facility (SMF) in the Solaris 10 OS: A Quick Example&lt;/a&gt;: "Introduction"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1929255510758327512?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1929255510758327512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/bigadmin-feature-article-using-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1929255510758327512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1929255510758327512'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/bigadmin-feature-article-using-service.html' title='BigAdmin Feature Article: Using Service Management Facility (SMF) in the Solaris 10 OS: A Quick Example'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1800729362301068547</id><published>2008-04-10T12:16:00.000+05:30</published><updated>2008-04-10T12:17:01.651+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Extremely Simple Calendar Integration for Rails</title><content type='html'>Found this interesting plugin for &lt;span style="font-weight: bold;"&gt;Ruby on Rails&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.beigesunshine.com/2007/08/08/extremely-simple-calendar-integration-for-rails/"&gt;Beige Sunshine » Blog Archive » Extremely Simple Calendar Integration for Rails&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-1800729362301068547?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1800729362301068547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/extremely-simple-calendar-integration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1800729362301068547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1800729362301068547'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/extremely-simple-calendar-integration.html' title='Extremely Simple Calendar Integration for Rails'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5511693622097608365</id><published>2008-04-10T09:46:00.001+05:30</published><updated>2008-04-10T09:46:56.629+05:30</updated><title type='text'>Ruby on Rails - Rails Migrations - Dizzy</title><content type='html'>Some tweaks/cheats on Rails migrations -&amp;nbsp; &lt;br /&gt;&lt;a href="http://dizzy.co.uk/ruby_on_rails/cheatsheets/rails-migrations"&gt;Ruby on Rails - Rails Migrations - Dizzy&lt;/a&gt; &lt;div class="flockcredit" style="text-align: right; color: #CCC; font-size: x-small;"&gt;Blogged with the &lt;a href="http://www.flock.com/blogged-with-flock" style="color: #999; font-weight: bold;" target="_new" title="Flock Browser"&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3031962814593058692-5511693622097608365?l=tech.sraghav.in' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5511693622097608365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2008/04/ruby-on-rails-rails-migrations-dizzy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5511693622097608365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5511693622097608365'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2008/04/ruby-on-rails-rails-migrations-dizzy.html' title='Ruby on Rails - Rails Migrations - Dizzy'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
