<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-4535583820602971283</atom:id><lastBuildDate>Fri, 31 Oct 2025 01:33:43 +0000</lastBuildDate><category>Hacking</category><category>Machine Learning</category><category>Computing Business</category><category>Semantic Web</category><category>Hadoop</category><category>Web 3.0</category><category>JavaScript</category><title>Paritosh the Geek</title><description></description><link>http://geekparitosh.blogspot.com/</link><managingEditor>noreply@blogger.com (Paritosh)</managingEditor><generator>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-6578347788866179328</guid><pubDate>Thu, 30 Jun 2011 03:52:00 +0000</pubDate><atom:updated>2011-06-29T21:14:48.030-07:00</atom:updated><title>Helping Sustained Learning</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-family: &#39;Times New Roman&#39;; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia,serif; font-size: 16px; text-align: left;&quot;&gt;Right since our childhood, we have been force fed by our education system to mug up all that we can. No one knows why. The teacher&#39;s don&#39;t. The parents don&#39;t. The children for sure don&#39;t.&lt;br /&gt;&lt;br /&gt;Given the fact that most of the human knowledge is already on the internet (read Wikipedia), don&#39;t you think we need to break the rules now? Do any of us grown up adults remember anything more than how to find stuff from the Net and use it logically? I, for one, sure do. So, do we really need our children to go through the excruciatingly painful education system?&lt;br /&gt;&lt;br /&gt;Aside: Wow!! I really like to ask questions.&lt;br /&gt;&lt;br /&gt;Aside II: Can I provide answers? Sure why not!! What I propose is something like a secondary brain. Our vault of memory on the cloud.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Like it or not Sherlock Holmes was right. We do have a limit to the Petabyte HDD we carry in out heads. We can only store so much information in our head. Why bug it up with all the unnecessary information children get from the subjects they are not interested in?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why not give them a Single-point-of-access-device for all their information needs? Whatever they read or see can be stored on the cloud so they don&#39;t need to remember anything (if they wish to). All that is required of them is that they process that information quickly and logically.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We already have systems in place for all that I propose. All we need is convergence and social acceptability.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Spare a thought for it!!&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://geekparitosh.blogspot.com/2011/06/helping-sustained-learning.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-7036502009731662844</guid><pubDate>Wed, 29 Jun 2011 06:27:00 +0000</pubDate><atom:updated>2011-06-28T23:31:25.407-07:00</atom:updated><title>The Social Agenda</title><description>Do Social networks really work?&lt;br /&gt;&lt;br /&gt;Yesterday while talking to my boss (BTW he is the only one I still consider to be my boss, apart from  my wife, as he is the only one I listened to at work ;)), he came up  with an interesting idea. People have not changed since centuries. They  have always been drifting apart. From whole villages living in one cave  to rising divorce rates, we have come a long way from social living.  People are becoming more and more individualistic.&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5vFv9bxShHuVTa_os2f5onyXQXaZyvyAvYFLNkArLwnqWWA5mJEZkmmnSG8sAtE3k0Iy4X7bucqna7lKd2qNBpz5GQE8mxWreMnaWp_fi4LQxWJJSgB4iS8DLAQTL_l1cufLGJt74zzM/s1600/images.jpeg&quot;&gt;&lt;img style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 259px; height: 194px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5vFv9bxShHuVTa_os2f5onyXQXaZyvyAvYFLNkArLwnqWWA5mJEZkmmnSG8sAtE3k0Iy4X7bucqna7lKd2qNBpz5GQE8mxWreMnaWp_fi4LQxWJJSgB4iS8DLAQTL_l1cufLGJt74zzM/s400/images.jpeg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5623524381445368898&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Now, back to  the main topic. Do social networks work? For the past decade, we have  seen numerous social networks coming and then fizzling out. MySpace,  Friendster, Orkut and now Facebook. All have seen the same story. People  get excited when they are launched. Call all their friends to join  them. They form groups and communities. They chat all night long. But  then after that what? They move on to the next big thing... Twitter.&lt;br /&gt;&lt;br /&gt;For  the fear of being called a hypocrite, I would like to admit that I have  also been a part of all the bandwagons. Be it Orkut, MySpace, Blogs,  Facebook or Twitter. You can find my profiles on all of them. But then I  become bored like the rest of you and move on.&lt;br /&gt;&lt;br /&gt;Now that Google is coming onto the scene with a stronger product (than Orkut) in Google +, I am not sure whether it is too late to make any dent in the SNSs&#39; fortunes.&lt;br /&gt;&lt;br /&gt;There are three  things and only three things that really sell in this world. Sex,  knowledge and food. That is why you see all the Porn sites being so  popular and Google making tonnes of money. Online economies around these  three will always remain popular and viable. The rest as they say will  become history.&lt;br /&gt;&lt;br /&gt;BTW with the much hyped IPOs of all the SNSes, I  seriously feel there is another dot com burst brewing. So cash in your  stocks and come back to the real world!!</description><link>http://geekparitosh.blogspot.com/2011/06/do-social-networks-really-work.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5vFv9bxShHuVTa_os2f5onyXQXaZyvyAvYFLNkArLwnqWWA5mJEZkmmnSG8sAtE3k0Iy4X7bucqna7lKd2qNBpz5GQE8mxWreMnaWp_fi4LQxWJJSgB4iS8DLAQTL_l1cufLGJt74zzM/s72-c/images.jpeg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-3094115348963460573</guid><pubDate>Fri, 04 Mar 2011 08:39:00 +0000</pubDate><atom:updated>2011-03-04T01:10:46.618-08:00</atom:updated><title>Cloud Computing and Television</title><description>&lt;span style=&quot;font-style: italic; color: rgb(204, 102, 0);&quot;&gt;This post the use of Cloud Computing to provide true ‘On Demand Entertainment’ and make television a Unified Entertainment Device. This paper uses some interesting use-cases for Televisions which can be possible by using the power of Cloud Computing to illustrate this. These applications can transform televisions to be a complet&lt;/span&gt;&lt;span style=&quot;font-style: italic; color: rgb(204, 102, 0);&quot;&gt;e entertainment platform.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Televisions have come a far way from their monochromatic ancestors of the 1930&#39;s to become the modern age&#39;s ultimate home entertainers. Demands and expectations of the consumers have evolved tremendously to put a strain on the traditional mediums of entertainment, i.e. audio and video. Moreover, the advent of internet and has created another dimension in home entertainment – lets call it &quot;On Demand Entertainment&quot; (ODE). True ODE means consumers will be able to watch, listen, play or read whatever they want whenever they want.&lt;br /&gt;&lt;br /&gt;The consumers of Televisions now have options of going on the Internet and search for ODE including (but not restricted to) games, news, video and audio. Internet giants like Amazon, Hulu, Netflix and Youtube have started cutting into Television industry&#39;s profits and have become a major force to reckon with in home entertainment segment.&lt;br /&gt;&lt;br /&gt;In a parallel development, consumers now want seamless integration and convergence between the new and the old media of entertainment. This expectation has led to innovation in Television industry in the form of IPTV, satellite TV and internet enabled TVs. These technologies strive to provide ODE as well as try to fulfill the demand for a unified entertainment device. However, true ODE is still a distant dream because of the strain it puts on the storage and computation power of the back-end data centers.&lt;br /&gt;&lt;br /&gt;Cloud Computing or internet based computing, which provides on demand storage and compute power to be billed in a pay-per-use basis, comes as a perfect strategic fit to solve the puzzle of ODE. Cloud Computing can provide a solution to the issue of huge requirements in compute and storage to provide true ODE.&lt;br /&gt;&lt;br /&gt;This post describes how Cloud Computing can be used to deliver true On Demand Entertainment, using some specific use-cases of:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;On Demand Gaming&lt;/li&gt;&lt;li&gt;Ubiquitous Media Playback&lt;/li&gt;&lt;li&gt;Online Personal Media Store&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;The Workings!!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Entertainment today includes much more than the traditional media of books, Television and Radio. As we discussed earlier, ODE has become a major expectation now-a-days. Also, people are now looking for a single device which can take care of all their entertainment needs. Televisions are facing some serious competition in this race for a unified entertainment device from hand held gadgets and Internet. Televisions need help of modern technology to break to the fore-front of this race. Cloud Computing is one such technology which can tremendously help the Television industry.&lt;br /&gt;&lt;br /&gt;According to &lt;a href=&quot;http://en.wikipedia.org/wiki/Cloud_computing&quot;&gt;Wikipedia&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic; color: rgb(204, 102, 0);&quot;&gt;Cloud Computing is Internet-based comput&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-style: italic; color: rgb(204, 102, 0);&quot;&gt;ing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This on-demand Cloud of servers, generally called the cloud, can provide for the huge hardware requirements for some interesting use cases in Television industry:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;On Demand Gaming:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Games are very compute intensive applications. So much so that they have dedicated platforms built for serious gamers. Televisions too have in-built games but not of the class of &quot;Core Games&quot;. This is because core games require huge compute power that Televisions can&#39;t provide.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZRV74d_EczxFWkP43aaXbS53U0iwnCaDE-38yHY-itv0hDfWe1Bl0q04661f43dIPCR6bCPtNjFa6H0Y_sF1Bb2WXBBnBFwYOGS56ERi7b5smVXfiNu_ICALJrt_jX-6u7CmliYaUWQ/s1600/on+demand+gaming.JPG&quot;&gt;&lt;img style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 400px; height: 194px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZRV74d_EczxFWkP43aaXbS53U0iwnCaDE-38yHY-itv0hDfWe1Bl0q04661f43dIPCR6bCPtNjFa6H0Y_sF1Bb2WXBBnBFwYOGS56ERi7b5smVXfiNu_ICALJrt_jX-6u7CmliYaUWQ/s400/on+demand+gaming.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5580148035652566242&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Now that Televisions have become internet enabled, we can use the compute power of the Cloud to do the computation at the back-end. We can push the gaming consoles on the cloud. All the user interactions can be pushed onto the Cloud; the cloud will compute based on the game rules and send back the results for the Television to display.&lt;br /&gt;&lt;br /&gt;This can be a disruptive product in the gaming industry as this will give rise to true multi player games, where players join and leave the games as and when they will. Anyone with an internet enabled Television set can join the game as dependency on expensive gaming consoles will end.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;Ubiquitous Media Playback:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Another interesting area of application of Cloud Computing in entertainment industry is of Ubiquitous Media Playback.&lt;br /&gt;&lt;br /&gt;Let&#39;s take an example:&lt;br /&gt;&lt;br /&gt;User is watching a movie on his Television when h&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLeloG5gZxkEwPtTfzfDFjg5hHVrrWDovm40v0nStcfzHrO05ZeKgBjXWpIU4phiJbnlVyyT65wbR0hVRyv7V81ZrmRAideUZpbqA7F-60lMDACtGH7XdSDNGsqljttnuBgNkdOdmwXw/s1600/UMP.JPG&quot;&gt;&lt;img style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 400px; height: 238px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLeloG5gZxkEwPtTfzfDFjg5hHVrrWDovm40v0nStcfzHrO05ZeKgBjXWpIU4phiJbnlVyyT65wbR0hVRyv7V81ZrmRAideUZpbqA7F-60lMDACtGH7XdSDNGsqljttnuBgNkdOdmwXw/s400/UMP.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5580148361472402818&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;e suddenly gets an urgent call to go somewhere. The movie is at a very interesting phase and he doesn&#39;t want to miss it. He can simply activate his “Ubiquitous Media Playback” feature with the push of a button and the movie starts playing back on his hand held gadget.&lt;br /&gt;&lt;br /&gt;For this to become reality, all that is needed is that both his hand held gadget and Television have internet access. The Television starts uploading the movie (from the point where it was stopped) to the cloud; the cloud converts the movie to be fit to playback on his hand held gadget and streams it to the gadget. The gadget resumes playing the movie from the same point.&lt;br /&gt;&lt;br /&gt;Thus, a simple application of the power of cloud computing can enhance the viewer experience manifolds.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;Online Personal Media Store:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;People now try to keep all their media in digital format. They store it on hard disks, CDs, DVDs and BDs. But it still forms a bulky collection with the chance of loosing their data always lingering on top of their mind. What if they had a Personal media Store on the Cloud? What if they can use their Televisions to store all they want on the cloud?&lt;br /&gt;&lt;br /&gt;This can be possible. Televisions connected to the Internet can be used to dump all the personal media on the cloud. The Cloud can then sort and organ&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh88dfrQ9Ojnkw4YhG_czm60rQt_SNiaK6d0QMb5JAb5OTStVy2eYdlBP9TxDd7clyfUYNKokaZALCKrFP7P8s7EPtJy9JPxy3QV-NwXSEvMD-EtQPnvUqUHG6oMmpn7q4ZgLNT0UuDBA/s1600/PMS.JPG&quot;&gt;&lt;img style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 400px; height: 235px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh88dfrQ9Ojnkw4YhG_czm60rQt_SNiaK6d0QMb5JAb5OTStVy2eYdlBP9TxDd7clyfUYNKokaZALCKrFP7P8s7EPtJy9JPxy3QV-NwXSEvMD-EtQPnvUqUHG6oMmpn7q4ZgLNT0UuDBA/s400/PMS.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5580148884372977426&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;ise the media under various categories and make a searchable index of all the user content. This data can then be customized according to the display and other capabilities of all the user‟s devices. The user can then access this library of data using any device he wants.&lt;br /&gt;&lt;br /&gt;This can be a pay per use service which can be very easily commercialized.&lt;br /&gt;&lt;br /&gt;These are just a few use cases which illustrate the power of Cloud Computing in home entertainment. If we take a sweeping look at the whole home entertainment landscape, there would be thousands of applications of this tremendously powerful technology.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We know that technology is pushing the edges day in and day out. Televisions need to adopt these new technologies rapidly, in order to provide a better experience to the consumers. Cloud Computing is one such technology which has the power of revolutionizing the way entertainment is served. As this paper suggests, the use of this new technology with different applications can make the true ODE provider and a unified entertainment device.</description><link>http://geekparitosh.blogspot.com/2011/03/cloud-computing-and-television.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZRV74d_EczxFWkP43aaXbS53U0iwnCaDE-38yHY-itv0hDfWe1Bl0q04661f43dIPCR6bCPtNjFa6H0Y_sF1Bb2WXBBnBFwYOGS56ERi7b5smVXfiNu_ICALJrt_jX-6u7CmliYaUWQ/s72-c/on+demand+gaming.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-385039148892697134</guid><pubDate>Mon, 13 Sep 2010 07:06:00 +0000</pubDate><atom:updated>2010-09-14T06:57:33.355-07:00</atom:updated><title>Automatic program recommendation using Facial Expression Recognition</title><description>More than often people get bored of the program they are currently watching. However, they dread scanning through hundreds of channels to find out if anything interesting is coming. They rather end up switching off the TV. This idea proposes a solution to these situations: The TV suggests the viewer what’s interesting on the air.&lt;br /&gt;&lt;br /&gt;The TV, using a camera attached to it, first recognizes the viewer using “Face Recognition” techniques. It then relays the statistics about the time the viewer views a particular program and his facial expressions (happy, sad, interested, disinterested, etc) while watching it to a central hub.&lt;br /&gt;&lt;br /&gt;The central hub (which may be on the cloud or in a self managed datacenter) then collates this data with the ontology of the program. [This ontology is built by data mining and supervised machine learning using a distributed cluster of computers.] Thus, over time, the central hub builds a profile of the viewer according to the viewer’s viewing pattern.&lt;br /&gt;&lt;br /&gt;In the meanwhile, the TV also recognizes the facial expression of the viewer and looks for the signs of boredom (drowsy eyes, long frowns, vacant stares, etc). As soon as it recognizes a “disinterested pattern”, it calls a web-service running on the central hub.&lt;br /&gt;&lt;br /&gt;This web-service searches the ontology of programs currently on air and sorts it according to the viewer’s profile. Then it predicts a list of programs which will most likely interest the viewer and sends it back to the TV.&lt;br /&gt;&lt;br /&gt;The TV then suggests the viewer about the programs (s)he can watch if he is not interested in the current one. If the viewer changes the program then the TV sends the information to the central hub about the program he switched to. The Central hub adds this information to the profile of the viewer.&lt;br /&gt;&lt;br /&gt;In case of conflicts, i.e. more than one viewer, the central hub decides on the predicted list of interesting programs using a priority list of the viewers based on previous history as to whose choice prevailed last time such a conflict arose.&lt;br /&gt;&lt;br /&gt;This figure describes the architecture in a simple yet concise manner:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicX5w5Tn7wNd5cN9NYX_WHXNYPRfPXfmlHx5RRA6mhi6DUb22NddGFeUQ0z0RxYGFGvoyCSoj3nyk70uhN5RMlQm0UMGNoyQkKICaFtLRV2_0Zb4e03iVEFerGSG2SWWLkm81yqeVkww/s1600/archi.JPG&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 228px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicX5w5Tn7wNd5cN9NYX_WHXNYPRfPXfmlHx5RRA6mhi6DUb22NddGFeUQ0z0RxYGFGvoyCSoj3nyk70uhN5RMlQm0UMGNoyQkKICaFtLRV2_0Zb4e03iVEFerGSG2SWWLkm81yqeVkww/s400/archi.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5516291156384461362&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Note: If anyone wants to use this idea or wants further clarification then please contact me @ paritosh (dot) gunjan (at) gmail (dot) com.&lt;/span&gt;</description><link>http://geekparitosh.blogspot.com/2010/09/automatic-program-recommendation-using.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicX5w5Tn7wNd5cN9NYX_WHXNYPRfPXfmlHx5RRA6mhi6DUb22NddGFeUQ0z0RxYGFGvoyCSoj3nyk70uhN5RMlQm0UMGNoyQkKICaFtLRV2_0Zb4e03iVEFerGSG2SWWLkm81yqeVkww/s72-c/archi.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-8549163700253525233</guid><pubDate>Mon, 19 Apr 2010 10:40:00 +0000</pubDate><atom:updated>2010-04-19T04:57:31.935-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hadoop</category><category domain="http://www.blogger.com/atom/ns#">Machine Learning</category><title>Install Hadoop on a Single Machine</title><description>In order to learn any new technology, the best way IMHO is to install it on your local system. You can then explore it and experiment on it at your convenience. It is the route I always take.&lt;br /&gt;&lt;br /&gt;I started with installing &lt;a href=&quot;http://geekparitosh.blogspot.com/2010/04/hadoop-lets-welcome-elephant.html&quot;&gt;Hadoop&lt;/a&gt; on a single node, i.e. my machine. It was a tricky task with most of the tutorials making many assumptions. Now that I have completed the install, I can safely say that those were simple assumptions and that anyone familiar with linux is deemed to understand them.&lt;span&gt; Then I decided to write an installation instruction for the dummies&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;. &lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;Here is the most comprehensive documentation of &quot;How to install Hadoop on your local system&quot;. Please let me know if I have missed anything.&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Prerequisites&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1. Linux &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first and foremost requirement is to get a PC with Linux installed on it. I used a machine with Ubuntu 9.10 installed on it. You can also work with Windows, as Hadoop is purely java based and it will work with any OS that can run JVM (which in turn implies pretty much all the modern OS&#39;s)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;2. Sun Java6&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Install the Sun Java6 on your Linux machine using:&lt;br /&gt;&lt;blockquote&gt;    &lt;span style=&quot;color: rgb(102, 102, 102);&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;$ sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/blockquote&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;3. Create a new user &quot;hadoop&lt;/span&gt;&quot;&lt;br /&gt;&lt;br /&gt;Create a new user hadoop (though it is not required, it is recommended in order&lt;br /&gt;to to separate the Hadoop installation from other software applications and user&lt;br /&gt;accounts running on the same machine by having a dedicated user for hadoop).&lt;br /&gt;Use the following commands:&lt;br /&gt;&lt;blockquote&gt;&lt;span style=&quot;color: rgb(76, 76, 76);&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;$ sudo addgroup hadoop&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(76, 76, 76);&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;$ sudo useradd -d /home/hadoop -m hadoop -g hadoop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;4. Configure SSH&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Install OpenSSH­Server on your system:&lt;br /&gt;&lt;blockquote&gt;$ sudo apt­-get install openssh­-server&lt;/blockquote&gt;&lt;br /&gt;Then generate an SSH key for the hadoop user. As the hadoop user do the&lt;br /&gt;following:&lt;br /&gt;&lt;blockquote&gt;$ ssh-­keygen -­t rsa ­-P &quot;&quot;&lt;br /&gt;Generating public/private rsa key pair.&lt;br /&gt;Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):&lt;br /&gt;Created directory &#39;/home/hadoop/.ssh&#39;.&lt;br /&gt;Your identification has been saved in /home/hadoop/.ssh/id_rsa.&lt;br /&gt;Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.&lt;br /&gt;The key fingerprint is:&lt;br /&gt;1a:38:cd:0c:92:f9:8b:33:f3:a9:8e:dd:41:68:04:dc hadoop@paritosh­desktop&lt;br /&gt;The key&#39;s randomart image is:&lt;br /&gt;+­­[ RSA 2048]­­­­+&lt;br /&gt;|o .              |&lt;br /&gt;| o E             |&lt;br /&gt;|  = .            |&lt;br /&gt;| . + *           |&lt;br /&gt;|  o = = S        |&lt;br /&gt;| . o o o         |&lt;br /&gt;|  = o .          |&lt;br /&gt;| o * o           |&lt;br /&gt;|..+.+            |&lt;br /&gt;+­­­­­­­­­­­­­­­­­+&lt;br /&gt;$&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Then enable SSH access to your local machine with this newly created key:&lt;br /&gt;&lt;blockquote&gt;$cat $HOME/.ssh/id_rsa.pub &gt;&gt; $HOME/.ssh/authorized_keys &lt;/blockquote&gt;&lt;br /&gt;Test your SSH connection:&lt;br /&gt;&lt;blockquote&gt;$ ssh localhost&lt;br /&gt;The authenticity of host &#39;localhost (::1)&#39; can&#39;t be established.&lt;br /&gt;RSA key fingerprint is 1e:be:bb:db:71:25:e2:d5:b0:a9:87:9a:2c:43:e3:ae.&lt;br /&gt;Are you sure you want to continue connecting (yes/no)? yes&lt;br /&gt;Warning: Permanently added &#39;localhost&#39; (RSA) to the list of known hosts.&lt;br /&gt;Linux paritosh­desktop 2.6.31­20­generic #58­Ubuntu SMP Fri Mar 12 05:23:09 UTC&lt;br /&gt;2010 i686&lt;br /&gt;$&lt;/blockquote&gt;&lt;br /&gt;Now that the prerequisites are complete, lets go ahead with the Hadoop&lt;br /&gt;installation.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Install Hadoop from Cloudera&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1. Add repository&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create a new file /etc/apt/sources.list.d/cloudera.list with the following&lt;br /&gt;contents, taking care to replace DISTRO with the name of your distribution (find&lt;br /&gt;out by running lsb_release -c):&lt;br /&gt;&lt;blockquote&gt;deb http://archive.cloudera.com/debian DISTRO­-cdh3 contrib&lt;br /&gt;deb­src http://archive.cloudera.com/debian DISTRO­-cdh3 contrib&lt;/blockquote&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;2. Add repository key.&lt;/span&gt; (optional)&lt;br /&gt;&lt;br /&gt;Add the Cloudera Public GPG Key to your repository by executing the following&lt;br /&gt;command:&lt;br /&gt;&lt;blockquote&gt;$ curl -­s http://archive.cloudera.com/debian/archive.key | sudo apt­-key add ­-&lt;br /&gt;OK&lt;br /&gt;$&lt;/blockquote&gt;&lt;br /&gt;This allows you to verify that you are downloading genuine packages.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Note: You may need to install curl:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;$ sudo apt­-get install curl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;3. Update APT package index.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Simply run:&lt;br /&gt;&lt;blockquote&gt;$ sudo apt­-get update&lt;/blockquote&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;4. Find and install packages.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You may now find and install packages from the Cloudera repository using your favorite APT package manager (e.g apt­-get, aptitude, or dselect). For example:&lt;br /&gt;&lt;blockquote&gt;$ apt-­cache search hadoop&lt;br /&gt;$ sudo apt­-get install hadoop&lt;/blockquote&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Setting up a Hadoop Cluster&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here we will try to setup a Hadoop Cluster on a single node.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1. Configuration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Copy the hadoop­0.20 directory to the hadoop home folder.&lt;br /&gt;&lt;blockquote&gt;$ cd /usr/lib/&lt;br /&gt;$ cp ­-Rf hadoop­0.20 /home/hadoop/&lt;/blockquote&gt;Also, add the following to your .bashrc and .profile&lt;br /&gt;&lt;blockquote&gt;# Hadoop home dir declaration&lt;br /&gt;HADOOP_HOME=/home/hadoop/hadoop­0.20&lt;br /&gt;export HADOOP_HOME&lt;/blockquote&gt; Change the following in different configuration files in the /$HADOOP_HOME&lt;hadoop_home&gt;/conf dir:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1.1 hadoop­env.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change the Java home, depending on where your java is installed:&lt;br /&gt;&lt;blockquote&gt;# The java implementation to use.  Required.&lt;br /&gt;export JAVA_HOME=/usr/bin/java&lt;/blockquote&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1.2 core-­site.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change your core­-site.xml to reflect the following:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1.3 mapred-site.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change your mapred-­site.xml to reflect the following:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;1.4 hdfs-site.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Change your hdfs­-site.xml to reflect the following:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;2. Format the NameNode&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To format the Hadoop Distributed filesystem (which simply initializes the directory specified by the dfs.name.dir variable), run the command:&lt;br /&gt;&lt;blockquote&gt;    &lt;style type=&quot;text/css&quot;&gt;  &lt;!--   @page { margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;  &lt;pre&gt;&lt;tt&gt;&lt;span style=&quot;color: rgb(76, 76, 76);&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;$ &lt;hadoop_install&gt;/hadoop/bin/hadoop namenode -format&lt;/hadoop_install&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/pre&gt; &lt;hadoop_install&gt;&lt;hadoop_install&gt;&lt;/hadoop_install&gt;&lt;/hadoop_install&gt;&lt;/blockquote&gt;&lt;hadoop_install&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Running Hadoop&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;To start hadoop, run the start­all.sh from the &lt;/hadoop_install&gt;&lt;/hadoop_home&gt;/$HADOOP_HOME/bin/ directory.&lt;br /&gt;   &lt;style type=&quot;text/css&quot;&gt;  &lt;!--   @page { margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;  &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;$ ./start-all.sh &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;starting namenode, logging to /home/hadoop/hadoop-0.20/bin/../logs/hadoop-hadoop-namenode-paritosh-desktop.out &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;localhost: starting datanode, logging to /home/hadoop/hadoop-0.20/bin/../logs/hadoop-hadoop-datanode-paritosh-desktop.out &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;localhost: starting secondarynamenode, logging to /home/hadoop/hadoop-0.20/bin/../logs/hadoop-hadoop-secondarynamenode-paritosh-desktop.out &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;starting jobtracker, logging to /home/hadoop/hadoop-0.20/bin/../logs/hadoop-hadoop-jobtracker-paritosh-desktop.out &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;localhost: starting tasktracker, logging to /home/hadoop/hadoop-0.20/bin/../logs/hadoop-hadoop-tasktracker-paritosh-desktop.out &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;$ &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt;&lt;br /&gt;To check whether all the processes are running fine, run the following:    &lt;br /&gt;&lt;style type=&quot;text/css&quot;&gt;  &lt;!--   @page { margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;  &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;$ jps &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;17736 TaskTracker &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;17602 JobTracker &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;17235 NameNode &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;17533 SecondaryNameNode &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;17381 DataNode &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;17804 Jps &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt; &lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;$ &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;tt&gt;&lt;span style=&quot;color:#4c4c4c;&quot;&gt;&lt;span style=&quot;font-family:Courier 10 Pitch;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt; &lt;/p&gt;</description><link>http://geekparitosh.blogspot.com/2010/04/install-hadoop-on-single-machine.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-7249221471399051103</guid><pubDate>Mon, 19 Apr 2010 10:18:00 +0000</pubDate><atom:updated>2010-04-19T04:15:12.205-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hadoop</category><category domain="http://www.blogger.com/atom/ns#">Machine Learning</category><title>Hadoop... Let&#39;s welcome the Elephant!!</title><description>While working with my crawler, I came to a conclusion that I can&#39;t work with my poor old system for processing such a large amount of data. I needed some powerful machine and huge amount of storage to do it. Unfortunately (or fortunately for me) I don&#39;t have that kind of moolah to invest in a enterprise class server and a huge SAN Storage. What began as a pet project was growing out to become a major logistics headache!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ-kQwNO0VLAsUMxBIMgDafBezl2ylmnsRZ9lFoh7bpyTQqWjjnDr3mQyP8y5Ne491YlPOz9sxgxtVpS0HQaTFE17m1uqMpY46N0XVJm9JQar0VzQ0Rq9r_ETotLXX3YZqmWA0lvOT-w/s1600/saupload_hadoop_logo.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 335px; height: 93px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ-kQwNO0VLAsUMxBIMgDafBezl2ylmnsRZ9lFoh7bpyTQqWjjnDr3mQyP8y5Ne491YlPOz9sxgxtVpS0HQaTFE17m1uqMpY46N0XVJm9JQar0VzQ0Rq9r_ETotLXX3YZqmWA0lvOT-w/s400/saupload_hadoop_logo.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5461795047923423154&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Then I read something about a new open source entrant into the Distributed Computing space called &lt;a href=&quot;http://hadoop.apache.org/&quot;&gt;Hadoop&lt;/a&gt;. Actually its not a new entrant (has been in development since 2004, when the &lt;a href=&quot;http://labs.google.com/papers/mapreduce.html&quot;&gt;Google&#39;s MapReduce algorithm&lt;/a&gt; paper was published). Yahoo has been using it for similar purposes of creating page indexes for Yahoo Web Search. Also, &lt;a href=&quot;http://lucene.apache.org/mahout/&quot;&gt;Apache Mahout&lt;/a&gt;, a machine learning project from Apache Foundation, uses Hadoop as its compute horsepower.&lt;br /&gt;&lt;br /&gt;Suddenly, I knew Hadoop is the way to go. It uses commodity PCs (#), gives Petabyes of storage and the power of Distributed Computing. And the best par about it is that it is a FOSS.&lt;br /&gt;&lt;br /&gt;You can read more about Hadoop from the following places:&lt;br /&gt;&lt;br /&gt;1. &lt;a href=&quot;http://hadoop.apache.org/&quot;&gt;Apache Hadoop site.&lt;/a&gt;&lt;br /&gt;2. &lt;a href=&quot;http://developer.yahoo.com/hadoop/&quot;&gt;Yahoo Hadoop Developer Network.&lt;/a&gt;&lt;br /&gt;3. &lt;a href=&quot;http://www.cloudera.com/&quot;&gt;Cloudera Site.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My next few posts would elaborate more on Hadoop&#39;s working.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Note:&lt;br /&gt;&lt;br /&gt;# Commodity PC doesn&#39;t imply cheap PCs, a typical choice of machine for running a Hadoop datanode and tasktracker in late 2008 would have the following specifications:&lt;/span&gt;  &lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Processor: 2 quad-core Intel Xeon 2.0GHz CPUs&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Memory: 8 GB ECC RAM&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Storage: 41 TB SATA disks&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Network: Gigabit Ethernet&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://geekparitosh.blogspot.com/2010/04/hadoop-lets-welcome-elephant.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ-kQwNO0VLAsUMxBIMgDafBezl2ylmnsRZ9lFoh7bpyTQqWjjnDr3mQyP8y5Ne491YlPOz9sxgxtVpS0HQaTFE17m1uqMpY46N0XVJm9JQar0VzQ0Rq9r_ETotLXX3YZqmWA0lvOT-w/s72-c/saupload_hadoop_logo.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-7948698200555334777</guid><pubDate>Wed, 17 Feb 2010 11:25:00 +0000</pubDate><atom:updated>2010-02-17T04:27:29.434-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Machine Learning</category><title>Machine Learning : The Crawler</title><description>Building the crawler was the easiest part of &lt;a href=&quot;http://geekparitosh.blogspot.com/2010/02/machine-learning-emotional-intelligent.html&quot;&gt;this project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;All this crawler does is take a seed blog (my blog) URL, run through all the links in its front page and store the ones that look like a blogpost URL. I assume that all the blogs in this world are linked to on at least one other blog. Thus all of them will get indexed in this world if the spider is given enough time ad memory.&lt;br /&gt;&lt;br /&gt;This is the code for the crawler. Its in Python and is quite easy. Please run through it and let me know if there is any other way to optimise it further:&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;border: 1px solid rgb(171, 171, 171); padding: 5px;&quot;&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;import sys&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;import re&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;import urllib2&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;import urlparse&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;from pysqlite2 import dbapi2 as sqlite&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;conn = sqlite.connect(&#39;/home/spider/blogSearch.db&#39;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;cur = conn.cursor()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;tocrawltpl = cur.execute(&#39;SELECT * FROM blogList where key=1&#39;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;for row in tocrawltpl:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;tocrawl = set([row[1]])&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;linkregex = re.compile(&quot;&lt;a\s*href=[\&#39;|\&quot;](.*?)[\&#39;|\&quot;].*?&gt;&quot;)&lt;/a\s*href=[\&#39;|\&quot;](.*?)[\&#39;|\&quot;].*?&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;while 1:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp try:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp crawling = tocrawl.pop()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp except KeyError:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp raise StopIteration&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp url = urlparse.urlparse(crawling)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp try:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp response = urllib2.urlopen(crawling)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp except:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp continue&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp msg = response.read()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp links = linkregex.findall(msg)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp for link in (links.pop(0) for _ in xrange(len(links))):&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;&amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp &amp;nbsp if link.endswith(&#39;.blogspot.com/&#39;):&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 if link.startswith(&#39;/&#39;):&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 link = &#39;http://&#39; + url[1] + link&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 elif link.startswith(&#39;#&#39;):&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 link = &#39;http://&#39; + url[1] + url[2] + link&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 elif not link.startswith(&#39;http&#39;):&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 link = &#39;http://&#39; + url[1] + &#39;/&#39; + link&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 select_query=&#39;SELECT * FROM blogList where url=&quot;%s&quot;&#39; %link&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 crawllist = cur.execute(select_query)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 flag=1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 for row in crawllist:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 flag=0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 if flag:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 tocrawl.add(link)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 insert_query=&#39;INSERT INTO blogList (url) VALUES (&quot;%s&quot;)&#39; %link&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 cur.execute(insert_query)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&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 conn.commit()&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://geekparitosh.blogspot.com/2010/02/machine-learning-crawler.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-5314496331858731924</guid><pubDate>Wed, 17 Feb 2010 10:43:00 +0000</pubDate><atom:updated>2010-02-17T03:23:38.431-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Machine Learning</category><title>Machine Learning : Emotional Intelligent Search Engines</title><description>When we think of machines being emotionally intelligent, we tend to see a vast problem with no seemingly plausible solution. However, as I stated in my post about &lt;a href=&quot;http://geekparitosh.blogspot.com/2010/02/supervised-machine-learning.html&quot;&gt;Machine Learning&lt;/a&gt; and &lt;a href=&quot;http://geekparitosh.blogspot.com/2009/04/web-30-new-frontier.html&quot;&gt;Semantic Web&lt;/a&gt;, it can be broken down into smaller, manageable problems. And I intend to do that.&lt;br /&gt;&lt;br /&gt;Here, in this post I present the introduction to a small step towards this solution. This solution, if implemented properly (which I hope it will be), will allow a machine to return emotionally intelligent search results.&lt;br /&gt;&lt;br /&gt;I assume that anyone reading this article knows &lt;a href=&quot;http://www.howstuffworks.com/search-engine.htm&quot;&gt;the way a search engine works&lt;/a&gt;, the &lt;a href=&quot;http://www.python.org/&quot;&gt;Python programming language&lt;/a&gt; and how databases work.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Statement of Problem :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&quot;Build a emotional intelligent search engine which does the following tasks:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Crawls the web for blogposts and downloads them.&lt;/li&gt;&lt;li&gt;Indexes them according to their emotional quotient.&lt;/li&gt;&lt;li&gt;Returns results according to the abstract questions asked by the end user. &quot;&lt;/li&gt;&lt;/ol&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizpCDagqV6cibNI1CGSOSGx6givH07_JFvD7sVpVHzShji6o1nM2N7ISoaV03cPTCrftriXwIoqLfWzoPXgCyxzMxpu5kjRHMsEQV1fe6x-pSN_9ZrwF5Adf0o0-ZhV30jpyNLKXF6JQ/s1600-h/terminator.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 315px; height: 400px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizpCDagqV6cibNI1CGSOSGx6givH07_JFvD7sVpVHzShji6o1nM2N7ISoaV03cPTCrftriXwIoqLfWzoPXgCyxzMxpu5kjRHMsEQV1fe6x-pSN_9ZrwF5Adf0o0-ZhV30jpyNLKXF6JQ/s400/terminator.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5439171412679090498&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Proposed solution :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The proposed solution &lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_of_concept&quot;&gt;POC&lt;/a&gt; consists of :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A crawler which crawls the blogosphere collecting links of all the blogs out there. I intend to target only the blogs on blogspot. These links are sanitised and stored in a database. Then another crawler cum &#39;blog-getter&#39; looks into this database, picks up each blog one by one and then downloads all the posts in them. It stores the posts in flat file format and stores its metadata in a database.&lt;/li&gt;&lt;li&gt;A lexicon builder parses these posts one by one and builds upon its vocabulary of emotional words (fundamentally all the adjectives in the posts) with the help of a human tutor.&lt;/li&gt;&lt;li&gt;An indexer then parses all these posts, cross referencing them with its lexicon (built in the previous step) and then stores the parsed words into a db. It stores nouns and adjectives in separate tables referencing them to the metadata table (built in the first step).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;When the end user enters a search query, suppose &quot;a nice Chinese restaurant&quot;, the query parser first finds all posts about &#39;Chinese restaurant&#39;. From these results it finds the ones that are nice (according to its logic &#39;nice&#39; means where people were happy and used &#39;happy&#39; adjectives when they described such restaurants in their posts). It then displays the results in descending order of &#39;niceness&#39;.&lt;/li&gt;&lt;/ol&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Implementation &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I sincerely believe that this is an absolutely doable project, and I have made some progress with building the lexicon. As this is an ongoing project, I will be posting my experiences and the codes as and when I complete testing them.&lt;br /&gt;&lt;br /&gt;The coding will be in &lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;Python&lt;/span&gt;. Why? Because I am in love with the language. Period.&lt;br /&gt;&lt;br /&gt;The database, as of now is SQLLite, but I am planning to convert it into a &lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;NoSQL&lt;/span&gt; as soon as I get a firm grasp on the technology.&lt;br /&gt;&lt;br /&gt;Platform right now is a single Linux box. I know it will require a lot more computing power, storage and memory when deployed. I am planning to port this to &lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;Hadoop&lt;/span&gt; when it comes to deployment stages. But for now, this remains my baby and will have its place in my desktop :).</description><link>http://geekparitosh.blogspot.com/2010/02/machine-learning-emotional-intelligent.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizpCDagqV6cibNI1CGSOSGx6givH07_JFvD7sVpVHzShji6o1nM2N7ISoaV03cPTCrftriXwIoqLfWzoPXgCyxzMxpu5kjRHMsEQV1fe6x-pSN_9ZrwF5Adf0o0-ZhV30jpyNLKXF6JQ/s72-c/terminator.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-8933972122420151371</guid><pubDate>Wed, 17 Feb 2010 09:32:00 +0000</pubDate><atom:updated>2010-02-17T02:41:28.755-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Machine Learning</category><category domain="http://www.blogger.com/atom/ns#">Semantic Web</category><title>Supervised Machine Learning</title><description>&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;span style=&quot;color: rgb(204, 102, 0);&quot;&gt;Introduction&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;When I was born, I was ignorant but very curious. I always asked&lt;br /&gt;questions : &quot;What? Where? Why? How?&quot; And my parents guided me through&lt;br /&gt;this jungle of knowledge, telling me about things that really mattered&lt;br /&gt;and leaving what was complicated to the future.&lt;br /&gt;&lt;br /&gt;As I grew up, I started learning about the very complex things by&lt;br /&gt;cross referencing it with my already existent knowledge. If the new&lt;br /&gt;incidents were not in my knowledge database, I queried the books,&lt;br /&gt;articles and lately Google. Thus from an ignorant child with an empty&lt;br /&gt;knowledge database, I grew up to become a knowledgeable person.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf0_hCvCHpJ7zbg3La8AQ2HXGjq6hTi5zW011yBca7vYA_YgwFYIVdrf5X5mZyxijgbJ1Jy3ChTncfqvVN2ISF2OT9dnvtKZ38OSO48zvi3OQQPyM9gLDzp-VeXumrAThohQQtzlBe0A/s1600-h/robot-brain.JPG&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 316px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf0_hCvCHpJ7zbg3La8AQ2HXGjq6hTi5zW011yBca7vYA_YgwFYIVdrf5X5mZyxijgbJ1Jy3ChTncfqvVN2ISF2OT9dnvtKZ38OSO48zvi3OQQPyM9gLDzp-VeXumrAThohQQtzlBe0A/s400/robot-brain.JPG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5439160345704115858&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Let me take an example of how I learned English.&lt;br /&gt;&lt;br /&gt;I am from India, English is neither my nor my parents&#39; first language.&lt;br /&gt;However, they really wanted me to learn how to read, write and speak&lt;br /&gt;in English. They couldn&#39;t teach me by changing their mother tongue.&lt;br /&gt;What they did, instead, was that they taught me the alphabets, a few&lt;br /&gt;easy words and the basic grammar constructs. Then they gave me a&lt;br /&gt;dictionary and a grammar book. I referenced new words that I saw with&lt;br /&gt;the dictionary and new sentence formations with the grammar book. If I&lt;br /&gt;still couldn&#39;t understand what was written, I asked my teacher.&lt;br /&gt;&lt;br /&gt;Now when I come across anything written in English, I cross reference&lt;br /&gt;it with the vocabulary and grammar that I have learned all these&lt;br /&gt;years. If something new comes up, I check it up online or with my&lt;br /&gt;peers. Thus I build upon my knowledge about English in an ongoing,&lt;br /&gt;continuous process.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Implementation in Machine Learning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now, building on this very basic pattern how any human child learns&lt;br /&gt;about this physical world, we can model this learning process for the&lt;br /&gt;machines. This is a brief outline of the idea (here I take an example&lt;br /&gt;of the English Language, but this is equally applicable to any other&lt;br /&gt;natural language or any other real world entity):&lt;br /&gt;&lt;br /&gt;&quot;In the same way as I learnt about the world, Machines can also be&lt;br /&gt;taught. In the same way that we teach a child how to read and&lt;br /&gt;understand the English Language, a computer can be taught to recognize&lt;br /&gt;patterns of English alphabets as words and can reference its meaning&lt;br /&gt;with its dictionary (which is built by human assistance). The machine&lt;br /&gt;can gradually build up its vocabulary by reading more and finding the&lt;br /&gt;meanings of new words and sentence constructs online.  If it finds&lt;br /&gt;something which is complex enough, it can ask its human tutor its&lt;br /&gt;meaning.&lt;br /&gt;&lt;br /&gt;Given the amount of cheap storage, memory and computing power we have&lt;br /&gt;in our hands today, I think it is a perfectly doable thing. I just&lt;br /&gt;need time and resources to do it.&quot;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Value of this research&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Why is it important for a machine to learn a natural language? The&lt;br /&gt;answer is simple, if machine learns a natural language, it can mine&lt;br /&gt;the enormous amount of data on the internet to learn about any other&lt;br /&gt;discipline. We will provide the world with the perfect student. It can&lt;br /&gt;learn financial modelling from a human tutor and apply it to the&lt;br /&gt;streaming financial data from the internet to predict future trends.&lt;br /&gt;Maybe even produce its own models. It can learn biotechnology from its&lt;br /&gt;human tutor and mine the huge available pathological data on the&lt;br /&gt;internet to produce new medicines. The application possibilities seem&lt;br /&gt;to be bound only by human imaginations.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; color: rgb(204, 102, 0);&quot;&gt;Current Status of my Research&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Right now, I am working on a search engine which crawls the&lt;br /&gt;blogosphere and indexes blogposts according to their emotional&lt;br /&gt;quotient. Its a small step in the final scheme of things but this is&lt;br /&gt;what I can do with the time and resources that I have (I have a &#39;9 to&lt;br /&gt;6&#39; day job as a software engineer). I would love to devote more time&lt;br /&gt;to this idea, given the mundane activities (like earning my bread and&lt;br /&gt;butter) is taken care of :-).&lt;br /&gt;&lt;br /&gt;I am not sure if this idea has been implemented previously anywhere.&lt;br /&gt;Also, I acknowledge it is a very simple solution to a seemingly very&lt;br /&gt;complex problem. However, I feel that this is the most suitable&lt;br /&gt;solution. If we humans can do it then so can the machines.</description><link>http://geekparitosh.blogspot.com/2010/02/supervised-machine-learning.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf0_hCvCHpJ7zbg3La8AQ2HXGjq6hTi5zW011yBca7vYA_YgwFYIVdrf5X5mZyxijgbJ1Jy3ChTncfqvVN2ISF2OT9dnvtKZ38OSO48zvi3OQQPyM9gLDzp-VeXumrAThohQQtzlBe0A/s72-c/robot-brain.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-5511730069759247909</guid><pubDate>Fri, 11 Dec 2009 07:08:00 +0000</pubDate><atom:updated>2009-12-10T23:48:19.154-08:00</atom:updated><title>Microsoft Interops Day</title><description>Well, well, well... I committed the crime. An open source developer attending a Microsoft event is definitely a crime. But then they promised it was going to be an event for PHP development on Windows. I took the bait, hook, line and sinker. Damn!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFLVctfju4TZmhvObCfBt9JK76crWgHi6nhE_6cKAhosJaoeNQn6NQQF0mNlnfNBIsTifLW1sQh0hMWplQ4F2nbYLGvBQp_caNKiGJr7vXd1CACE2QI8N0RLqRniPPj3BCveMBkiZK4g/s1600-h/microsoft_logo.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 294px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFLVctfju4TZmhvObCfBt9JK76crWgHi6nhE_6cKAhosJaoeNQn6NQQF0mNlnfNBIsTifLW1sQh0hMWplQ4F2nbYLGvBQp_caNKiGJr7vXd1CACE2QI8N0RLqRniPPj3BCveMBkiZK4g/s400/microsoft_logo.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5413881783257826450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;The interoperability day turned out to be a cheap marketing gimmick, showcasing what you can do with IIS and Silverlight. This is a session by session breakup of what the Microsoft guys showed us:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Session 1: &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Promised :&lt;/span&gt; Build an end-to-end, authentication and   authorization model for your existing PHP application  in less than 30 mins.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Delivered :&lt;/span&gt; An existing PHP application was taken, authentication provided by removing anonymous access from the root directory, and authorization provided by adding a login page. Quite a good demonstration , I would admit. With a few clicks of mouse, we could achieve something which takes a few lines of code.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;My Take : &lt;/span&gt;To a hand coder like me, who needs to have control on all the stuff going around me, I don&#39;t think I will ever use this stuff.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Session 2:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Promised :&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt; &lt;/span&gt;Access your data exposed from your PHP   app,  through a RESTful service interface.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Delivered :&lt;/span&gt; This is where I dozed off. The demo was to show how you can easily configure a webservice for a SQL Server DB, plugin your CS code to harvest this code and show it through your browser.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;My Take :&lt;/span&gt; Now, I may be snoring while they showed how the PHP application comes into the picture, but I have no memory of any PHP code being shown in this session actually. It was all about how to use standard plug n play snippets in Visual Studio, ADO.NET and SQL Server.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Session 3:&lt;br /&gt;Promised :&lt;/span&gt; Configuring Windows to run your PHP applications.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Delivered :&lt;/span&gt; They showed us some so-called cool GUI configuration techniques for porting .htaccess configurations.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;My Take :&lt;/span&gt; Now why would I do that? When I have a single .htaccess file to control all my apache configuration, why would I monkey around with the superfluous click-and-you-are-done controls in IIS? And the best part of the presentation was that the guy showing this all leads the PHP UG in Bangalore. What a sham!&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;Session 4:&lt;br /&gt;Promised :&lt;/span&gt; Discover the web designer in you, to build pure CSS based PHP websites.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Delivered : &lt;/span&gt;A couple of CSS tips and tricks downloaded from the net. And a huge demo of how Silverlight can Light up your web apps.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;My Take : &lt;/span&gt;No discussion what-so-ever for using CSS for PHP templates!! Cummon!! Atleast stick to what was promised in your mailer. But then MS is never known to stick to its promises, is it?&lt;br /&gt;&lt;br /&gt;Overall, I think that if they had called us in for a demo of what MS is doing for the Web Developers, then I would have definitely loved the sessions. I have never worked on MS stuff for web apps development and I would have loved to have a kick start. But I went there with a differend picture in mind, and was deeply disappointed by the way in which the MS guys used the name of PHP for promoting their products.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; color: rgb(204, 102, 0);&quot;&gt;N.B. I am currently working on AWS using Python. I find it a compelling cloud computing platform and will be starting a series of posts on it. Anyone who loves cloud computing, hold on to your keyboards!! ;)&lt;/span&gt;</description><link>http://geekparitosh.blogspot.com/2009/12/microsoft-interops-day.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFLVctfju4TZmhvObCfBt9JK76crWgHi6nhE_6cKAhosJaoeNQn6NQQF0mNlnfNBIsTifLW1sQh0hMWplQ4F2nbYLGvBQp_caNKiGJr7vXd1CACE2QI8N0RLqRniPPj3BCveMBkiZK4g/s72-c/microsoft_logo.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-7241317014510282643</guid><pubDate>Wed, 16 Sep 2009 11:36:00 +0000</pubDate><atom:updated>2009-09-16T06:16:00.091-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Computing Business</category><title>Blogadda looses my data!!</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR7GHkAqGccw30MISIjR7UHXQZmJRx8BB_RCzBA0jqewtaUE6Qemhfh4rKu1kGxp1Pq2_hyphenhypheneiACC3ObL0JK-gs4S97hy5pqf-UqjBwXeviU0yclYNkD9F0CSdWLpvbknmvtJQ_iP7F5w/s1600-h/a39e5203e5a133db99088b11263c8431-320-240.png&quot;&gt;&lt;img style=&quot;margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 240px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR7GHkAqGccw30MISIjR7UHXQZmJRx8BB_RCzBA0jqewtaUE6Qemhfh4rKu1kGxp1Pq2_hyphenhypheneiACC3ObL0JK-gs4S97hy5pqf-UqjBwXeviU0yclYNkD9F0CSdWLpvbknmvtJQ_iP7F5w/s400/a39e5203e5a133db99088b11263c8431-320-240.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5382053037059416450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;Dear Blogger Friend&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;,&lt;br /&gt;&lt;br /&gt;Thank you for visiting BlogAdda.com and submitting your blog.&lt;/span&gt;  &lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;&lt;br /&gt;&lt;br /&gt;We had an issue with our host yesterday due to which information about your blog was inadvertently affected. Your blog URL is in the records and you might have to update the rest of the information.&lt;br /&gt;&lt;br /&gt;Kindly login at BlogAdda (&lt;/span&gt;&lt;a style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot; href=&quot;http://www.blogadda.com/login&quot; target=&quot;_blank&quot;&gt;http://www.blogadda.com/login&lt;/a&gt;&lt;div id=&quot;:x1&quot; class=&quot;ii gt&quot;&gt;&lt;wbr style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;&lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;) and click on &#39;My Account&#39; link on the top. You&#39;ll see the title of your blog linked. Clicking the title will expand into a few options and you can click on &#39;Manage&#39; to update details of your blog.&lt;/span&gt;    &lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Our apologies for the inconvenience caused and we would appreciate if you can update the blog details asap.&lt;br /&gt;&lt;br /&gt;We would like to assure you that we take utmost care of the data and this would not happen again. We thank you for your co-operation.&lt;/span&gt;    &lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Regards&lt;/span&gt; &lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;&lt;br /&gt;Administration Team&lt;/span&gt;&lt;br /&gt; &lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;BlogAdda.com&lt;/span&gt;  &lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Twitter: &lt;/span&gt;&lt;a style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot; href=&quot;http://www.twitter.com/blogadda&quot; target=&quot;_blank&quot;&gt;http://www.twitter.com/&lt;wbr&gt;blogadda&lt;/a&gt; &lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;&lt;br /&gt;Facebook: &lt;/span&gt;&lt;a style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot; href=&quot;http://www.facebook.com/blogadda&quot; target=&quot;_blank&quot;&gt;http://www.facebook.com/&lt;wbr&gt;blogadda&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What happenes when you get such a mail? I get pissed off. Within a minute of getting this mail, I shot back my reply:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;No need to be sorry!! I have got tonnes of work other than to re-enter my blog details on your stupid servers which can&#39;t even store this tiny winy bit of information properly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 102, 0); font-style: italic;&quot;&gt;I am logging out of blogadda. I will make sure no one in my friendlist joins or advises anyone to join such a site which doesn&#39;t value its user&#39;s data&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I know blogadda is a free blog aggregator service and they have no responsibility what-so-ever for my data. But the question remains... how the hell can they manage to loose it?&lt;br /&gt;&lt;br /&gt;There are many ways to loose data:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Hacking : Someone hacked into their database and snooped off with the data. In that case I my email ID is in their hands and at the very least, I can expect to get thousands of spam emails which may or maynot have adware and malwares attached to them.&lt;/li&gt;&lt;li&gt;Backup failure: Some bozo missed out taping my data. If they have a backup policy. Which I doubt hey have.&lt;/li&gt;&lt;li&gt;Natural Disaster: The data centre was flooded and thus my data was lost.&lt;/li&gt;&lt;li&gt;Terrorist attack: The black masked terrorists came and fled off with the tapes of my data. They also deleted my entries from the database. On the second thoughts, is my second name Bush? Definitely not.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;After going through all such possibilities, all I can say is that I am mesmerised by this kinda act of terrorism on my individuality. Damn it!&lt;br /&gt;&lt;/div&gt;</description><link>http://geekparitosh.blogspot.com/2009/09/blogadda-looses-my-data.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR7GHkAqGccw30MISIjR7UHXQZmJRx8BB_RCzBA0jqewtaUE6Qemhfh4rKu1kGxp1Pq2_hyphenhypheneiACC3ObL0JK-gs4S97hy5pqf-UqjBwXeviU0yclYNkD9F0CSdWLpvbknmvtJQ_iP7F5w/s72-c/a39e5203e5a133db99088b11263c8431-320-240.png" height="72" width="72"/><thr:total>14</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-7533698071343714979</guid><pubDate>Thu, 03 Sep 2009 08:44:00 +0000</pubDate><atom:updated>2009-09-15T02:18:50.881-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">JavaScript</category><title>A Brief History of JavaScript : Part I</title><description>&quot;Javascript is not Java&quot;, it is the common phrase we always read whenever we read any book on JavaScript. But then why keep similar names? Its like saying the Red Indians are not from India. Huh!&lt;br /&gt;&lt;br /&gt;Before we get into the debates about the mistakes driven by the marketing at Sun &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;Microsystems&lt;/span&gt; and Netscape, which indeed has plagued web designers for years and would do so for years to come, lets have a look at the twisted history of JavaScript.&lt;br /&gt;&lt;br /&gt;Back in the 1990s, the web was dominated by static websites.&lt;br /&gt;&lt;br /&gt;The first graphical web browser , Mosaic, was launched by in December 1995 by &lt;a href=&quot;http://en.wikipedia.org/wiki/National_Center_for_Supercomputing_Applications&quot;&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;NCSA&lt;/span&gt;&lt;/a&gt;. Its main achievement was that it was also the first browser to display images &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;inline&lt;/span&gt; with text instead of displaying images in a separate window. Though the web pages still remained static but more color could be added to them.&lt;br /&gt;&lt;br /&gt;This small advancement in the rendering of the web pages led to the frantic rush in development and selling of advanced browsers. People wanted the guys who made Mosaic to create proprietary browsers for them.&lt;br /&gt;&lt;p&gt;Sensing the &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;opportunity&lt;/span&gt;, one of the Mosaic developers, &lt;a href=&quot;http://en.wikipedia.org/wiki/Marc_Andreessen&quot; title=&quot;Marc Andreessen&quot;&gt;Marc &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_4&quot;&gt;Andreessen&lt;/span&gt;&lt;/a&gt;, founded the company Mosaic Communications Corporation and created a new web browser named Mosaic Netscape. To resolve legal issues with &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_5&quot;&gt;NCSA&lt;/span&gt;, the company was renamed &lt;a href=&quot;http://en.wikipedia.org/wiki/Netscape_Communications_Corporation&quot; title=&quot;Netscape Communications Corporation&quot; class=&quot;mw-redirect&quot;&gt;Netscape Communications Corporation&lt;/a&gt; and the browser &lt;a href=&quot;http://en.wikipedia.org/wiki/Netscape_Navigator&quot; title=&quot;Netscape Navigator&quot;&gt;Netscape Navigator&lt;/a&gt;. The Netscape browser improved on Mosaic&#39;s usability and reliability - as well as boasting the then-impressive feature of being able to display pages as they loaded. &lt;/p&gt;&lt;p&gt;Within a year or so, Netscape was the browser of choice for the &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_6&quot;&gt;Internet&lt;/span&gt; users. It had almost 90% user base covered. But then entered Microsoft&#39;s Internet Explorer 1.0, which was &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_7&quot;&gt;bundled&lt;/span&gt; free of cost with the Windows OS. This started, what is called, the first browser war. Both the companies, in a desire to outdo each other, started implementing more and more features to their browsers.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;But still the &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_8&quot;&gt;web pages&lt;/span&gt; were static. Netscape decided to put user interactivity to the web pages.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;They hired Brendan &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_9&quot;&gt;Eich&lt;/span&gt; to develop a scripting language that could interface with the server-side components. Tasked with this, &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_10&quot;&gt;Eich&lt;/span&gt; eventually decided that a loosely-typed scripting language suited the environment and audience, namely the few thousand web designers and developers who needed to be able to tie into page elements (such as forms, or frames, or images) without a &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_11&quot;&gt;bytecode&lt;/span&gt; compiler or knowledge of object-oriented software design.&lt;/p&gt;&lt;p&gt;Thus &quot;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_12&quot;&gt;LiveScript&lt;/span&gt;&quot; was born. The name was chosen to reflect its dynamic nature. It was released with Navigator 2.0 but was quickly (before the end of Navigator 2.0 beta cycle) renamed to JavaScript.&lt;/p&gt;</description><link>http://geekparitosh.blogspot.com/2009/09/brief-history-of-javascript-10.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-1414594991641215341</guid><pubDate>Fri, 28 Aug 2009 10:14:00 +0000</pubDate><atom:updated>2009-08-28T06:16:12.811-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Semantic Web</category><category domain="http://www.blogger.com/atom/ns#">Web 3.0</category><title>Back after a long time...</title><description>Well... well... well... look who is back!!&lt;br /&gt;&lt;br /&gt;Anyways, there are no readers to complain. So no apologies offered. Anyways, now to the main topic of today&#39;s post.&lt;br /&gt;&lt;br /&gt;I am converting this blog to the chronicle of my quest for the Semantic Web.&lt;br /&gt;&lt;br /&gt;The posts now will be related to Web 3.0 (Semantic Web) and various tools required to build a POC on my previous hypothesis, PHP, Javascript, MySql, CSS and Ajax.&lt;br /&gt;&lt;br /&gt;Hope the world doesn&#39;t come apart before I complete my POC (What with the 2012 prophecy, you never know what&#39;s coming).</description><link>http://geekparitosh.blogspot.com/2009/08/back-after-long-time.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-7142159614900921824</guid><pubDate>Mon, 27 Apr 2009 07:13:00 +0000</pubDate><atom:updated>2009-08-28T03:20:17.104-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Semantic Web</category><category domain="http://www.blogger.com/atom/ns#">Web 3.0</category><title>WEB 3.0 : The new frontier</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit1Koe-E3tyBffgWRr6Qv0gLujJc-Oq9cVrOGNnSWZkpcAZ1Y3NDnA2V0D0BYO177gAJs_hCPQmyIBxy1V5YCYAtNrmU9tp1g4H0DScojQ0Kxtf_GrSaTACkrXPYla-YdGTxGH2uKGWg/s1600-h/web30.gif&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 400px; height: 278px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit1Koe-E3tyBffgWRr6Qv0gLujJc-Oq9cVrOGNnSWZkpcAZ1Y3NDnA2V0D0BYO177gAJs_hCPQmyIBxy1V5YCYAtNrmU9tp1g4H0DScojQ0Kxtf_GrSaTACkrXPYla-YdGTxGH2uKGWg/s400/web30.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5329271908414646370&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I am an avid &lt;a href=&quot;http://www.google.com/&quot;&gt;googler&lt;/a&gt; and swear by the &lt;a href=&quot;http://www.wikipedia.org/&quot;&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;Wikipedia&lt;/span&gt;&lt;/a&gt;, but a few days ago I was let down big time by  the Google. I was to go to &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;Ooty&lt;/span&gt; and was searching for suitable accommodation over there. Can you believe google gave me some &lt;span style=&quot;font-weight: bold;&quot;&gt;8470&lt;/span&gt; &lt;a href=&quot;http://www.google.com.sg/search?hl=en&amp;amp;q=economic+and+good+accommodation+in+ooty&quot;&gt;results&lt;/a&gt;, out of which I read the first 20 but still couldn&#39;t get what I wanted.&lt;br /&gt;&lt;br /&gt;Anyways, I decided that these kinda queries should be answered in person and no google should be given the authority to dictate the beds in which I sleep in. However, all the while I was driving to &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;Ooty&lt;/span&gt;, one thought kept troubling me. Why can&#39;t someone dig all the wealth of information in the blogs and user reviews out there and provide me with a simple choice of no more than 10 hotels/&lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;homestays&lt;/span&gt; each in a different price range and with the maximum number of favorable reviews in their range?&lt;br /&gt;&lt;br /&gt;This question is the ultimate frontier for Internet searching. Providing relevant search results have been the nightmare for all the search algorithm writers for over two decades now. Since the birth of the &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_4&quot;&gt;Internet&lt;/span&gt;, people have been collecting data on the cloud. How nice it would be to go through this huge amount of data and come back with the most relevant piece of information.&lt;br /&gt;&lt;br /&gt;All this and some more spiked me to do some more googling on such searching and voila! I came up with a new jargon &quot;WEB 3.0&quot;. Well, not actually new, I had heard a lot about &lt;a href=&quot;http://en.wikipedia.org/wiki/Semantic_search&quot;&gt;semantic&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertical_search&quot;&gt;vertical&lt;/a&gt; searching  and have dirtied my hands trying &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_scraping&quot;&gt;&lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_5&quot;&gt;web page&lt;/span&gt; - &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_6&quot;&gt;scrapin&lt;/span&gt;&lt;/a&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Web_scraping&quot;&gt;g&lt;/a&gt; but had never given a serious thought to this so called &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_language_search_engine&quot;&gt;natural language searching&lt;/a&gt;&quot;.&lt;br /&gt;&lt;br /&gt;Now, lets take the most basic question : What is, or rather will be, WEB 3.0? Everybody has got his own opinion about what it will be, I also have mine. For me, WEB 3.0 will be a paradigm shift from what we know of the Internet as of today. I mean, 10 years down the line there won&#39;t be any website as we see today. What will be is a huge repository of data, which will be essentially user and community generated and we will be able to access the data in whatever format we like and we won&#39;t need a conventional computer to do that (anyways PCs will have shrunk to the size of a laser device mounted on our ears which can project images on any surface or play sounds from their ear buds). This data will be rendered in whatever format we like using our previous preferences and could be changed whenever we want to. &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_7&quot;&gt;Hmmm&lt;/span&gt;! Quite futuristic huh. Wait for another 10 years sweetheart.&lt;br /&gt;&lt;br /&gt;But before we leap 10 years in the time warp, lets think if we can do anything about what we have here today. Maybe, maybe not. Lets break this huge insurmountable problem into somewhat smaller and &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_8&quot;&gt;manageable&lt;/span&gt; issues. As we know most of the searches in future will be like :&lt;br /&gt; &lt;br /&gt;   a. I want to go to a happy place.&lt;br /&gt;   b. I would like to read a sad, romantic story.&lt;br /&gt;   c. I would like to have delicious, &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_9&quot;&gt;Chinese&lt;/span&gt;, &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_10&quot;&gt;home cooked&lt;/span&gt; food.&lt;br /&gt; &lt;br /&gt;Now all these questions today are answered by searching for keywords from the existing pages. However, we are talking about a search in which the search engine crawls all through the blogs and forums and other community sites and get &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_11&quot;&gt;the&lt;/span&gt; reactions of people for the various options possible and then show the results. Whew! &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_12&quot;&gt;That&#39;s&lt;/span&gt; a huge requirement in itself. Now let us break this into a further smaller problems.&lt;br /&gt;&lt;br /&gt;The biggest issue here is how does the search engine understand the emotions portrayed by the web page? Most of the searches can be made easy if the pages can be ranked according to their &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_14&quot;&gt;EQ&lt;/span&gt;. To answer this let me ask another question: How do we gauge the emotional state of something we read? Simple! By looking at the keywords which our parents and teachers taught us to identify with certain emotions. Similarly if we keep a data base where in the search engine can refer to and find out the number of sad or happy keywords, then it can gauge the overall emotional state of the page.&lt;br /&gt;&lt;br /&gt;So one problem solved. Similarly I will try to tackle different issues as and when I get time and in the end we will have the model of a basic WEB 3.0 search engine.</description><link>http://geekparitosh.blogspot.com/2009/04/web-30-new-frontier.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit1Koe-E3tyBffgWRr6Qv0gLujJc-Oq9cVrOGNnSWZkpcAZ1Y3NDnA2V0D0BYO177gAJs_hCPQmyIBxy1V5YCYAtNrmU9tp1g4H0DScojQ0Kxtf_GrSaTACkrXPYla-YdGTxGH2uKGWg/s72-c/web30.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-8655109012670842610</guid><pubDate>Mon, 20 Apr 2009 17:42:00 +0000</pubDate><atom:updated>2009-08-28T03:20:43.579-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Computing Business</category><title>Oracle Buys Sun</title><description>Finally the beleaguered &lt;a href=&quot;http://www.sun.com/&quot;&gt;Sun Microsystems&lt;/a&gt; has got a suitor.  &lt;a href=&quot;http://www.oracle.com/&quot;&gt;Oracle Corp.&lt;/a&gt; has inked &lt;a href=&quot;http://www.forbes.com/2009/04/20/oracle-sun-microsystems-markets-equity-takeover-update.html&quot;&gt;a deal&lt;/a&gt; to buy struggling server vendor &lt;strong style=&quot;font-weight: normal;&quot;&gt;Sun Microsystems&lt;/strong&gt; for $9.50 per share, representing a 42.0% premium to Sun&#39;s closing price of $6.69 on Friday afternoon. This deal is worth $7.4 billion, or $5.6 billion net of Sun’s cash and debt.&lt;br /&gt;&lt;br /&gt;What does it mean to us as a consumer? Now Oracle will own Sun&#39;s Solaris operating system, Java programming language, and servers and storage hardware systems businesses. Integrating its enterprise software products with now added server and Solaris OS it can provide a off-the-shelf ready-to-use product which you can buy, bring to your office, plugin to your network and voila! you are all set to start your applications on your server. These are exciting propositions. Oracle will be the only company with products like this, though IBM has its products on the same lines but the software products of Oracle have a greater demand.&lt;br /&gt;&lt;br /&gt;Oracle is predicting that it will generate $2.0 billion in profits for Sun two years after signing the deal, which is expected to be sealed this summer. So it seems to be a very exciting buy after all. Looks like &lt;a href=&quot;http://en.wikipedia.org/wiki/Larry_Ellison&quot;&gt;Larry Ellison&lt;/a&gt; is going to enhance his riches manifolds. He has taken a bold decision and only time will tell whether it is going to pay.</description><link>http://geekparitosh.blogspot.com/2009/04/oracle-buys-sun.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-5562997066022448841</guid><pubDate>Sun, 19 Apr 2009 06:53:00 +0000</pubDate><atom:updated>2009-08-28T03:22:36.256-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Computing Business</category><title>The Pirate Bay is pirated</title><description>&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;Hmmmm&lt;/span&gt;... so a &lt;a href=&quot;http://en.wikipedia.org/wiki/Napster&quot;&gt;Napster&lt;/a&gt; happened to the &lt;a href=&quot;http://torrentfreak.com/the-pirate-bay-trial-the-verdict-090417/&quot;&gt;Pirate Bay&lt;/a&gt;, though in a new country and by a new Judge. The defendants Frederik &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;Neij&lt;/span&gt;, &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;Gottfrid&lt;/span&gt; &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;Svartholm&lt;/span&gt; &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_4&quot;&gt;Warg&lt;/span&gt;, Peter &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_5&quot;&gt;Sunde&lt;/span&gt;, and Carl &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_6&quot;&gt;Lundstrom&lt;/span&gt; were all sentenced to one year in jail each and a fine to the tune of $3,620,000 is to be paid by them to the &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_7&quot;&gt;prosecutors&lt;/span&gt;. The plaintiffs had demanded over 100 million Crowns as damages!!&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv0lQ6gCCikMZq3s0iGl7lmFzDt3vboWb67K854QP0zU-5Ut3NFn1Z-rK07Rhx8doUMfw_ZvFM1EfVSC9g0ciDu9TXdVtos47oFLIrEAIfmOB3ov_jpTAlngETIwQzevIhNZZ5L2oYjA/s1600-h/153914-pirate_flag_original.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 350px; height: 258px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv0lQ6gCCikMZq3s0iGl7lmFzDt3vboWb67K854QP0zU-5Ut3NFn1Z-rK07Rhx8doUMfw_ZvFM1EfVSC9g0ciDu9TXdVtos47oFLIrEAIfmOB3ov_jpTAlngETIwQzevIhNZZ5L2oYjA/s400/153914-pirate_flag_original.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5326299859256695602&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Now, coming back to the issue of Piracy, I really don&#39;t take sides. I am of the notion that every man who works hard has a right to his creation and sell it at a price he deems to be right. But what about the obscene amounts these entertainment industry guys charge us. Why should I pay for the 20 millions some jackass named Brad Pitt charges these studios? Or for that matter the 20 &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_8&quot;&gt;Crores&lt;/span&gt; &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_9&quot;&gt;Akshay&lt;/span&gt; &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_10&quot;&gt;Kumar&lt;/span&gt; makes for one single movie. Am I as a spectator at fault if I can&#39;t shell out the Rs 250 my local &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_11&quot;&gt;friendly&lt;/span&gt; &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_12&quot;&gt;PVR&lt;/span&gt; charges me for one show? Why won&#39;t I go for a cheaper(or &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_13&quot;&gt;shud&lt;/span&gt; I say free) version on the &lt;a href=&quot;http://www.piratebay.org/&quot;&gt;Pirate bay&lt;/a&gt;, &lt;a style=&quot;color: rgb(0, 0, 0);&quot; href=&quot;http://www.mininova.org/&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_14&quot;&gt;Mininova&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;, &lt;/span&gt;&lt;a style=&quot;color: rgb(0, 0, 0);&quot; href=&quot;http://www.demonoid.com/&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_15&quot;&gt;Demonoid&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt; or &lt;/span&gt;&lt;a style=&quot;color: rgb(0, 0, 0);&quot; href=&quot;http://www.torrentbox.com/&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_16&quot;&gt;Torrentbox&lt;/span&gt;&lt;/a&gt;? Only if the shows were at a reasonable rate like Rs 50 or perhaps lower than that I would obviously go and watch the movie on a 75 mm screen and not on my measly 17&quot; PC Screen.&lt;br /&gt;&lt;br /&gt;Lets take a hypothetical scenario : Movies are available for 1$ each for download from the net, using the same technologies. Will you then go for a pirated version? I won&#39;t!! The cost of &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_17&quot;&gt;any ones&lt;/span&gt; conscience is always more than a dollar. This is simple economics and I don&#39;t know why these guys don&#39;t understand this. Why bleed billions of Dollars to new technologies when you can actually earn millions from it? Instead of being steadfast on not lowering the prices, these studio bosses should acknowledge the advent of technologies and &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_18&quot;&gt;smartasses&lt;/span&gt; who use them (or abuse them depending on which side you are on) and understand the new demand and supply conditions. Gone are the days when you can only watch new movies in the theater or wait it to be at least 3-4 months older so that your favorite TV channel broadcasts it. With the faster than light broadband speeds the movies are passed on the net even before you can properly spell the &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_19&quot;&gt;cast&#39;s&lt;/span&gt; names.&lt;br /&gt;&lt;br /&gt;The studio bosses should go in for differential pricing, the first three days should be at a premium of not more than $10. Then after the first weekend the prices should come down to $1. They don&#39;t have to maintain any servers or the huge bandwidth required by using the P2P distribution systems. All they need to do is to give a authenticated torrent tracker file for a &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_20&quot;&gt;dollar&lt;/span&gt;. And they also save money on printing discs and transportation. I sincerely &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_21&quot;&gt;believe&lt;/span&gt; this would be a highly profitable model.&lt;br /&gt;&lt;br /&gt;And if they don&#39;t heed to it then no Pirate Bay can save them. Everyday the technology and browsing speed is increasing in scope. We will have hundreds of new sites giving away these so-called copyrighted stuff for free on the net and they can&#39;t sue everyone. Already there are &lt;a href=&quot;http://oneswarm.cs.washington.edu/index.html&quot;&gt;sites&lt;/a&gt; which promise &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_22&quot;&gt;IP&lt;/span&gt; cloaking for P2P connections. And surprise surprise... &lt;a href=&quot;http://www.piratebay.org/&quot;&gt;Pirate Bay&lt;/a&gt; is still up and running. Looks like they are not ruffled. They have safely moved their servers to Netherlands!!&lt;br /&gt;&lt;br /&gt;Someone needs to tell them to take a long hard thought at this age old saying &quot;Lets make friends and not enemies&quot;.</description><link>http://geekparitosh.blogspot.com/2009/04/pirate-bay-is-pirated.html</link><author>noreply@blogger.com (Paritosh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiv0lQ6gCCikMZq3s0iGl7lmFzDt3vboWb67K854QP0zU-5Ut3NFn1Z-rK07Rhx8doUMfw_ZvFM1EfVSC9g0ciDu9TXdVtos47oFLIrEAIfmOB3ov_jpTAlngETIwQzevIhNZZ5L2oYjA/s72-c/153914-pirate_flag_original.jpg" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-9023162788992717062</guid><pubDate>Sun, 29 Mar 2009 07:02:00 +0000</pubDate><atom:updated>2009-08-28T03:22:44.308-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hacking</category><title>How to break Win XP password?</title><description>This is one of the topics which I see frequently on any hacker community. So lets once and for all crack the SAM mystery.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is SAM?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;SAM (Security Accounts Manager) file stores all the user info and passwords of all the accounts of a computer using Windows NT family OS(Windows XP, Windows server 2003,etc.).So if you can somehow get this file you can get the passwords.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How can one find passwords from the SAM file?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There are three places where this file can be cracked from:-&lt;br /&gt;&lt;br /&gt;i) From the original file&lt;br /&gt;%systemroot%/system32/config&lt;br /&gt;This file is locked to all users during the windows is running,so that you can&#39;t open it while you are working in windows. (Find out how you can use this file....Google dear friends).&lt;br /&gt;&lt;br /&gt;ii) The system keeps a backup of this file in the&lt;br /&gt;%systemroot%/repair/sam._&lt;br /&gt;This file is available to all users at any time. So copy this file to any directory and crack the passwords using any good password cracker. I would tell you about one, not only coz its very popular but also that its free.(Find others yourselves the net has a gr8 many of them)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;John the Ripper:-&lt;/b&gt; Its a dictionary cracker and will crack almost 80% of times you use it(unless the system admin has a knack in complicating things.)&lt;br /&gt;&lt;br /&gt;iii) You can use PWDUMP to directly crack the passwords from the registry.pwdump uses .DLL injection in order to use the system account to view the password hashes stored in the registry.(Try to find out more about pwdump)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to prevent people from cracking ur SAM file?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;i) Try to avoid password which are dictionary words.&lt;br /&gt;&lt;br /&gt;ii) Try to use special characters in ur password.&lt;br /&gt;&lt;br /&gt;iii)Try to add non-printable ascii characters to your passwords.</description><link>http://geekparitosh.blogspot.com/2009/03/how-to-break-win-xp-password.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-8345006997341700553</guid><pubDate>Sun, 29 Mar 2009 06:54:00 +0000</pubDate><atom:updated>2009-08-28T03:22:52.974-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hacking</category><title>Learning the OS&#39;s</title><description>&lt;div class=&quot;para&quot;&gt; Operating Systems form the heart and soul of computer systems. They are the set of programs which run the computer and help you process the data at such an incredible speed that it almost appears magical to everyone.&lt;br /&gt;&lt;br /&gt;Now for anyone to be able to hack into any system will love to know the vulnerability of the OS running on the system. And so must you all(as u are aspiring hackers, right!). So lets start studying about OS in detail.&lt;br /&gt;&lt;br /&gt;First and foremost study all there is to study about the basics of OS. The OS&#39;s may change but the concepts remain the same more or less.&lt;br /&gt;&lt;br /&gt;Then install an earlier version of Windows(98 or 95). Now don&#39;t stare at me like that! I know that windows is BAD in terms of security, however it is a hackers heaven. You can try out all ur skills as a practice test here before venturing out. Play up with the OS, tweak the settings,registries and the codes(Did I say codes?). Try everything you can think of don&#39;t worry about crashing your system(Windows are meant to crash anyways&lt;img src=&quot;http://img4.orkut.com/img/smiley/i_bigsmile.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;). If you worry about failure then remember that failures are pillars of success (But try not to build only pillars without any hope to ever building the roof).This will give you thrill and the boost to move forward.&lt;br /&gt;&lt;br /&gt;Then go for the *nixes. Try to install all variants of linuxs that you can lay hands on (Don&#39;t worry they can be downloaded from the net free of cost). Read all the MAN pages religiously. Read all that you can find about UNIX and LINUX (including their fascinating history). Try out hands-on on all that you can on these OS.&lt;br /&gt;&lt;br /&gt;This completes the basics of hacking. Do these and remember these three E&#39;s&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Explore Experiment and Enjoy&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You will be a hacker in the true spirit of the word.&lt;br /&gt;&lt;br /&gt;Don&#39;t worry there will be more on this blog by me. Just be a little more active and post more questions. It will help us both. &lt;/div&gt;</description><link>http://geekparitosh.blogspot.com/2009/03/learning-oss.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-4908213657308614917</guid><pubDate>Sun, 29 Mar 2009 06:51:00 +0000</pubDate><atom:updated>2009-08-28T03:23:04.514-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hacking</category><title>Learn Programming !!</title><description>&lt;div class=&quot;para&quot;&gt; So guys now that we have learnt how to use the net for our benefit,lets move on to the next level.&lt;br /&gt;&lt;br /&gt;A hacker knows a number of programming languages.Those are his tools and believe me as there is a different tool for different situations, you will face situations where you find that you have to use a different programming language.&lt;br /&gt;&lt;br /&gt;So here are a few languages which you have to have to know :-&lt;br /&gt;&lt;br /&gt;&lt;b&gt;i) &lt;/b&gt;You must know web designing languages including &lt;b&gt;HTML,XHTML CSS,Javascript, vb script , mysql and php&lt;/b&gt; to learn to hack anything involving the internet. Also you may need to build a webpage where you will write about all your exploits.&lt;img src=&quot;http://img4.orkut.com/img/smiley/i_bigsmile.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt; These languages are what you will need then.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ii) &lt;/b&gt;Thoroughly learn &lt;b&gt;C&lt;/b&gt; or any of its variant(like &lt;b&gt;C#, C++&lt;/b&gt;, etc.). By thoroughly I mean that you must be pretty good with programming big projects using this language, not just the &quot;Hello World&quot; stuff.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;iii)&lt;/b&gt;Learn a scripting language like &lt;b&gt;PERL&lt;/b&gt;(this is what I know, love and recommend but who cares for my advice,EH!!) or &lt;b&gt;PYTHON&lt;/b&gt;. There are others but I don&#39;t know them and how can I recommend anything without first using it.&lt;br /&gt;&lt;br /&gt;You will get a lot of good tutorials on the net for these languages. Just go to&lt;br /&gt;&lt;a href=&quot;http://www.google.com/&quot;&gt;Google&lt;/a&gt; and search for &lt;language&gt; tutorials. A lot of them will be there choose one that suits your style.&lt;br /&gt;&lt;br /&gt;Get source codes from the net(There aren&#39;t millions of them floating there, to be frank, but you can find some good ones there). Try to analyse them and tweak them for better output. Play with the codes a lot.&lt;br /&gt;&lt;br /&gt;When you think you are ready you can get projects on the net and try to finish them to the end. You will love it when you finish them.&lt;br /&gt;&lt;br /&gt;This is the end of todays topics.&lt;br /&gt;&lt;br /&gt;Any doubts,questions,suggestions are are welcome.Feel free to express urselves guys.&lt;br /&gt;&lt;br /&gt;Happy hacking!!! &lt;/language&gt;&lt;/div&gt;</description><link>http://geekparitosh.blogspot.com/2009/03/learn-programming.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-4167187835882842195</guid><pubDate>Sun, 29 Mar 2009 06:46:00 +0000</pubDate><atom:updated>2009-08-28T03:23:11.371-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hacking</category><title>How to become a Hacker?</title><description>So now that you know what is a hacker, don&#39;t you wanna know how to become one.&lt;br /&gt;&lt;br /&gt;I will tell you this in a step by step method.&lt;br /&gt;&lt;br /&gt;Everyday (or may be in two days,at the most,if I am busy) there will be an article as to how to become a hacker. The topics will be in an increasing order of intensity and interest. So I advice you to read them chronologically.&lt;br /&gt;&lt;br /&gt;Now this topic concerns &lt;b&gt; &lt;/b&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;How to start?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is the most frustrating part.You wanna learn something and there is no one to tell you how to do it.Don&#39;t worry I will give you an hint as to how to start. This is based on how I started and how most of &quot;them&quot; start.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Learn to use the Internet&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You may have heard that the Net is a vast ocean of knowledge. But howcome you have never found it. Its because you have never ventured into deep waters. Try to do it and use a trustworthy search engine as your helmsman.&lt;br /&gt;&lt;br /&gt;I would suggest these two search engines:-&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.google.com/&quot;&gt;Google&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.altavista.com/&quot;&gt;Altavista &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Try to search every thing and look out for new and interesting things which you may have never looked at.&lt;br /&gt;&lt;br /&gt;Searching the net for a particular piece of information is like searching for a needle in a hay stack. But don&#39;t worry. There are lots of tutorials on the net as to how to search properly. Google for it(this means search for it in Google, try to learn this expression as you will find it very frequently on the various newsgroups and forums).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Join Forums, Newsgroups and Mailing lists&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You can learn best in a peer to peer arrangement. So join forums and then search out for people who you think are almost at your level of learning and start sharing with them.&lt;br /&gt;&lt;br /&gt;And remember that you are new to the community so don&#39;t blabber anything which you are not confident about(Hackers have a very good memory and they don&#39;t forgive and forget mistakes).&lt;br /&gt;&lt;br /&gt;Now, this is the end of this post. I&#39;ll back with some good post tomorrow. Till then happy hacking!!</description><link>http://geekparitosh.blogspot.com/2009/03/how-to-become-hacker.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4535583820602971283.post-7999078998754191384</guid><pubDate>Sun, 29 Mar 2009 06:25:00 +0000</pubDate><atom:updated>2009-08-28T03:23:18.963-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Hacking</category><title>Who is a Hacker?</title><description>You may have sometimes wondered &quot;Who is a Hacker?&quot;.&lt;br /&gt;&lt;div class=&quot;para&quot;&gt;&lt;br /&gt;This is a study to tell to exactly what do u mean by a hacker.&lt;br /&gt;&lt;br /&gt;Let&#39;s start with two of the most famous and trustworthy definitions ever found.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;This one is from Wikipedia (More about it later, its a story in itself) :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A hacker is a person who creates and modifies computer software and computer hardware, including computer programming, administration, and security-related items.&lt;br /&gt;&lt;br /&gt;In computer programming, a &#39;hacker&#39; is a programmer who hacks or reaches a goal by employing a series of modifications to exploit or extend existing code or resources.&lt;br /&gt;&lt;br /&gt;In computer security, a hacker is a person able to exploit a system or gain unauthorized access through skill and tactics. This usually refers to a black hat hacker. There are also white hats (ethical hackers), and grey hats.&lt;br /&gt;&lt;br /&gt;In other technical fields, hacker is extended to mean a person who makes things work beyond perceived limits through their own technical skill,such as a hardware hacker, or reality hacker.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hacker&quot;&gt;More&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;This one is from &quot;How To Become A Hacker&quot; Eric Steven Raymond (One of the best place to learn how to be a hacker) :&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;para&quot;&gt;&lt;br /&gt;There is a community, a shared culture, of expert programmers and networking wizards that traces its history back through decades to the first time-sharing minicomputers and the earliest ARPAnet experiments. The members of this culture originated the term ‘hacker’. Hackers built the Internet. Hackers made the Unix operating system what it is today. Hackers run Usenet. Hackers make the World Wide Web work. If you are part of this culture, if you have contributed to it and other people in it know who you are and call you a hacker, you&#39;re a hacker.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.catb.org/%7Eesr/faqs/hacker-howto.html&quot;&gt;More&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think this would be more than enough for you to know what is a hacker. However as every study has a conclusion I conclude by stating that a hacker is anyone who has got the zeal to pursue knowledge and has got the guts to give it all away. The best example (according to me) being &lt;a href=&quot;http://en.wikipedia.org/wiki/Linus_Torvalds&quot;&gt;Linus Torvalds&lt;/a&gt;.&lt;a href=&quot;http://en.wikipedia.org/wiki/Linus_Torvalds&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;</description><link>http://geekparitosh.blogspot.com/2009/03/you-may-have-sometimes-wondered-who-is.html</link><author>noreply@blogger.com (Paritosh)</author><thr:total>0</thr:total></item></channel></rss>