<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns: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'><id>tag:blogger.com,1999:blog-5932183700156784824</id><updated>2026-05-02T01:36:57.896+05:30</updated><category term="Google"/><category term="Linux"/><category term="RIA"/><category term="Android"/><category term="Apple"/><category term="Microsoft"/><category term="Mobile"/><category term="Windows"/><category term="Adobe"/><category term="HTML 5"/><category term="Virtualization"/><category term="XMPP"/><category term="hardware"/><category term="javaFx"/><category term="C#"/><category term="Erlang"/><category term="Facebook"/><category term="Java"/><category term="NetBeans"/><category term="Ruby on Rails"/><category term="assembly"/><category term="flex"/><category term="iPad"/><category term="Cloud Computing"/><category term="Dell"/><category term="HP"/><category term="Kenai"/><category term="Objective-c"/><category term="Oracle"/><category term="PHP"/><category term="Python"/><category term="Security"/><category term="flash"/><category term="slate"/><category term="wave"/><title type='text'>Tech Gossipz</title><subtitle type='html'>My geek voyage of technology ocean</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default?start-index=26&amp;max-results=25'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-3096962527443545639</id><published>2013-05-31T02:23:00.000+05:30</published><updated>2013-05-31T02:23:15.746+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>How to solve &quot;This destination is read-only&quot; error in Ubuntu</title><content type='html'>If you have used NTFS formatted USB sticks or External HDs you may have faced this problem. whenever you try to copy a file to that device you will get an error saying This destination is read-only. if you are familiar with Linux you might have tried copying that as the super user or run nautilus as super user and then copy that file or try to change the permissions. whatever it is you may or may not succeed.&lt;br /&gt;
&lt;br /&gt;
So, i will suggest you a more simpler method to solve that problem. for that you need to have super user privileges and internet connection to download two small packages. first open the terminal and then type this&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;sudo apt-get install&lt;span style=&quot;line-height: 19px;&quot;&gt;&amp;nbsp;ntfs-3g&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
so, it will install ntfs-3g if it&#39;s not there on your system. then you have to install ntfs-config to do that type this&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
sudo apt-get install ntfs-config&amp;nbsp;&lt;/blockquote&gt;
after doing this simply run ntfs-config in your terminal as the super user.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjivuI4lwio5mfB2Kl3ofwRE2kSVEVHzDePZ28TrEaKK5guB01SjfkuehXBwx2unzHXkJ2y9dk1z_hm0F3DXCwzlG6Rmrk21j2GUithtmig6Fuptl3hAJPXqKqTwrBZQCwq5zHYzTROmxk/s1600/ss.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;211&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjivuI4lwio5mfB2Kl3ofwRE2kSVEVHzDePZ28TrEaKK5guB01SjfkuehXBwx2unzHXkJ2y9dk1z_hm0F3DXCwzlG6Rmrk21j2GUithtmig6Fuptl3hAJPXqKqTwrBZQCwq5zHYzTROmxk/s320/ss.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
with this GUI anyone can enable the write support for the NTFS devices. also if you are an experience linux user you can edit /etc/fstab and achieve the same results.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
/Kesh.&lt;/div&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/3096962527443545639'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/3096962527443545639'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2013/05/how-to-solve-this-destination-is-read.html' title='How to solve &quot;This destination is read-only&quot; error in Ubuntu'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjivuI4lwio5mfB2Kl3ofwRE2kSVEVHzDePZ28TrEaKK5guB01SjfkuehXBwx2unzHXkJ2y9dk1z_hm0F3DXCwzlG6Rmrk21j2GUithtmig6Fuptl3hAJPXqKqTwrBZQCwq5zHYzTROmxk/s72-c/ss.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-1443026262977777093</id><published>2011-05-08T00:34:00.000+05:30</published><updated>2012-03-02T00:27:25.541+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><title type='text'>Executing external files from a Netbeans plugin</title><content type='html'>As developers we are familiar with lot of IDEs among them Netbeans is one of the most popular IDE in the world. it is an open source platform and have a pluggable architecture where developers can extend the features of the IDE by adding plugins. the purpose of this article is not to tell how to write Netbeans plugin this will tell you how to call an external batch file exe or if you use Linux how to call a linux command from a plugin.&lt;br /&gt;
&lt;br /&gt;
first create a Netbeans Modules project&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM4nGwlOA6eNbIaD5CoG-b2SeLrbjJoRoMpfSVxuaigDzaTdPjH3Bdej-jZdUYUdv7x8Nagf5F1OkfZmeOXRXBabZMPm0hNM4bZvynm3Kcw1sFy57hRlfLh5ecKBi-_QAmHQRKk23bEPA/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM4nGwlOA6eNbIaD5CoG-b2SeLrbjJoRoMpfSVxuaigDzaTdPjH3Bdej-jZdUYUdv7x8Nagf5F1OkfZmeOXRXBabZMPm0hNM4bZvynm3Kcw1sFy57hRlfLh5ecKBi-_QAmHQRKk23bEPA/s400/Capture.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;then right click on the project and select new and Action. that will create an Action for you. then right click on the project and select properties and select Libraries&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiktKyrwx9GXBmPYnBudKD3mEvtdxPF9Wtx2BL3McSJpqzj8go-f7h5Uuec7EYXCTRFecf-vhgqaX3JYfD6Vhyphenhyphen7WloipTu7ulgeKVlrTJdZhKC288G-e3SxA7FnStVQOimEW9fubOJUYnA/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiktKyrwx9GXBmPYnBudKD3mEvtdxPF9Wtx2BL3McSJpqzj8go-f7h5Uuec7EYXCTRFecf-vhgqaX3JYfD6Vhyphenhyphen7WloipTu7ulgeKVlrTJdZhKC288G-e3SxA7FnStVQOimEW9fubOJUYnA/s400/Capture.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
then choose the Add option. tick the Show Non-API Modules option&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnaIO9pYIs0MRtHxwNrPQVgZ-ABMt_2w0lCLNO8MNgcrpSieJfjlRmbDqq9u_aXA9ycbpc63XiLQj2_n_57P9Af9NsrNItBLhksuUUanqTAmofTVI-zHqZEwDIQo8V3XDTbAXaye3066A/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnaIO9pYIs0MRtHxwNrPQVgZ-ABMt_2w0lCLNO8MNgcrpSieJfjlRmbDqq9u_aXA9ycbpc63XiLQj2_n_57P9Af9NsrNItBLhksuUUanqTAmofTVI-zHqZEwDIQo8V3XDTbAXaye3066A/s1600/Capture.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
press ok..&lt;br /&gt;
add the folliwing import statements.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import org.netbeans.api.extexecution.ExecutionDescriptor;
import org.netbeans.api.extexecution.ExecutionService;
&lt;/pre&gt;
&lt;br /&gt;
and add this method into the source code :&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;java&quot; name=&quot;code&quot;&gt;&amp;nbsp; &amp;nbsp; public Integer execute() throws InterruptedException, ExecutionException {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Callable&lt;process&gt; processCallable = new Callable&lt;process&gt;() {

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Process call() throws IOException {
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return new ProcessBuilder(&quot;/bin/ls&quot;).start();
&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; ExecutionDescriptor descriptor = new ExecutionDescriptor().frontWindow(true).controllable(true);

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ExecutionService service = ExecutionService.newService(processCallable,
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; descriptor, &quot;ls command&quot;);

&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Future&lt;integer&gt; task = service.run();&lt;/integer&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return task.get();
&amp;nbsp; &amp;nbsp; }
&lt;/pre&gt;
and then call this execute() method from the actionPerformed() method in the Action class.&lt;br /&gt;
here i am running ls command in linux but you can use any other external program by giving its path.</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/1443026262977777093'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/1443026262977777093'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2011/05/executing-external-files-from-netbeans.html' title='Executing external files from a Netbeans plugin'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM4nGwlOA6eNbIaD5CoG-b2SeLrbjJoRoMpfSVxuaigDzaTdPjH3Bdej-jZdUYUdv7x8Nagf5F1OkfZmeOXRXBabZMPm0hNM4bZvynm3Kcw1sFy57hRlfLh5ecKBi-_QAmHQRKk23bEPA/s72-c/Capture.PNG" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-2258424934913909940</id><published>2011-01-21T19:50:00.003+05:30</published><updated>2011-01-21T19:56:00.865+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Objective-c"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Learn Objective-C on Windows</title><content type='html'>In todays world there are loads of Operating systems exists, among them Mac OS easily one of the most eye candy and lovely OS most people want to use but for some reasons most people doesn’t own a Mac. As programmers we all love to program for iPhone I don’t know why but people love to. so how can they develop applications for iPhones basically in Objective-C without an Apple Mac. the simple answer is Hackintosh but there are lot of other alternatives as well I will explain few of them in a later post but today I am going to explain how to learn Objective-C on a Windows machine. recently I installed Mac OS X on my machine but still I use Windows and Linux most of the time. So if there is way for you to at least learn objective-C on Windows that would be really helpful.&lt;br /&gt;
in order to compile Objective-C on Windows we need to install following package which is called &lt;a href=&quot;http://www.gnustep.org/&quot;&gt;GNUstep&lt;/a&gt; if you are a Windows user go to &lt;a href=&quot;http://www.gnustep.org/experience/Windows.html&quot;&gt;this link and download&lt;/a&gt; and install at least the first three packages.&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcgHMFaQJlUqP7uo6j5I2W1c5mZGnjljobnen31XLL_8HjZ2z3iJIJ8oE4SdIdnJkGJ5pnM-yRg-gb9S_Aj5buOrY1VzAGGkBc0CZsr8rNY3ckLynRcs2EUlYiBMXFPLKtkdcQssF4_NA/s1600-h/Capture3%5B11%5D.png&quot;&gt;&lt;img alt=&quot;Capture3&quot; border=&quot;0&quot; height=&quot;164&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9cO9QiAI2KXzT7S1A9DaD2ZqIbAAmwEEmEKtmLzQdJOOVQzuWL5oM5cW0DPy_tfzfZBF6ls61hDkgc0Yj1df5hsstfCtgMT5NwqNnBVDC0bOnJ6P4PyonSx3VqRaMwEC-TpgvZcES9VY/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Capture3&quot; width=&quot;417&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
then go to start –&amp;gt; all programs –&amp;gt; GNUstep –&amp;gt; shell&lt;br /&gt;
it is a Unix like terminal where you can issue some unix terminal commands. Then open your favorite text editor in my case I am using &lt;a href=&quot;http://www.vim.org/&quot;&gt;Vim&lt;/a&gt; by just typing vim and enter on the shell I opened up earlier but you can use Notepad++ or any other appropriate text editor.&lt;br /&gt;
&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;#import &amp;lt;stdio.h&amp;gt;

int main( int argc, const char *argv[] ) {
printf( &quot;hello world\n&quot; );
return 0;
}&lt;/pre&gt;&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp0BSSC25oF0u-BCdJVwd_uMelfC1Lup5DsD0DEW0perenqWHuumk7GNzs5GJn26E1LCzKQFI72Rc6veeuFenzMeVgmtDuWcylpR12NDut_Y8z2dbsoRpyyj3Qk5CdSqLqpQi40l7plTk/s1600-h/Capture4%5B19%5D.png&quot;&gt;&lt;img alt=&quot;Capture4&quot; border=&quot;0&quot; height=&quot;315&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6Az6DgYCfNcyJ0HX4LP02y7-K0dWoASp2BkaB8OuWkP4n1DC8cbYavUdkeTJ7jiWFE-K1B3RaDYKvv-tX0Sra_9lrotAZygLiUu2h4gGycPT9L-l1D1pZFA-tuZKUEODUhxdQe5ZrBy4/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Capture4&quot; width=&quot;524&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
and save it as hello.m remember to save it in the home folder as GNUstep installed if you’d have used vim there won’t be any problem but if you used any other text editor don’t forget to save it in there in my case the path is : C:\GNUstep\home\Keshan so yours might look similar to this. Then in the terminal type :&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;gcc `gnustep-config –objc-flags` –L /GNUstep/System/Library/Libraries hello.m –lgnustep-base –lobjc&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdFOiNB98xQt4w0huyK5DWNzz802e_lobBrY_FdzvTSD9g-4bWgD6LAo-YjN3xwM0us80y0KrczOitzqFeJ2s47HBLUpcGipr0UuA2cXUBmaDXPcHiyJ78ElkQzb2ywsP1gPStSvvjZ34/s1600-h/Capture1%5B6%5D.png&quot;&gt;&lt;img alt=&quot;Capture1&quot; border=&quot;0&quot; height=&quot;317&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsfxkYhzcf9yWsgu9j_IMtqsN7mpd1Yun9cLFndREOTaKieBOWu8X4oowt8YqZ7ZMLj_Cl_ClruWswPhXCMp79UYUG3LM3X3Xuy10Lf_DxhZymZZD6e3SoHBjtW2Gu6VpAliypwVJQxV0/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Capture1&quot; width=&quot;528&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
and then to run simply type ./a&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihQYQ4aPSMHDhSL9Mk_IM-QcUWd2WgIhwxvhjc5lKRCyBU87_WxNRgDV5xUfbiaYTYkMgBfLmX0Qu3YNA5FzB0fcq4mB_5h9OzHG56Kz3as2xapGSCJgGXfTh8D332Eu4rSfZBz5BVTuk/s1600-h/Capture2%5B8%5D.png&quot;&gt;&lt;img alt=&quot;Capture2&quot; border=&quot;0&quot; height=&quot;322&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh02t15VA3KCX7Gp4IDdWlZA8vf3a-SxqK9MZzUJSaHQ-uLE-tKcTMz0imhO8cyDn9u3WFGt8XIX1BCEmUdOLRWWC9l-Yyo6z7snRPvDVDaUP7QvQI-N7gxBFcTKDww7q56JsIWRqhuMLU/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Capture2&quot; width=&quot;531&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
so this is a basic hello world program but Objective-C is bit different this is simply a C like program actually Objective-C is an extended version of C you can find loads of tutorial about Objective-C and try them out on Windows with this cool package. here is the same code run on Mac OS X&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGf-YvdINm3kAraKD7Z_iQSNXO5EeAYv5xvX_keBGBb7UvFpY6eLLJw9jr4fmXqpv8M37GHSfVexBstkOyFv_Ft8tNc07qL1-tEA_zEHvPkhZsLTKrjqVLM2G4QcEwqZKtaJR5-8sl1uI/s1600-h/Capture5%5B10%5D.png&quot;&gt;&lt;img alt=&quot;Capture5&quot; border=&quot;0&quot; height=&quot;423&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6HEurEnYHcuUP9NAgapoQmXMdXfvpcR-Xzsr4QSTb4eJ2hyphenhyphenX_nYoxq8IRmi1OhcL2zXkhSMLtCtcrJXhrHmF4WGivRdbyJRxeO8FPirF6N2D2omxnA9ba41ww2w5_X4i9Nywbznwptdg/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Capture5&quot; width=&quot;544&quot; /&gt;&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/2258424934913909940'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/2258424934913909940'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2011/01/learn-objective-c-on-windows.html' title='Learn Objective-C on Windows'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9cO9QiAI2KXzT7S1A9DaD2ZqIbAAmwEEmEKtmLzQdJOOVQzuWL5oM5cW0DPy_tfzfZBF6ls61hDkgc0Yj1df5hsstfCtgMT5NwqNnBVDC0bOnJ6P4PyonSx3VqRaMwEC-TpgvZcES9VY/s72-c?imgmax=800" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-4362888267536206584</id><published>2010-12-27T17:54:00.003+05:30</published><updated>2010-12-27T18:00:07.829+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="assembly"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>Assembly Debugger</title><content type='html'>For quite a some time I fell in love with Assembly programming language and now it is my favorite language. it is powerful easy and with assembly I get to know lot about computer architecture and the internal work very well. I am currently doing a project as a hobby implementing thumb and fore finger interface algorithm in assembly and writing a multi touch mouse driver in assembly but last few weeks and until the end of January I don’t have much time to deal with my loving language because of some hectic web projects and university exams.&lt;br /&gt;
so today for those who like assembly I will explain how to use assembly debugger if you are a newbie you will need this. this is one of the things I learnt in order to get familiar with assembly.in fact you already know the command prompt. so with windows you can use this debug tool debug.exe which installed with windows without doing any downloads or installings. open a windows command prompt and type debug. then type a100 and press enter&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7S0_iSBnsG7pvV3OnZuusNmBhwsrJ-CsYmfbcrhBNNaA0f6dvx5WFTlrD46YmjL5XlfzCfbxaQMzJXCkl8F06t4MifNv2UOnAWzVdOopV16f89f98t9P8gBoeziV6MVuHIEJcKE2XWiI/s1600-h/Untitled%5B18%5D.png&quot;&gt;&lt;img alt=&quot;Untitled&quot; border=&quot;0&quot; height=&quot;254&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiioj32U-5SwbUVzsGdSHnqEdWlS3HaVabuX5KdtFMCjznxOabm-_dIc-O40Dhh-mZhm2jhWbGdWkVNtNkUfQqI0LpEfVP-jLeJvWOo8Uywo9gDvurQA2S4c4BXSrECw8FC-36dvbJmSqQ/?imgmax=800&quot; style=&quot;background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Untitled&quot; width=&quot;535&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
here “a”(assemble) is a command and 141A:0100 is the memory location that we are going to enter our code in fact 141A is the segment and 0100 is the memory location inside the segment. you may get a different segment.. now insert this code :&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;mov ax,0001
mov bx,0010 
add ax,bx 
int 20 &lt;/pre&gt;&lt;br /&gt;
after entering the above code press enter twice to tell the debugger that you have entered the code.this code is simply add two numbers. if you want to see what are the values inside all the registries when executing each instruction use “t” command. as you can see here after the execution the accumulator (AX) has 0011 value. in order to see the value of a given registry use “r” command with the register.&amp;nbsp; &lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJF44KcEZIPVjdwWOO6TcsUuDHs05-2ZTih5z46emCMdYZzRwGb3rPsVAJX6OiTO4j1YmlZcXRdxJODr3SktN5mBRtzj1vqCSDLCp5itE1tL5E-VC8Tk4tgPxCjgv5EApJFpOj_hlEGjI/s1600-h/Untitled%5B31%5D.png&quot;&gt;&lt;img alt=&quot;Untitled&quot; border=&quot;0&quot; height=&quot;512&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7-L09gFjLrWvvJkMeqFPH5Qe1cQacMTEh2F2QahzfSaNRMWLZi85e7zT0dRlfeOerVTqMGP0aUGCt6IeHP6zzkU6G7jCujVkX2ls660O7rdmO8oqjmlTofUa1UEl0fgzolR1D-xbhwQo/?imgmax=800&quot; style=&quot;background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; title=&quot;Untitled&quot; width=&quot;512&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
to run a program use “g” command and to go out from debugger use “q” command.&lt;br /&gt;
there are some more commands associated with debugger but I think this is enough to get started for any problem don’t hesitate to comment below..&lt;br /&gt;
cheers !!&lt;br /&gt;
Kesh….</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/4362888267536206584'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/4362888267536206584'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/12/assembly-debugger.html' title='Assembly Debugger'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiioj32U-5SwbUVzsGdSHnqEdWlS3HaVabuX5KdtFMCjznxOabm-_dIc-O40Dhh-mZhm2jhWbGdWkVNtNkUfQqI0LpEfVP-jLeJvWOo8Uywo9gDvurQA2S4c4BXSrECw8FC-36dvbJmSqQ/s72-c?imgmax=800" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-2331538913570336227</id><published>2010-12-22T22:50:00.000+05:30</published><updated>2010-12-22T22:50:37.288+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtualization"/><title type='text'>Run Android Froyo in your VirtualBox</title><content type='html'>Sometime ago i wrote &lt;a href=&quot;http://techgossipz.blogspot.com/2010/02/experience-android-on-virtualbox.html&quot;&gt;how to use Android with VirtualBox&lt;/a&gt;. Now it seems lot of people wants to experience Android Froyo on VirtualBox. in this article i will show how to use &lt;a href=&quot;http://www.android-x86.org/&quot;&gt;Android-x86 project&lt;/a&gt;&amp;nbsp;and run Android Froyo.&lt;br /&gt;
&lt;br /&gt;
first download the &lt;a href=&quot;http://android-x86.googlecode.com/files/froyo-vm-20100812.iso&quot;&gt;Android Froyo iso&lt;/a&gt;&amp;nbsp;or you can visit the &lt;a href=&quot;http://www.android-x86.org/download&quot;&gt;download page&lt;/a&gt; and select an iso or img file yourself. Now you can use this CD image in two ways.&lt;br /&gt;
1. with VirtualBox&lt;br /&gt;
2. as a bootable USB&lt;br /&gt;
first i will explain how to use it with VirtualBox.&lt;br /&gt;
if you don&#39;t have VirtualBox installed &lt;a href=&quot;http://www.virtualbox.org/wiki/Downloads&quot;&gt;download&lt;/a&gt; and install it. then run it and create a new instance.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifwyr07PLIDDmbtDeDnd26707FmyWrrX8Bvf_4QJQyAgYKtJEzraugN4CPe1i_2LzFnf2I5w_Th7YItM70YGlZeAEAmG9II2CqtbjxJWO6wmOXXAJsVdMa2J3-_CxoCZUblxc2M_z6Yyc/s1600/Capture1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifwyr07PLIDDmbtDeDnd26707FmyWrrX8Bvf_4QJQyAgYKtJEzraugN4CPe1i_2LzFnf2I5w_Th7YItM70YGlZeAEAmG9II2CqtbjxJWO6wmOXXAJsVdMa2J3-_CxoCZUblxc2M_z6Yyc/s400/Capture1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEyHFyCkwTJoo5Npx9sGSPEr4F_w6vynRx9FjgaaM6yWV71nI8Auw1kgZbEXxC_QYygtsnUczCkVzl1nUvcglFKxBGiO6lzOv5Sg9F1Dad-qQhwrwvwXgBnKyMXTz-l_eH27r9y5YUMIU/s1600/Capture2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEyHFyCkwTJoo5Npx9sGSPEr4F_w6vynRx9FjgaaM6yWV71nI8Auw1kgZbEXxC_QYygtsnUczCkVzl1nUvcglFKxBGiO6lzOv5Sg9F1Dad-qQhwrwvwXgBnKyMXTz-l_eH27r9y5YUMIU/s400/Capture2.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit7ZOCclcp7vYQ56Ka21wUwedckWlm4jNA-gwgyQGv6a0vt_vfOSZjVPDiCFg7eYr0VQOlAaAfceeQdc_X7cXdml8sqORP5ZUPczoVup-GlUY6rYoKK2wDTQDbugKs5K_dRjICLC70LLM/s1600/Capture3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;278&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit7ZOCclcp7vYQ56Ka21wUwedckWlm4jNA-gwgyQGv6a0vt_vfOSZjVPDiCFg7eYr0VQOlAaAfceeQdc_X7cXdml8sqORP5ZUPczoVup-GlUY6rYoKK2wDTQDbugKs5K_dRjICLC70LLM/s400/Capture3.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;likewise clicking next will create a new instance.&lt;br /&gt;
&lt;br /&gt;
then double click on Android-x86 and start the instance.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq8y3igqgJlnzHAxMBc6ZuDOtJIFbPNs3ORMKXBghMLK3aOV_wRAMve39F1yArW-AMlkNf-YTfTOY6g7yta8Mej_C1MD0zuu7PX3eICDCSAFSdgHzoZgFG3FW7t1PwZLoOg7ywAWvMdIM/s1600/Capture1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;342&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq8y3igqgJlnzHAxMBc6ZuDOtJIFbPNs3ORMKXBghMLK3aOV_wRAMve39F1yArW-AMlkNf-YTfTOY6g7yta8Mej_C1MD0zuu7PX3eICDCSAFSdgHzoZgFG3FW7t1PwZLoOg7ywAWvMdIM/s400/Capture1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;and then click on the place where i have circled&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguaQdEEgU_keQnm18dvdRge8Biz-qlT1jc2O7mHfOSONqUELVSXYCzCnSBn5zNoo0tWqllIZQ9OazooGpLM4OMFbnZpl1UxjF9Fc5K401TINt4K_JsREsPduKfzDvQs6tOWQ-j5Uk2uck/s1600/Capture2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;261&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguaQdEEgU_keQnm18dvdRge8Biz-qlT1jc2O7mHfOSONqUELVSXYCzCnSBn5zNoo0tWqllIZQ9OazooGpLM4OMFbnZpl1UxjF9Fc5K401TINt4K_JsREsPduKfzDvQs6tOWQ-j5Uk2uck/s400/Capture2.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;next thing add the downloaded ISO and attach it&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA7uEk1LUZLdktYm-MQ2IV2JDL7u08vgFRHnHP0qGLJj4ErExyR9muzzjlw46OTiRd1VuvAGr9tCxXQWrqfY11m53qDr4i2tRJUcAx-14ot1PBmciHlCCjX5zeCOtJjruUdV1fNU3Yuxk/s1600/Capture3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;313&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiA7uEk1LUZLdktYm-MQ2IV2JDL7u08vgFRHnHP0qGLJj4ErExyR9muzzjlw46OTiRd1VuvAGr9tCxXQWrqfY11m53qDr4i2tRJUcAx-14ot1PBmciHlCCjX5zeCOtJjruUdV1fNU3Yuxk/s400/Capture3.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;
right. after finishing it you can use Android !!&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4jt0yxcRTV1g9KD2g45wt6x5tSZa0DUKj5rXXl_y0A-GDnXH6pK3JRJ5RlNftM6Kqf03soM9KDzOcJq_qNkZEXcVCHBLAqAX6PNbGWYN5iPWe0NlIVi8qD4w0TGBzJuZIEcIiWsYZexU/s1600/Capture1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;342&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4jt0yxcRTV1g9KD2g45wt6x5tSZa0DUKj5rXXl_y0A-GDnXH6pK3JRJ5RlNftM6Kqf03soM9KDzOcJq_qNkZEXcVCHBLAqAX6PNbGWYN5iPWe0NlIVi8qD4w0TGBzJuZIEcIiWsYZexU/s400/Capture1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;select Live CD or if you want to install it to your virtual hard disk select installation.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEG4PEGwtLRNXqK_2kFmntR5rF7SjMmsyaIsr9BxlsvKouaigmhsvL9JO84QPUFhVX5ScSpIyWsV8CEQnfLZp5qWhedDSaqQntdBAvvFebMzZqeM5WycJvstTB7QbbJJkz9xwZASRBVSI/s1600/Capture3.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;333&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEG4PEGwtLRNXqK_2kFmntR5rF7SjMmsyaIsr9BxlsvKouaigmhsvL9JO84QPUFhVX5ScSpIyWsV8CEQnfLZp5qWhedDSaqQntdBAvvFebMzZqeM5WycJvstTB7QbbJJkz9xwZASRBVSI/s400/Capture3.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;if you experience that you can&#39;t use your mouse inside Android(use mouse and there are keyboard instructions as well like escape for going on step back) go to Machine and Disable Mouse Integration. or press Host(normally the right control key + I) once your mouse is captured press right control to come back to host operating system&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigrtF3g9tYEGU5yRDrcW6OTUmv59q7XP95Zh-e_Z5E2SD1XCoSDQVCSpjGODRHyLsbQe3zl0arwLrXhtMQzW8q8BC24aZdrzJyMICge6SyXMwaJFMRqtFPmIsNBZHKgau9OiWPZVBT-bg/s1600/Untitled.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;351&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigrtF3g9tYEGU5yRDrcW6OTUmv59q7XP95Zh-e_Z5E2SD1XCoSDQVCSpjGODRHyLsbQe3zl0arwLrXhtMQzW8q8BC24aZdrzJyMICge6SyXMwaJFMRqtFPmIsNBZHKgau9OiWPZVBT-bg/s400/Untitled.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigy_ow3cLCsghmN1r_DwdrE-gAC0WOgWjt9huHJkpOM7g8LswlZ8rpaJes0fGh_rU6rjRU0MMlOMtcPA8z7EZ4sok9iGwuAVl91RtZxxqHbr_ojHst42cP8a4lIIbl57vPQQ9hV-4VEzo/s1600/Capture2.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;333&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigy_ow3cLCsghmN1r_DwdrE-gAC0WOgWjt9huHJkpOM7g8LswlZ8rpaJes0fGh_rU6rjRU0MMlOMtcPA8z7EZ4sok9iGwuAVl91RtZxxqHbr_ojHst42cP8a4lIIbl57vPQQ9hV-4VEzo/s400/Capture2.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMtoR3tXy7aSwAPcF3gRi4TElQP7n0vpiOwZ1wPccsAqy7NzzxOV3S0euZ8b0gO7eukgpl1GtB70Ozir7jWbYy38eXU1p8p8pap4T7evJU4Lo66Z06hKNBUDoKk0VSRgnd7mMtpuX668/s1600/Capture1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;333&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUMtoR3tXy7aSwAPcF3gRi4TElQP7n0vpiOwZ1wPccsAqy7NzzxOV3S0euZ8b0gO7eukgpl1GtB70Ozir7jWbYy38eXU1p8p8pap4T7evJU4Lo66Z06hKNBUDoKk0VSRgnd7mMtpuX668/s400/Capture1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
it is up to you to explore Android with VirtualBox&lt;br /&gt;
&lt;br /&gt;
as i told earlier the second way is to make a bootable USB with this ISO to do it first download &lt;a href=&quot;http://unetbootin.sourceforge.net/&quot;&gt;UnetBootin&lt;/a&gt;&amp;nbsp;and run it.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX1B8lWvpttIRB4g_dqZhruEA63ycGrZdGICdG_tCT8vq2ob_vQKx7wpJjY-Jz1vQanBfv_Mrnvr0l2RoirdFkfpk0FuQ9BmXnuRa5JpZK3DplZrHA3Mwt6-k4Ir9p6ljBvTa-pLfrN1Q/s1600/Capture1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;291&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX1B8lWvpttIRB4g_dqZhruEA63ycGrZdGICdG_tCT8vq2ob_vQKx7wpJjY-Jz1vQanBfv_Mrnvr0l2RoirdFkfpk0FuQ9BmXnuRa5JpZK3DplZrHA3Mwt6-k4Ir9p6ljBvTa-pLfrN1Q/s400/Capture1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Select Diskimage and browse and open the iso file then check whether you have an USB in the given drive and click ok it will take sometime and create a bootable USB. so you can boot your computer with that USB and use Android as a Live CD or install it to hard disk....&lt;br /&gt;
&lt;br /&gt;
Cheers !!&lt;br /&gt;
Kesh</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/2331538913570336227'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/2331538913570336227'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/12/run-android-froyo-in-your-virtualbox.html' title='Run Android Froyo in your VirtualBox'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifwyr07PLIDDmbtDeDnd26707FmyWrrX8Bvf_4QJQyAgYKtJEzraugN4CPe1i_2LzFnf2I5w_Th7YItM70YGlZeAEAmG9II2CqtbjxJWO6wmOXXAJsVdMa2J3-_CxoCZUblxc2M_z6Yyc/s72-c/Capture1.PNG" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-6329138406918344225</id><published>2010-12-16T23:12:00.000+05:30</published><updated>2010-12-16T23:12:59.288+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="assembly"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows"/><title type='text'>An introduction to Assembly language</title><content type='html'>These days i don&#39;t have much time to get involve in C/C++, assembly and my loving researches on Computer vision things because i have to complete projects and assignments and also prepare for the last examination of my bachelors degree. however today i did some experiments with assembly by writing a simple media player and a email sending(kind of a keylogger though ;) ) application and i found a new IDE(new for me but it is not a new IDE :) ) for assembly. so i will explain how to configure that IDE first. remember i am not going to start a tutorial series in assembly but i hope to tell how to write some few simple applications in assembly.(not today :) because i have to complete my part of the group project)&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;first of all &lt;a href=&quot;http://www.winasm.net/index.php?ind=downloads&amp;amp;op=download_file&amp;amp;ide=182&amp;amp;file=WinAsm515Full.zip&quot;&gt;download this zip file&lt;/a&gt;&amp;nbsp;and unzip it into a desired location. then you have to &lt;a href=&quot;http://www.masm32.com/masmdl.htm&quot;&gt;download MASM32&lt;/a&gt; because it&#39;s not coming with WinAsm.&lt;/li&gt;
&lt;li&gt;install MASM32 (for an example to C:\masm32)&lt;/li&gt;
&lt;li&gt;go to unzipped WinAsm folder double click and run WinAsm.exe&lt;/li&gt;
&lt;li&gt;before writing any application for the first time you have to set some variables&lt;/li&gt;
&lt;li&gt;go to tools -&amp;gt; Options you will get something like this&lt;/li&gt;
&lt;/ol&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq-i6My_njFJnb6DUmdySrTsSfPZ6jPJnzGjCwBlmfV5B1PSGBYC79KTyCMh4tbxqA8fAXHMVfX6sivcUF6grLOL_tW5zS2d6w2CJS-zLMjo9yP5IPu_IixXTHHsgU-GxCUCZayhxtC9s/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq-i6My_njFJnb6DUmdySrTsSfPZ6jPJnzGjCwBlmfV5B1PSGBYC79KTyCMh4tbxqA8fAXHMVfX6sivcUF6grLOL_tW5zS2d6w2CJS-zLMjo9yP5IPu_IixXTHHsgU-GxCUCZayhxtC9s/s1600/Capture.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;6. then select Files &amp;amp; Path tab&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsVHMVmUFBDkLtHyTSBw8IOTOWy1QkGvwpjq0Re5hov9_jE6h8_db7zQGM0NR-ssiNdDXFYWCPlJ2Nvq-X61egZkcOj0nQn7YRAeXrgHbYWsyWhuwL-UVS0SNC-Y_ljUWqKB0VC2GQYKw/s1600/Capture.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsVHMVmUFBDkLtHyTSBw8IOTOWy1QkGvwpjq0Re5hov9_jE6h8_db7zQGM0NR-ssiNdDXFYWCPlJ2Nvq-X61egZkcOj0nQn7YRAeXrgHbYWsyWhuwL-UVS0SNC-Y_ljUWqKB0VC2GQYKw/s1600/Capture.PNG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;7. &amp;nbsp;edit the path variables as you installed then and then press ok...&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;right now you are done. so if you have some sort of a knowledge in assembly you can start coding. or i will give you a simple assembly code to test the IDE&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;go to file -&amp;gt; New project and create a standard EXE project. then simply copy and paste the below code :&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;Csharp&quot; name=&quot;code&quot;&gt;.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.data
MsgBoxCaption    db &quot;Keshan&#39;s Tech Gossipz&quot;,0
MsgBoxText     db &quot;I love Win32 Assembly !&quot;,0

.code
start:
invoke MessageBox, NULL, addr MsgBoxText, addr MsgBoxCaption, MB_OK
invoke ExitProcess, NULL
end start
&lt;/pre&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;now go to Make -&amp;gt; Go All. this program will show a dialog box !! &amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;cheers !&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Kesh&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/6329138406918344225'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/6329138406918344225'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/12/introduction-to-assembly-language.html' title='An introduction to Assembly language'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq-i6My_njFJnb6DUmdySrTsSfPZ6jPJnzGjCwBlmfV5B1PSGBYC79KTyCMh4tbxqA8fAXHMVfX6sivcUF6grLOL_tW5zS2d6w2CJS-zLMjo9yP5IPu_IixXTHHsgU-GxCUCZayhxtC9s/s72-c/Capture.PNG" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-3623784753982552170</id><published>2010-12-15T00:05:00.000+05:30</published><updated>2010-12-15T00:05:47.589+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Security"/><title type='text'>The ugly truth of web security</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUkBvmAX5FusvSphM1gMUbcIMwxj9BdPquUPxMrr8j6v3KavCqpphZ80V1CM9NcUY1klfY5UUahuhk_Fw5Qeth0eulTcy2yUABi_jVZcglM3IqGaShEJLsR3zGKylDgnHMwxcOxEswnu4/s1600/web-security.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUkBvmAX5FusvSphM1gMUbcIMwxj9BdPquUPxMrr8j6v3KavCqpphZ80V1CM9NcUY1klfY5UUahuhk_Fw5Qeth0eulTcy2yUABi_jVZcglM3IqGaShEJLsR3zGKylDgnHMwxcOxEswnu4/s320/web-security.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Last few weeks as we all aware there were lot of interesting things happened in the cyber world. Wikileaks, 4chans, Gnosis, LOIC, DDoS are some of the keywords today. couple of days ago a reputed web media company called &lt;a href=&quot;http://gawker.com/&quot;&gt;Gawker media&lt;/a&gt;&amp;nbsp;was hacked by a gang known as Gnosis. they didn&#39;t stop only by hacking the site but they dump 1.3 million data from Gawker database which includes username passwords the future changes of Gawker site source codes and upload it as a torrent file (i however found that torrent file and downloaded the content :D )&amp;nbsp;so, if you are using a account to comment on sites like &lt;a href=&quot;http://gizmodo.com/&quot;&gt;Gizmodo&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://lifehacker.com/&quot;&gt;lifehacker&lt;/a&gt;&amp;nbsp;then you account is most probably been hacked ! and the worst case is if you are using the same password for every site in the web then you are in a huge trouble.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things i noticed in hacked files&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;when i go through the downloaded files i noticed there are thousands of people using &quot;password&quot;, &quot;password1&quot; without quotations as their password there were few common passwords like &quot;password&quot;, &quot;qwerty&quot;, &quot;qwerty12&quot;. not only the normal Gawker users the people who are in administrative positions had very weak passwords. so, as users people should be more careful when choosing a correct password.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things web developers should learn&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
here the hackers exploited a vulnerability in the CMS and took control of everything. there were lot of things that Gawker media web development team has done wrong.&lt;br /&gt;
they have saved the password not the &lt;a href=&quot;http://en.wikipedia.org/wiki/Salt_(cryptography)&quot;&gt;salted hash&lt;/a&gt; !!!! you must NOT do it. instead you should save the salted hash.&lt;br /&gt;
why didn&#39;t they use a mechanism like openID or Facebook connect. then the attackers cannot get the users passwords.&lt;br /&gt;
and the other main thing as the attackers mentioned in a readme file :&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;Gawker uses a really outdated hashing algorithm known as DES (Data Encryption Standard)&amp;nbsp;Because DES has a maximum of 8chars using a password like &quot;abcdefgh1234&quot; only the&amp;nbsp;first 8 characters &quot;abcdefgh&quot; are encrypted and stored in the database. If your&amp;nbsp;password is longer than 8 characters you only need to enter the first 8 characters&amp;nbsp;to log in!&lt;br /&gt;
&lt;br /&gt;
YA DONT SAY!! :D?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Because of this we were only able to recover the first 8 characters of someones password!&amp;nbsp;If the password is 8 characters long there&#39;s a good chance that it migt be longer&amp;nbsp;than 8 characters! But still, there&#39;s 1000&#39;s of people using 1 - 8 character passwords&amp;nbsp;for us to have some fun with!&amp;nbsp;&lt;/blockquote&gt;&lt;br /&gt;
so when designing a web site beware of algorithms you are using to hash passwords if it&#39;s like in this case the outdated encryption algorithm make hell a lot of trouble..&lt;br /&gt;
&lt;br /&gt;
after this attack there were thousands of articles posted on new security models and i will discuss some of them later, but as for final words i think as users we have the responsibility to keep our privacy as Google CEO once said if you want your privacy don&#39;t post anything on the web. when choosing a password security question users should think not twice, thrice.....&lt;br /&gt;
&lt;br /&gt;
cheers !&lt;br /&gt;
Kesh</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/3623784753982552170'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/3623784753982552170'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/12/ugly-truth-of-web-security.html' title='The ugly truth of web security'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUkBvmAX5FusvSphM1gMUbcIMwxj9BdPquUPxMrr8j6v3KavCqpphZ80V1CM9NcUY1klfY5UUahuhk_Fw5Qeth0eulTcy2yUABi_jVZcglM3IqGaShEJLsR3zGKylDgnHMwxcOxEswnu4/s72-c/web-security.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-4645474594017299496</id><published>2010-11-14T20:26:00.000+05:30</published><updated>2010-11-14T20:26:33.605+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>How to reduce the dependency hell in Linux</title><content type='html'>This is my first post after 2 months !! anyway today i am going to give a special tip for Linux users. if you are a linux user you must have faced with &lt;a href=&quot;http://en.wikipedia.org/wiki/Dependency_hell&quot;&gt;dependency hell&lt;/a&gt;. recently i stumble upon to &lt;a href=&quot;https://github.com/pgbovine/CDE/&quot;&gt;this project&lt;/a&gt; on &lt;a href=&quot;https://github.com/&quot;&gt;github&lt;/a&gt;&amp;nbsp;so, here i will explain how to use that awesome project to reduce the dependency hell in other words you can run a program which run perfectly on your machine in another machine without think about any dependencies or setting up the environment.&lt;br /&gt;
&lt;br /&gt;
click &lt;a href=&quot;http://cloud.github.com/downloads/pgbovine/CDE/cde_2010-11-13_32bit&quot;&gt;here &lt;/a&gt;and download this file from github, if the link doesn&#39;t work or if you prefer to download the source code and build yourself follow this instructions&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;git clone git://github.com/pgbovine/CDE.git
cd CDE
make
&lt;/pre&gt;&lt;br /&gt;
if you have downloaded the compiled code follow these instructions&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;mv&amp;nbsp;cde_2010-11-13_32bit cde
chmod g+x cde
&lt;/pre&gt;&lt;br /&gt;
NOTE :&amp;nbsp;cde_2010-11-13_32bit should be replaced with your downloaded filename.&lt;br /&gt;
&lt;br /&gt;
done. now what?&lt;br /&gt;
ok let&#39;s use this great little program. assuming that the cde file is in your present working directory you can type this in the terminal.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;echo &quot;hello&quot; &amp;gt;&amp;gt; test.txt
./cde vim test.txt
&lt;/pre&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS2nKk3tDJZE8eUJcGRClYW1gHKCxhsXGTiyFo3k-bvJ-BJ_rSpCKVL5139OUI_4TopGykzH59hYuhvKMOMUJC_YkZg0x3OakIKPJivT5XHtwTfQOAX-bnHNUq45tcnnluWlwwqLzwA1s/s1600/Screenshot-keshan%2540keshan-laptop%253A+%257E-Downloads-Test.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS2nKk3tDJZE8eUJcGRClYW1gHKCxhsXGTiyFo3k-bvJ-BJ_rSpCKVL5139OUI_4TopGykzH59hYuhvKMOMUJC_YkZg0x3OakIKPJivT5XHtwTfQOAX-bnHNUq45tcnnluWlwwqLzwA1s/s320/Screenshot-keshan%2540keshan-laptop%253A+%257E-Downloads-Test.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;here i created a text file and write hello in it and used vim to open the text file you can use any program not only vim (e.g cat, gedit, vi). you will see no difference it opens the vim editor with hello in it. but if you just happen to type a ls you will see a directory which you didn&#39;t create ! in that directory it holds all the dependencies need to run the program.&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
now you can zip that cde-package directory and unzip in any machine which has the same operating system and open your text file with vim. so let&#39;s say the second machine doesn&#39;t have vim but still you can run vim text.txt !!! using cde you can run not only vim but any program you just need to run the program with cde&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;./cde program_name
&lt;/pre&gt;&lt;br /&gt;
in order to run the program in the second machine you have to follow these instructions&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;cd cde-root
ls
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
what can you see ?&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji9mZJcysk7dcVltNK5Xroh5aRZhQ23UtrzJmstbtf705lwT4BATpFOvjFxgXp9dVgZdpRaffda9BTVj4qxl50-oMNAbukAvHFmfmsNQvQvgLV9AZWfNmTpAAFA7wOQh9ODCR0TR8ScUE/s1600/Screenshot-keshan%2540keshan-laptop%253A+%257E-Downloads-Test-cde-package-cde-root.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEji9mZJcysk7dcVltNK5Xroh5aRZhQ23UtrzJmstbtf705lwT4BATpFOvjFxgXp9dVgZdpRaffda9BTVj4qxl50-oMNAbukAvHFmfmsNQvQvgLV9AZWfNmTpAAFA7wOQh9ODCR0TR8ScUE/s400/Screenshot-keshan%2540keshan-laptop%253A+%257E-Downloads-Test-cde-package-cde-root.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
it is almost like your root folder ! now go to the directory where you had that text file in my case i had it in /home/keshan/Downloads/Test/ in my original machine so, in your second machine go to the same directory(when you type home omit /) and now type ./vim.cde test.txt&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;cd home/keshan/Downloads/Test
./vim.cde test.txt
&lt;/pre&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;try this out with any program....&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;cheers !&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;-Kesh,&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/4645474594017299496'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/4645474594017299496'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/11/how-to-reduce-dependency-hell-in-linux.html' title='How to reduce the dependency hell in Linux'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS2nKk3tDJZE8eUJcGRClYW1gHKCxhsXGTiyFo3k-bvJ-BJ_rSpCKVL5139OUI_4TopGykzH59hYuhvKMOMUJC_YkZg0x3OakIKPJivT5XHtwTfQOAX-bnHNUq45tcnnluWlwwqLzwA1s/s72-c/Screenshot-keshan%2540keshan-laptop%253A+%257E-Downloads-Test.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-7129602806733844490</id><published>2010-09-10T14:29:00.000+05:30</published><updated>2010-09-10T14:29:48.048+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Computing"/><category scheme="http://www.blogger.com/atom/ns#" term="RIA"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtualization"/><title type='text'>What will be the next web stack ?</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwtNFDdX-uBuohUiCz-G-Qp38geWoyaiPpRagvBM659tvm1uR-pnYSNWlKXXajnYTQs9-3oVWRClAFcTPzsUSBI6tw7Sn6ug6feLz6fRJqGsoRkAWF8ZVsKfJF31Y32SVgaXBwRNjaZrI/s1600/PancakesAreBetterThanTheWeb.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;252&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwtNFDdX-uBuohUiCz-G-Qp38geWoyaiPpRagvBM659tvm1uR-pnYSNWlKXXajnYTQs9-3oVWRClAFcTPzsUSBI6tw7Sn6ug6feLz6fRJqGsoRkAWF8ZVsKfJF31Y32SVgaXBwRNjaZrI/s320/PancakesAreBetterThanTheWeb.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Technology is something which improves rapidly. things we thought decade ago were impossible have become realistic today. Today The Internet plays a major role in day to day life. From one static web page has now become much more agile dynamic web sites and even the rich internet applications(RIA) has made The Internet a more exciting place. now&amp;nbsp;with the emergence of concepts like &lt;a href=&quot;http://en.wikipedia.org/wiki/Cloud_computing&quot;&gt;cloud computing&lt;/a&gt;&amp;nbsp;businesses and technology moves into a different direction.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is a web stack ?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;A web stack is simply a&amp;nbsp;stack of software, mainly comprised of open source software, will contain an&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;operating system&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;Web server&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;database server&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;, and&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;programming language&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;. One of the most most well-known web stacks is&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;LAMP&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Apache as a web server has been using more than a decade and served for many big web applications but can it do the same thing in next generation ?&lt;br /&gt;
with cloud computing it needs a more agile light weight and secure web server like lighttpd. lighttpd is an open source web server&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 23px;&quot;&gt;which is rapidly redefining efficiency of a webserver; as it is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more) lighttpd is the perfect solution for every server that is suffering load problem&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 23px;&quot;&gt;s. big web solutions like &lt;a href=&quot;http://youtube.com/&quot;&gt;YouTube&lt;/a&gt;, &lt;a href=&quot;http://wikipedia.org/&quot;&gt;Wikipedia&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;are already using lighttpd to serve their clients.&lt;br /&gt;
unlike in normal web applications Cloud computing solutions need a distributed file system like GoogleFS which was developed by Google and used by Google. So, &lt;a href=&quot;http://hadoop.apache.org/&quot;&gt;Apache Hadoop&lt;/a&gt;&amp;nbsp;with &lt;a href=&quot;http://www.danga.com/mogilefs/&quot;&gt;MogileFS&lt;/a&gt;&amp;nbsp;can be used to fulfill that requirement. Apac&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;he Hadoop&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;s a&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;software framework&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;that supports data-intensive&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;distributed applications&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;under a&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;free license&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;It enables applications to work with thousands of nodes and petabytes of data. Hadoop was inspired by&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;a href=&quot;http://draft.blogger.com/wiki/Google&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; text-decoration: none;&quot; title=&quot;Google&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Google&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&#39;s&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;MapReduce&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;and&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Google File System&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;(GFS) papers.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Hadoop is a top-level&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Apache&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;project being built and used by a global community of contributors,&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;using the&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;a href=&quot;http://draft.blogger.com/wiki/Java_(programming_language)&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; text-decoration: none;&quot; title=&quot;Java (programming language)&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Java&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;programming language.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Yahoo!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;has been the largest contributor&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;to the project, and uses Hadoop extensively across its businesses.&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;So, with these new concepts and new technologies we could see a more reliable, secure, speed and agile world wide web.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Cheers !&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Kesh,&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/7129602806733844490'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/7129602806733844490'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/09/what-will-be-next-web-stack.html' title='What will be the next web stack ?'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwtNFDdX-uBuohUiCz-G-Qp38geWoyaiPpRagvBM659tvm1uR-pnYSNWlKXXajnYTQs9-3oVWRClAFcTPzsUSBI6tw7Sn6ug6feLz6fRJqGsoRkAWF8ZVsKfJF31Y32SVgaXBwRNjaZrI/s72-c/PancakesAreBetterThanTheWeb.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-8920912479452975960</id><published>2010-08-29T20:43:00.001+05:30</published><updated>2010-08-29T20:48:47.499+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="XMPP"/><title type='text'>How to catch your invisible friends on GTalk</title><content type='html'>If you have a Google account then you might have experienced Google chat which is integrated with GMail and it can also accessed via XMPP. if you have used it then you may know that so many people don&#39;t like to go online so they make themselves invisible. today in this post i am going to explain a simple way to find out who are the invisible buddies.&lt;br /&gt;
in this post i have used python and python-xmpp library and i have tested this on Linux but i suppose this will work on Windows as well.&lt;br /&gt;
since i did this on Linux(Ubuntu) i am writing the steps for Debian based operating systems which normally comes with python. type this in &amp;nbsp;you terminal&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;sudo apt-get install python-xmpp python-dnspython&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
enter your super user password and wait till it installed. then open your&amp;nbsp;favorite text editor in this case i am using gedit. copy and paste this code :&lt;br /&gt;
&lt;pre class=&quot;python&quot; name=&quot;code&quot;&gt;import xmpp

FROM_GMAIL_ID = &quot;kesh.jboy@gmail.com&quot;
GMAIL_PASS = &quot;:Pthisisnotmyrealpassword:P&quot;
GTALK_SERVER = &quot;gmail.com&quot;

jid=xmpp.protocol.JID(FROM_GMAIL_ID)
C=xmpp.Client(jid.getDomain(),debug=[])

if not C.connect((GTALK_SERVER,5222)):
&amp;nbsp;&amp;nbsp; &amp;nbsp;raise IOError(&#39;Can not connect to server.&#39;)
if not C.auth(jid.getNode(),GMAIL_PASS):
&amp;nbsp;&amp;nbsp; &amp;nbsp;raise IOError(&#39;Authentication error.&#39;)

C.sendInitPresence(requestRoster=1)

def myPresenceHandler(con, event):
&amp;nbsp;&amp;nbsp; if event.getType() == &#39;unavailable&#39;:
&amp;nbsp;&amp;nbsp; &amp;nbsp; print event.getFrom().getStripped()

C.RegisterHandler(&#39;presence&#39;, myPresenceHandler)
while C.Process(1):
&amp;nbsp;&amp;nbsp;pass&lt;/pre&gt;&lt;br /&gt;
right !!! save this file as mygtalk.py and simply type &lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;python mygtalk.py&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
in terminal...... wow you can see all your invisible buddies just give them a wink... have fun..&lt;br /&gt;
&lt;br /&gt;
Cheers !&lt;br /&gt;
Kesh,</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/8920912479452975960'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/8920912479452975960'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/08/how-to-catch-your-invisible-friends-on.html' title='How to catch your invisible friends on GTalk'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-1263171518943481038</id><published>2010-08-29T15:45:00.007+05:30</published><updated>2010-08-29T16:04:29.664+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="XMPP"/><title type='text'>Creating a GTalk client with C# - Part 2</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &#39;Times New Roman&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;I think you have already read my previous blog post :&amp;nbsp;&lt;a href=&quot;http://techgossipz.blogspot.com/2010/08/creating-gtalk-client-with-c-part-1.html&quot;&gt;Creating a GTalk client with C# - Part 1.&lt;/a&gt;&amp;nbsp;So now you have created a login form and only authenticated people can log into the client. in that post when a user authenticated what i did was just disposed the current window so in this post i will create another form and show it instead of disposing the login form. So create another form with VS where you should have a list to load you buddy list, another list to show your chats, a text box to type your chats and a send button.(This is my basic design but it is up to you to design whatever way you like :) )&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &#39;Times New Roman&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &#39;Times New Roman&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinD5jKtF9KAOfgQj3o61aXfemcH0Ig6ihk8gXTKeTNUYDlSU3ymgZ_EUD7GXthiChmYqGMoV3MmCt4jbVFOzoAmq_4FJSqlWRw0cto2UvEc9J0DY2ud815RfV5mUuaErvFrTwxG8Bk2po/s1600/Untitled.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinD5jKtF9KAOfgQj3o61aXfemcH0Ig6ihk8gXTKeTNUYDlSU3ymgZ_EUD7GXthiChmYqGMoV3MmCt4jbVFOzoAmq_4FJSqlWRw0cto2UvEc9J0DY2ud815RfV5mUuaErvFrTwxG8Bk2po/s400/Untitled.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &#39;Times New Roman&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &#39;Times New Roman&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;alright everything is set to do the codings.... go to source and initialize a XmppClientConnection object but this object should be the same object as we created in the previous form. so what i did was made that earlier object static(in form 1) and also create a static method called getXmpp() in form1.cs&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;static XmppClientConnection xmppCon = new XmppClientConnection();&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt; &lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static XmppClientConnection getXmpp()
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return xmppCon;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/pre&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;you may find a better way than this.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; font-family: &#39;Times New Roman&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;&quot;&gt;then in form2 add this line.&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;XmppClientConnection xmppCon = Form1.getXmpp();&lt;/pre&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;;&quot;&gt;now you have to subscribe to events so create a new method called init()&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot; style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void Init()
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;chatList.Items.Clear();
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.OnRosterStart += new ObjectHandler(OnRosterStart);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.OnRosterEnd += new ObjectHandler(OnRosterEnd);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.OnRosterItem += new XmppClientConnection.RosterHandler(OnRosterItem);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.OnPresence += new agsXMPP.protocol.client.PresenceHandler(OnPresence);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.OnError += new ErrorHandler(OnError);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.OnClose += new ObjectHandler(OnClose);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.OnMessage += new agsXMPP.protocol.client.MessageHandler(OnMessage);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;here chatList is the ListBox which we create to show the chats and Roster means the buddies. now invoke this init method in the constructor after&amp;nbsp;InitializeComponent();&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Form2()
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;InitializeComponent();
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Init();
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;/pre&gt;&lt;/span&gt;now simply create the methods to handle the events which were registered.&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void OnMessage(object sender, agsXMPP.protocol.client.Message msg)
&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 (msg.Body == null)
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;

&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (InvokeRequired)
&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;BeginInvoke(new agsXMPP.protocol.client.MessageHandler(OnMessage), new object[] { sender, msg });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&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;chatList.Items.Add(String.Format(&quot;{0} type:{1}&quot;, msg.From.Bare, msg.Type.ToString()));
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;chatList.Items.Add(msg.Body);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;chatList.SelectedIndex = chatList.Items.Count - 1; &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;void OnClose(object sender)
&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 (InvokeRequired)
&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;BeginInvoke(new ObjectHandler(OnClose), new object[] { sender });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}

&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void OnError(object sender, Exception ex)
&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 (InvokeRequired)
&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;BeginInvoke(new ErrorHandler(OnError), new object[] { sender, ex });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&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;chatList.Items.Add(&quot;Error&quot;);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;chatList.SelectedIndex = chatList.Items.Count - 1;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}

&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; void OnPresence(object sender, agsXMPP.protocol.client.Presence pres)
&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 (InvokeRequired)
&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;BeginInvoke(new agsXMPP.protocol.client.PresenceHandler(OnPresence), new object[] { sender, pres });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&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;chatList.Items.Add(String.Format(&quot;Received Presence from:{0} show:{1} status:{2}&quot;, pres.From.ToString(), pres.Show.ToString(), pres.Status));
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;chatList.SelectedIndex = chatList.Items.Count - 1;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}

&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void OnRosterItem(object sender, agsXMPP.protocol.iq.roster.RosterItem item)
&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 (InvokeRequired)
&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;BeginInvoke(new XmppClientConnection.RosterHandler(OnRosterItem), new object[] { sender, item });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&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;buddyList.Items.Add(String.Format(&quot;{0}&quot;, item.Jid.Bare));
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buddyList.SelectedIndex = chatList.Items.Count - 1;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}

&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void OnRosterEnd(object sender)
&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 (InvokeRequired)
&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;BeginInvoke(new ObjectHandler(OnRosterEnd), new object[] { sender });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&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;xmppCon.SendMyPresence();
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}

&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void OnRosterStart(object sender)
&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 (InvokeRequired)
&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;BeginInvoke(new ObjectHandler(OnRosterStart), new object[] { sender });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;
this is simply the code you can&amp;nbsp;customize in whatever way you like. :) so now the last thing in form1 we only dispose the form so now let&#39;s replace that line with this :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;new Form2().Show();&lt;/pre&gt;&amp;nbsp;ok now run it. select a buddy from buddylist and chat... have fun... if you have any problem regarding the code feel free to comment below or send me an email to : kesh.jboy@gmail.com&lt;br /&gt;
&lt;br /&gt;
cheers !&lt;br /&gt;
Kesh,&lt;/div&gt;&lt;div style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/1263171518943481038'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/1263171518943481038'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/08/creating-gtalk-client-with-c-part-2.html' title='Creating a GTalk client with C# - Part 2'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinD5jKtF9KAOfgQj3o61aXfemcH0Ig6ihk8gXTKeTNUYDlSU3ymgZ_EUD7GXthiChmYqGMoV3MmCt4jbVFOzoAmq_4FJSqlWRw0cto2UvEc9J0DY2ud815RfV5mUuaErvFrTwxG8Bk2po/s72-c/Untitled.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-8663701250543334078</id><published>2010-08-27T14:35:00.000+05:30</published><updated>2010-08-27T14:35:08.537+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="XMPP"/><title type='text'>Creating a GTalk client with C# - Part 1</title><content type='html'>Today i am going to create a GTalk client with C# on Visual Studio 2008. So without talking much let&#39;s start developing :). here i am using &lt;a href=&quot;http://www.ag-software.de/agsxmpp-sdk.html&quot;&gt;agsXMPP&lt;/a&gt; library. so first you need to &lt;a href=&quot;http://www.ag-software.de/download.html&quot;&gt;download and install&lt;/a&gt; agsXMPP SDK. open Visual Studio and create a new project.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI1e74ztuR4Gsvy2t28mvaaLh_yErTl8Nnyo24HetikjE56FTmiUS92KCyvBJO7sEr-4ovfCOlqs4IydjwEHGfs03IYuR95DREOvLqk0O7iErDFoHua-rkRqGGOe6hNOdiAysoxozo_PI/s1600/Untitled.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI1e74ztuR4Gsvy2t28mvaaLh_yErTl8Nnyo24HetikjE56FTmiUS92KCyvBJO7sEr-4ovfCOlqs4IydjwEHGfs03IYuR95DREOvLqk0O7iErDFoHua-rkRqGGOe6hNOdiAysoxozo_PI/s400/Untitled.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;first of all we need to create some kind of a login form so only authenticated person can log in. design a login form with VS.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4ZLivnOPm1wZFTm8MOO-F2e5MvBVPQbXofGBuVQd7dRNBFo65lNJxVNIegslyi_q5gLRiZQxdMEuu3zdaSEXQLe1ZFFcEtw_LlVrZv6vBB9-zwb0AXMmAQwLN45-UZB0WQdSiZuEqeas/s1600/Untitled.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4ZLivnOPm1wZFTm8MOO-F2e5MvBVPQbXofGBuVQd7dRNBFo65lNJxVNIegslyi_q5gLRiZQxdMEuu3zdaSEXQLe1ZFFcEtw_LlVrZv6vBB9-zwb0AXMmAQwLN45-UZB0WQdSiZuEqeas/s400/Untitled.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;ok design has been done ! now go to the source of the form and initialize a&amp;nbsp;XmppClientConnection object&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;XmppClientConnection xmppCon = new XmppClientConnection();
&lt;/pre&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;in this first part i am only going to implement the authentication part and sending and&amp;nbsp;receiving chats will be covered in the second part and i hope to add some new and cool speech technologies in third part :).&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;so for authentication and login we have to declare handlers in the constructor&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;xmppCon.OnLogin += new ObjectHandler(OnLogin);
xmppCon.OnAuthError += new XmppElementHandler(OnAuthError);
xmppCon.OnError += new ErrorHandler(OnError);
&lt;/pre&gt;so, this means we should have three methods &amp;nbsp;OnLogin, OnAuthError and OnError&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;void OnError(object sender, Exception ex)
&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 (InvokeRequired)
&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;BeginInvoke(new ErrorHandler(OnError), new object[] { sender, ex });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&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;MessageBox.Show(&quot;Error occurred&quot;);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/pre&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;this method invokes when an error&amp;nbsp;occurred&amp;nbsp;so, you can handle it anyway you like. since windows forms are not thread safe here and in next two methods also i have to invoke the BeginInvoke method.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;void OnAuthError(object sender, agsXMPP.Xml.Dom.Element e)

&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 (InvokeRequired)
&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;BeginInvoke(new XmppElementHandler(OnAuthError), new object[] { sender, e });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&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;MessageBox.Show(&quot;Your username or password in invalid&quot;);
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;void OnLogin(object sender)
&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 (InvokeRequired)
&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;BeginInvoke(new ObjectHandler(OnLogin), new object[] { sender });
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&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;this.Dispose();&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/pre&gt;here in OnLogin method i did nothing but disposing the current form but in my next post i will explain how to create another form and load our buddy list and send&amp;nbsp;receive&amp;nbsp;chats with them.&lt;br /&gt;
so are we done with this? :) this code won&#39;t compile because we didn&#39;t add any reference to agsXMPP library so right click on References and browse to the location where you installed add reference to&amp;nbsp;agsxmpp.dll then add&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;using agsXMPP;&lt;/pre&gt;&lt;br /&gt;
this will compile and run but nothing will happen because we still didn&#39;t say anything to do when we click the login button so now it is time to do it. double click on the button so VS automatically generate the method.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;csharp&quot; name=&quot;code&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Jid jidUser = new Jid(username.Text);

&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.Username = jidUser.User;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.Server = jidUser.Server;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.Password = password.Text;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.AutoResolveConnectServer = true;

&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmppCon.Open();&lt;/pre&gt;&lt;br /&gt;
now this is it. done! the form will be disposed if you are successfully logged in my next part i will explain how to chat not only disposing the current form.. if you have any question feel free to comment below.&lt;br /&gt;
&lt;br /&gt;
Cheers !&lt;br /&gt;
Kesh,</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/8663701250543334078'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/8663701250543334078'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/08/creating-gtalk-client-with-c-part-1.html' title='Creating a GTalk client with C# - Part 1'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI1e74ztuR4Gsvy2t28mvaaLh_yErTl8Nnyo24HetikjE56FTmiUS92KCyvBJO7sEr-4ovfCOlqs4IydjwEHGfs03IYuR95DREOvLqk0O7iErDFoHua-rkRqGGOe6hNOdiAysoxozo_PI/s72-c/Untitled.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-5471604343311084660</id><published>2010-08-16T22:56:00.002+05:30</published><updated>2010-08-16T23:11:16.805+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><title type='text'>Google Goggles with Facebook ?</title><content type='html'>I just came up with a crazy idea just a couple of months ago when i got to know about Google goggles. Google as always produce some innovative products Google Goggles is one of them. just watch this&amp;nbsp;video if you don&#39;t know about Google Goggles&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;340&quot; width=&quot;560&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/Hhgfz0zPmH4?fs=1&amp;amp;hl=en_US&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/Hhgfz0zPmH4?fs=1&amp;amp;hl=en_US&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
So the thing this great application lacks is the lack of data in the database. so i just came up with an idea of integrating Facebook with Goggles i know it is a crazy and fancy idea because it violates all the privacy laws. :) but thing i just want to say is that something like facebook which has over 500 million users and it has a huge collection of photos of so many people in different angels with different positions and most importantly they are manually tagged so using these type of a database it is much easy to implement Goggles for people search there are so many technical problems (frankly speaking i can&#39;t do it but facebook and Google can.. :)) as well as legal issues although we can use the photos which were made public (then there won&#39;t be any violation of privacy laws i guess) anyway this is just a crazy idea...&lt;br /&gt;
&lt;br /&gt;
cheers !&lt;br /&gt;
-Kesh</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/5471604343311084660'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/5471604343311084660'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/08/google-goggles-with-facebook.html' title='Google Goggles with Facebook ?'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-7795201793898245670</id><published>2010-06-19T20:13:00.000+05:30</published><updated>2010-06-19T20:13:30.885+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><title type='text'>GoogleCL- Google services via Command line</title><content type='html'>People, who are using *nix heavily, have used to a terminal very much sometimes they addict to the terminal. so, for the people who wants to use Google services via command line there were no proper and easy way, but finally now we have a way to do it. The project is called &lt;a href=&quot;http://code.google.com/p/googlecl&quot;&gt;GoogleCL&lt;/a&gt;&amp;nbsp;&amp;nbsp;and it uses Google Data API and still facing some constrain due to the limited support for some google services by the GData API. These Google services includes Blogger, Youtube, Google Docs, Piccasa and Calendar. you need to have Python 2.5 or higher installed in your system because this project uses Google Data API Python client library. After installing Python and &lt;a href=&quot;http://code.google.com/p/googlecl/downloads/list&quot;&gt;GoogleCL&lt;/a&gt;&amp;nbsp;the life is much easier for the people who have addicted to the *nix Terminal.&lt;br /&gt;
&lt;br /&gt;
here are some things you can do with GoogleCL but these not the only things you can do with GoogleCL and it is still been developed as an open source project.&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial, sans-serif; font-size: 13px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;h2 style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Blogger&quot;&gt;Blogger&lt;/a&gt;&lt;/h2&gt;&lt;ul style=&quot;max-width: 65em; padding-left: 40px;&quot;&gt;&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google blogger post --tags &quot;Google, GoogleCL&quot; --title &quot;Test Post&quot; &quot;I&#39;m posting via terminal&quot;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google blogger post blogpost.txt&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google blogger list title,url-site # List posts&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google blogger delete --title &quot;Test Post&quot;&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h2 style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Calendar&quot;&gt;Calendar&lt;/a&gt;&lt;/h2&gt;&lt;ul style=&quot;max-width: 65em; padding-left: 40px;&quot;&gt;&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google calendar add &quot;write a blog post at 7pm&quot; # add event to calendar&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google calendar today # List events for today only.&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google calendar list --date 2010-06-01,2010-06-19 # List events.&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google calendar delete --title &quot;write a blog post at 7pm&quot; # Delete an event.&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h2 style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;&quot; name=&quot;Contacts&quot;&gt;Contacts&lt;/a&gt;&lt;/h2&gt;&lt;ul style=&quot;max-width: 65em; padding-left: 40px;&quot;&gt;&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google contacts add &quot;Keshan Sodimana, kesh.jboy@gmail.com&quot;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google contacts list name,email --title &quot;Keshan Sodimana&quot;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;&lt;tt style=&quot;font-size: 13px;&quot;&gt;google contacts delete --title &quot;Keshan Sodimana&quot;&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h2 style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;
&lt;/h2&gt;&lt;div&gt;use GoogleCL be familiar with it and have fun....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Cheers !!&lt;/div&gt;&lt;div&gt;Kesh,&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/7795201793898245670'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/7795201793898245670'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/06/googlecl-google-services-via-command.html' title='GoogleCL- Google services via Command line'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-6781105742859466539</id><published>2010-05-21T14:22:00.000+05:30</published><updated>2010-05-21T14:22:26.700+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><title type='text'>Google TV and the introduction of Android 2.2</title><content type='html'>As everyone expected Google has finally introduced their latest &lt;a href=&quot;http://www.google.com/tv&quot;&gt;Google TV&lt;/a&gt; at the Google IO conference second day which was meant to be the Android day.&lt;br /&gt;
&lt;object height=&quot;340&quot; width=&quot;560&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/diTpeYoqAhc&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/diTpeYoqAhc&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
according to Vincent Dureu,&amp;nbsp;in charge of Google TV this is why Google TV is needed :&lt;br /&gt;
&lt;blockquote&gt;&lt;i&gt;Even two years ago you would have said that telephones are mostly for making calls, maybe for email and texting. Today, we know that phones can actually do a whole lot more. In the same way, people say that TV is just for watching TV. But, like the phone can be used for more than making calls, we believe that TV can be used for more than just video. Also, there’s not enough shelf space for the stuff on TV; not even with online channel guides and your PVR access and your racks full of disks. The shelf space should be as big as the web.&lt;/i&gt;&lt;/blockquote&gt;&amp;nbsp;Google TV, which will come with the collaboration with Sony, intel and Google is powered by Google Chrome initially so developers can build web apps as well as Android apps to run on Google TV platform but for now the SDK for mobile apps haven&#39;t been released.&lt;br /&gt;
&lt;br /&gt;
with the introduction of Google TV Google also introduced their new mobile OS Android 2.2(FroYo) and which has a lot of new features over its predecessor Android 2.1(Eclair).&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBM4xeHUjrEMiI85jlVp0RDwE0pIF-vZdssoCaxNPQB1pc6J9eidCetXUZPUPArnPj9rafyT3zsYCkb0AASGAVeFON6LOJ_tG0u5ytP0eRJFVoW1jcvIlmjvbPK_h57YmM525aT2cpMFU/s1600/froyo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBM4xeHUjrEMiI85jlVp0RDwE0pIF-vZdssoCaxNPQB1pc6J9eidCetXUZPUPArnPj9rafyT3zsYCkb0AASGAVeFON6LOJ_tG0u5ytP0eRJFVoW1jcvIlmjvbPK_h57YmM525aT2cpMFU/s1600/froyo.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;the new version is pretty much fast and it has a new JIT (Just-In-Time) compiler to boost the performances. here are the pros and cons about the newly introduced FroYo&lt;br /&gt;
&lt;br /&gt;
&lt;object height=&quot;340&quot; width=&quot;560&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/yAZYSVr2Bhc&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/yAZYSVr2Bhc&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;560&quot; height=&quot;340&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cheers,&lt;br /&gt;
Kesh.</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/6781105742859466539'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/6781105742859466539'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/05/google-tv-and-introduction-of-android.html' title='Google TV and the introduction of Android 2.2'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBM4xeHUjrEMiI85jlVp0RDwE0pIF-vZdssoCaxNPQB1pc6J9eidCetXUZPUPArnPj9rafyT3zsYCkb0AASGAVeFON6LOJ_tG0u5ytP0eRJFVoW1jcvIlmjvbPK_h57YmM525aT2cpMFU/s72-c/froyo.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-8280472556743223936</id><published>2010-05-20T18:06:00.000+05:30</published><updated>2010-05-20T18:06:41.695+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><title type='text'>Google Font API</title><content type='html'>Google as always came up with a new API called &lt;a href=&quot;http://code.google.com/apis/webfonts/&quot;&gt;Google Font API&lt;/a&gt; this time. it is a start up for web fonts and the API is totally open source so, anyone can even download the fonts and alter them as they wish yet that API supports a few fonts because the API was introduced a little while ago so, hopefully it will expand and make something good for the world wide web. here is the &lt;a href=&quot;http://code.google.com/webfonts&quot;&gt;Google font directory&lt;/a&gt; where you can find all the fonts. &lt;a href=&quot;http://code.google.com/apis/webfonts/docs/getting_started.html&quot;&gt;here in this document&lt;/a&gt; google has documented very clearly for beginners to how to use their new API.&lt;br /&gt;
These fonts works really well with HTML 5 and CSS 3 so, that will be great when it comes to the future of world wide web because it supports the rotations, shadows etc. in HTML 5.&lt;br /&gt;
The other big news is &lt;a href=&quot;http://www.smashingmagazine.com/&quot;&gt;Smashing magazine&lt;/a&gt; is already relaunched their site with Google&#39;s newly launched web font API. so, the trend will be this let&#39;s hope for a bright future for world wide web.&lt;br /&gt;
&lt;br /&gt;
cheers,&lt;br /&gt;
Kesh.</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/8280472556743223936'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/8280472556743223936'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/05/google-font-api.html' title='Google Font API'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-6307940563782686069</id><published>2010-05-20T12:59:00.000+05:30</published><updated>2010-05-20T12:59:58.885+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Adobe"/><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Apple"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML 5"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><title type='text'>Openness, Flash and Apple</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPVgrNb4AHCuTYlFIHdp5WTM3Bj9CBI6Bq1Gd7aLjKbiHWg7Sp0nTZOaz40TE5p26hyff-qUjMlGRlKm-GN71ORA3GJWYVE0eP-AEcQPIA460JBeJfWvp9fDMH5PzQuA9yj7s07_m3SwE/s1600/flash_forbidden_stop.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPVgrNb4AHCuTYlFIHdp5WTM3Bj9CBI6Bq1Gd7aLjKbiHWg7Sp0nTZOaz40TE5p26hyff-qUjMlGRlKm-GN71ORA3GJWYVE0eP-AEcQPIA460JBeJfWvp9fDMH5PzQuA9yj7s07_m3SwE/s200/flash_forbidden_stop.jpg&quot; width=&quot;198&quot; /&gt;&lt;/a&gt;It&#39;s been a while since Apple Adobe fight has begun. it&#39;s because Apple CEO, Steve Jobs. &amp;nbsp;he said prefers HTML5, the new web standard to Adobe&#39;s Flash so, Apple hasn&#39;t given any support for Flash in their products. however Adobe released a HTML 5 support plugin for it&#39;s new Dreamviwer CS 5 during the Google I/O 2010 in yesterday 19th of May.if HTML 5 is the replacement for flash as Jobs believe why Adobe is supporting HTML 5? and the other thing is being one of the most closed systems in the world why Apple is supporting a open standard like HTML 5 ? &lt;br /&gt;
may be that is because Apple wants be the only company which sells&amp;nbsp;proprietary software but on the other hand Microsoft is silently replacing Flash with their own Silverlight which is more a likely a replacement for Flash than HTML 5. though these two closed source software giants reject Flash the search engine giant, Google is going to introduce their new Android OS with the Flash support in the Google IO 10, and that is why Android is getting more market shares than Apple iPhone currently because still Flash has its authority on web content like animations and video basically media so, people need to fulfill their own needs so yet Flash player is the only solution till HTML 5 grow up we have to content with Flash and HTML 5 will grow up with Adobe&#39;s great tools, those tools are the basic things which made Flash a popular technology.</content><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/6307940563782686069'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/6307940563782686069'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/05/openness-flash-and-apple.html' title='Openness, Flash and Apple'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPVgrNb4AHCuTYlFIHdp5WTM3Bj9CBI6Bq1Gd7aLjKbiHWg7Sp0nTZOaz40TE5p26hyff-qUjMlGRlKm-GN71ORA3GJWYVE0eP-AEcQPIA460JBeJfWvp9fDMH5PzQuA9yj7s07_m3SwE/s72-c/flash_forbidden_stop.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-9204401837533545982</id><published>2010-03-18T19:02:00.000+05:30</published><updated>2010-03-18T19:02:00.388+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ruby on Rails"/><title type='text'>Gnerate RSS for your site in Rails</title><content type='html'>With the rapid development in world wide web it is obvious that we cannot go to every site we like in daily basis to check for its updates to eliminate that problem we have something called rss in web 2.0. as a developer it is a cool idea to generate rss for your site then your site readers can keep in touch with your web site or blog.&lt;br /&gt;
&lt;br /&gt;
here i am going to explain how you could easily do it with Rails.&lt;br /&gt;
&lt;br /&gt;
first i assume you have a rails project and have a controller called post(you can have whatever name but this example is based on a controller called posts) go to post_controller.rb in your Controllers directory and change the index method&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;&amp;nbsp;respond_to do |format|
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format.html
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format.xml&amp;nbsp; { render :xml =&amp;gt; @posts }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format.rss&amp;nbsp; { render :layout =&amp;gt; false }
&amp;nbsp;&amp;nbsp;&amp;nbsp; end
&amp;nbsp; end
&lt;/pre&gt;&lt;br /&gt;
and then go to Views and add a file called index.rss.builder to posts view directory and the below content to that file(remember in RoR convention is over configuration so, be careful about naming conventions)&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;xml.instruct! :xml, :version =&amp;gt; &quot;1.0&quot;
xml.rss :version =&amp;gt; &quot;2.0&quot; do
&amp;nbsp; xml.channel do
&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.title &quot;posts&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.description &quot;Lots of posts&quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.link formatted_posts_url(:rss)

&amp;nbsp;&amp;nbsp;&amp;nbsp; for post in @posts
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.item do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.title post.title
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.description post.body
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.pubDate post.created_at.to_s(:rfc822)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.link formatted_post_url(post, :rss)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xml.guid formatted_post_url(post, :rss)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end
&amp;nbsp;&amp;nbsp;&amp;nbsp; end
&amp;nbsp; end
end
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
here we go it is done to view this you can start the server and go to http://localhost:3000/posts.rss&lt;br /&gt;
&lt;br /&gt;
but it is better to add a link to the rss feeds to do it go to index.html.erb in Views, posts view directory and add the following line where you want to see the lnk&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;&amp;lt;%= link_to &quot;RSS&quot;, formatted_posts_url(:rss) %&amp;gt; 
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
if you want to clarify anything do not hesitate to comment below&lt;br /&gt;
have fun !!&lt;br /&gt;
&lt;br /&gt;
Kesh,</content><link rel='replies' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/9204401837533545982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://techgossipz.blogspot.com/2010/03/gnerate-rss-for-your-site-in-rails.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/9204401837533545982'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/9204401837533545982'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/03/gnerate-rss-for-your-site-in-rails.html' title='Gnerate RSS for your site in Rails'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-8710822901893311499</id><published>2010-03-15T12:53:00.002+05:30</published><updated>2010-03-15T13:08:23.686+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ruby on Rails"/><title type='text'>PaperClip with Ruby on Rails</title><content type='html'>When you are developing a web applications sometimes you need to have pictures uploaded and attached(embedded) to your pages. In Ruby on Rails it is really easy task to handle those kind of things you just need to to use the plugin. PaperClip appropriately.&lt;br /&gt;
&lt;br /&gt;
before begin here, i assume you know how to create a rails project and do the basic stuff if not please &lt;a href=&quot;http://guides.rubyonrails.org/getting_started.html&quot;&gt;read this&lt;/a&gt; before continue &lt;br /&gt;
&lt;br /&gt;
imagine you have a rails project with a user profile and what we going to do is add an avatar to this profile. first you need to install PaperClip plugin&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;bash&quot;&gt;script/plugin install git://github.com/thoughtbot/paperclip.git 
&lt;/pre&gt;then we need to run the paperclip generator to add some columns to the migration table&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;bash&quot;&gt;script/generate paperclip user photo 
&lt;/pre&gt;here user is the model that you want the attachements to be added and photo is the name you want that attachment to be called. then run the migrations&lt;br /&gt;
&lt;br /&gt;
&lt;pre name=&quot;code&quot; class=&quot;bash&quot;&gt;rake db:migrate 
&lt;/pre&gt;&lt;br /&gt;
then we need to add a line to user model which is in models directory&lt;br /&gt;
&lt;br /&gt;
&lt;pre name=&quot;code&quot; class=&quot;ruby&quot; name=&quot;code&quot;&gt;class User &amp;lt;&amp;nbsp; ActiveRecord::Base
has_attached_file : photo
end
&lt;/pre&gt;photo is the name we used earlier in migrations. then we need to do a simple alteration in view.&lt;br /&gt;
first,&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;&amp;lt;%form_for @user , :html =&amp;gt; { :multipart =&amp;gt; true} do |f|%&amp;gt; 
&lt;/pre&gt;if you don&#39;t add set multipart to true it will not accept file attachments. then add a field for file uploads&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;&amp;lt;%= f.file_field :photo%&amp;gt; 
&lt;/pre&gt;right now you are done but if you execute this you won&#39;t see the picture in order to it you need to edit your show action template in user view&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;ruby&quot; name=&quot;code&quot;&gt;&amp;lt;%= image_tag @user.photo.url %&amp;gt;&amp;nbsp; 
&lt;/pre&gt;&lt;br /&gt;
this will render the image into the page.&lt;br /&gt;
&lt;br /&gt;
it is done. hope you can follow this instructions if you have any problem please comment below&lt;br /&gt;
&lt;br /&gt;
Kesh,</content><link rel='replies' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/8710822901893311499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://techgossipz.blogspot.com/2010/03/paperclip-with-ruby-on-rails.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/8710822901893311499'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/8710822901893311499'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/03/paperclip-with-ruby-on-rails.html' title='PaperClip with Ruby on Rails'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-814023593671438737</id><published>2010-02-21T23:19:00.000+05:30</published><updated>2010-02-21T23:19:43.359+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><title type='text'>Linux for entertainment : Element OS</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIeeJZhJ7P4n0YMoswhEwzRlrPHcZU0iwUxy3jSp-8gEEEQOZDUjv4QT_IIOIFEatSagk7SX1mEvV7TgMtQLKT47BcNkmAGWjb_rJPBhMzKIb6Gfz56cIicz4gnM1IYgGwz4vR74JRdIM/s1600-h/elementhdtv.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;280&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIeeJZhJ7P4n0YMoswhEwzRlrPHcZU0iwUxy3jSp-8gEEEQOZDUjv4QT_IIOIFEatSagk7SX1mEvV7TgMtQLKT47BcNkmAGWjb_rJPBhMzKIb6Gfz56cIicz4gnM1IYgGwz4vR74JRdIM/s400/elementhdtv.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;(picture- &lt;a href=&quot;http://www.elementmypc.com/&quot;&gt;http://www.elementmypc.com/&lt;/a&gt;)&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Element OS is a new Debian based new operating system mainly focused on Home&amp;nbsp;Theater systems and Media&amp;nbsp;center personal computers and aims to integrate GTK applications into a ten-foot user interface with XFCE environment. &lt;br /&gt;
this OS is not limited to a typical home theater system this can be integrated with Boxee , Hulu etc.. and since this has been developed on Debian literally it has all the other features, packages and softwares which supports debian operating system.&lt;br /&gt;
&lt;br /&gt;
for more screenshots and more information &lt;a href=&quot;http://www.elementmypc.com/&quot;&gt;visit Element OS web site &lt;/a&gt;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
for installation : download the CD image from &lt;a href=&quot;http://www.elementmypc.com/main/index.php?option=com_content&amp;amp;view=article&amp;amp;id=58&amp;amp;Itemid=64&quot;&gt;here&lt;/a&gt;&amp;nbsp;it is 638MB and it is&amp;nbsp;recommended&amp;nbsp;to have a computer:&lt;br /&gt;
processor 1.6GHZ&lt;br /&gt;
RAM 1GB+&lt;br /&gt;
free Hard disk space 20GB&lt;br /&gt;
your PC can be connected to HDTV&lt;br /&gt;
&lt;br /&gt;
entertain yourself with Linux... have a nice time..&lt;br /&gt;
&lt;br /&gt;
Kesh,</content><link rel='replies' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/814023593671438737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://techgossipz.blogspot.com/2010/02/linux-for-entertainment-element-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/814023593671438737'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/814023593671438737'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/02/linux-for-entertainment-element-os.html' title='Linux for entertainment : Element OS'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIeeJZhJ7P4n0YMoswhEwzRlrPHcZU0iwUxy3jSp-8gEEEQOZDUjv4QT_IIOIFEatSagk7SX1mEvV7TgMtQLKT47BcNkmAGWjb_rJPBhMzKIb6Gfz56cIicz4gnM1IYgGwz4vR74JRdIM/s72-c/elementhdtv.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-4479273668353177332</id><published>2010-02-21T01:52:00.005+05:30</published><updated>2010-02-28T00:56:14.925+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML 5"/><category scheme="http://www.blogger.com/atom/ns#" term="PHP"/><title type='text'>How to parse HTML using DOM with PHP</title><content type='html'>If you are a PHP programmer who is comfortable with XML you already know how to parse a XML file in PHP since HTML is merely a subset of XML the same technique can be applied to HTML parsing as well let me illustrate it :&lt;br /&gt;
&lt;br /&gt;
for an example let&#39;s assume we have table of data about whether forcast but they don&#39;t provide RSS feeds so, in order to extract the data and view we need to parse its HTML page somehow.&lt;br /&gt;
&lt;br /&gt;
assume this is the html code snippet:&lt;br /&gt;
&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: courier new,monospace;&quot;&gt;&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;&amp;nbsp;&amp;lt;html&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;body&amp;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;lt;table&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;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;lt;td&amp;gt;Colombo&amp;lt;/td&amp;gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;30&amp;lt;/td&amp;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;lt;td&amp;gt;Sunny&amp;lt;/td&amp;gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;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;lt;td&amp;gt;Hambantota&amp;lt;/td&amp;gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;33&amp;lt;/td&amp;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;lt;td&amp;gt;Sunny&amp;lt;/td&amp;gt; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;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;lt;/table&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;
&amp;nbsp;&amp;lt;/html&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 


&lt;/pre&gt;save it as data.html now we are going to parse this data.html with PHP,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;php&quot; name=&quot;code&quot;&gt;&amp;lt;?php
&amp;nbsp; // new dom object
&amp;nbsp; $dom = new DOMDocument();

&amp;nbsp; //load the html
&amp;nbsp; $html = $dom-&amp;gt;loadHTMLFile(data.html);

&amp;nbsp; //discard white space 
&amp;nbsp; $dom-&amp;gt;preserveWhiteSpace = false; 

&amp;nbsp; //the table by its tag name
&amp;nbsp; $tables = $dom-&amp;gt;getElementsByTagName(&#39;table&#39;); 

&amp;nbsp; //get all rows from the table
&amp;nbsp; $rows = $tables-&amp;gt;item(0)-&amp;gt;getElementsByTagName(&#39;tr&#39;); 

&amp;nbsp; // loop over the table rows
&amp;nbsp; foreach ($rows as $row) 
&amp;nbsp; { 
&amp;nbsp;&amp;nbsp; // get each column by tag name
&amp;nbsp; &amp;nbsp; &amp;nbsp; $cols = $row-&amp;gt;getElementsByTagName(&#39;td&#39;); 
&amp;nbsp;&amp;nbsp; // echo the values&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo $cols-&amp;gt;item(0)-&amp;gt;nodeValue.&#39;&amp;lt;br /&amp;gt;&#39;; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo $cols-&amp;gt;item(1)-&amp;gt;nodeValue.&#39;&amp;lt;br /&amp;gt;&#39;; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo $cols-&amp;gt;item(2)-&amp;gt;nodeValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } 

?&amp;gt;


&lt;/pre&gt;now we have done with it put the php code into your server along with the html file and run.....&lt;br /&gt;
&lt;br /&gt;
Kesh,</content><link rel='replies' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/4479273668353177332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://techgossipz.blogspot.com/2010/02/how-to-parse-html-using-dom-with-php.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/4479273668353177332'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/4479273668353177332'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/02/how-to-parse-html-using-dom-with-php.html' title='How to parse HTML using DOM with PHP'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-328386756167760855</id><published>2010-02-20T02:11:00.001+05:30</published><updated>2010-02-20T02:12:04.288+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Apple"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="iPad"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Mobile"/><title type='text'>Open Source MeeGo for mobile devices</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWICIkHtPgtxA74atufh9D0Vtx06i9BZ09XWNVeaRiz9UF8g9gFndUnSCLfLIJOvo_DESwAKuBlarMBSy_9jxWZbUdg0Qj1lzIKgizVjftklcvwsdS2ikl07fh7_u5mTSAyVeV1c7eAOI/s1600-h/meego-500x375_1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWICIkHtPgtxA74atufh9D0Vtx06i9BZ09XWNVeaRiz9UF8g9gFndUnSCLfLIJOvo_DESwAKuBlarMBSy_9jxWZbUdg0Qj1lzIKgizVjftklcvwsdS2ikl07fh7_u5mTSAyVeV1c7eAOI/s400/meego-500x375_1.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Mobile OSs are a hot topic today because Google introduce Nexus One with Android Apple came up with iPad and Windows is coming with Windows 7 mobile so, Intel and Nokia has also came up with a new operating system based on Linux.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;MeeGo is a combination of Intel&#39;s Moblin &amp;nbsp;and Nokia&#39;s Maemo projects. creating a one single platform for next generation devices like tablets, netbooks etc..the interesting point about MeeGo is that it is a product of world largest chipset manufacturer and worl largest handset&amp;nbsp;manufacturer.both companies are working together to create a new Atom based SoC(System on Chip) called PenWell for netbooks and Mobile phones.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;Why MeeGO so powerful?&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;it has been built for powerful next generation devices from the ground level.MeeGo has a powerful computation which take advantage of its new form factors.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;it has a cross platform support which means MeeGo is multi-architecture and can be used in a broad range of devices from TV to your tablet PC to your mobile phone.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;MeeGo is open with Linux kernel and open model it is really strong.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Developers can target various platform like windows, Mac, Linux, Symbian etc.. with Qt and MeeGo because of its application portability.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;With the open source&amp;nbsp;appearance in mobile OS war it will be a great competition between Google, Apple, Microsoft and Intel-Nokia.&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Kesh,&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/328386756167760855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://techgossipz.blogspot.com/2010/02/open-source-meego-for-mobile-devices.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/328386756167760855'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/328386756167760855'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/02/open-source-meego-for-mobile-devices.html' title='Open Source MeeGo for mobile devices'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWICIkHtPgtxA74atufh9D0Vtx06i9BZ09XWNVeaRiz9UF8g9gFndUnSCLfLIJOvo_DESwAKuBlarMBSy_9jxWZbUdg0Qj1lzIKgizVjftklcvwsdS2ikl07fh7_u5mTSAyVeV1c7eAOI/s72-c/meego-500x375_1.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-7023616793987517984</id><published>2010-02-15T15:55:00.002+05:30</published><updated>2010-12-22T23:00:12.011+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="Virtualization"/><title type='text'>Experience Android on VirtualBox</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;UPDATE&lt;/b&gt; : &lt;a href=&quot;http://techgossipz.blogspot.com/2010/12/run-android-froyo-in-your-virtualbox.html&quot;&gt;Android Froyo with VirtualBox&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglQgd2ZNBJrwlAHvoukExOmxxr2kz3R4ekVjMxAmF12edBdBNUIwkXqDFo7rHCwSMvFya707iG5caKm0JW-BGASGtyGDCVmf5ngxhjdeY6Ai1Q26dus8Gn2S9hyiUYm4E8f8U2PS5-7n4/s1600-h/logo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;120&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglQgd2ZNBJrwlAHvoukExOmxxr2kz3R4ekVjMxAmF12edBdBNUIwkXqDFo7rHCwSMvFya707iG5caKm0JW-BGASGtyGDCVmf5ngxhjdeY6Ai1Q26dus8Gn2S9hyiUYm4E8f8U2PS5-7n4/s400/logo.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Android, which is one of the most revolutionized mobile OS introduced by Google has come long way since its first introduction. recently Google released Nexus One phone which was said to be good by Linus too. so, everyone would like to experience Google Android although you have no Android supported phone. here&#39;s a way with your favorite VirtualBox.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;Step 1 :&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Download the 2 latest CD images.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://live-android.googlecode.com/files/liveandroidv0.3.iso.001&quot;&gt;image 1&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://live-android.googlecode.com/files/liveandroidv0.3.iso.002&quot;&gt;image 2&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;Step 2 &lt;/b&gt;:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;if you are on windows use PowerISO or something to combine these two CD images&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;OR&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;if you are on Linux change directory to the directory where you put your image files and simply type the following:&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;&lt;i&gt;cat liveandroidv0.3.iso.001 liveandroidv0.3.iso.002 &amp;gt; liveandroidv0.3.iso&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;(make&lt;i&gt;&amp;nbsp;&lt;/i&gt;sure that you have typed the correct version number as mentioned in the image file)&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;Step 3 :&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Start VirtualBox and create a new virtual machine : select Operating System as Linux 2.6 and give 300+ MB for Base memory and you don&#39;t need to create a virtual hard disk.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjidmPJh_CV86So33GHTh3oE3jzkfg0GdSd5zimIQNeCcshRqGWIlmM58E9ulu1AfBy65zN71b29okSwK79PQTsjxWr-JyXjs9ZIW6vNGJ1Kh7ImWdSEH6r4mhiYQRsa8o8OARZNj6scp4/s1600-h/Screenshot-Create%20New%20Virtual%20Machine.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjidmPJh_CV86So33GHTh3oE3jzkfg0GdSd5zimIQNeCcshRqGWIlmM58E9ulu1AfBy65zN71b29okSwK79PQTsjxWr-JyXjs9ZIW6vNGJ1Kh7ImWdSEH6r4mhiYQRsa8o8OARZNj6scp4/s320/Screenshot-Create%20New%20Virtual%20Machine.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZQARhsbVRELgCuWDUQqgu6rKkGFux0JOZRU9uqIio7ja6_1kC8Sw80xhze9ZKqPrlxBPkQJPFV5aWPbpccZiSmE0VXDvltjFVIOixVoM-a27swdibV9s6AWotuqy5kJ3gelC9gqr8kjM/s1600-h/Screenshot-Create%20New%20Virtual%20Machine-1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZQARhsbVRELgCuWDUQqgu6rKkGFux0JOZRU9uqIio7ja6_1kC8Sw80xhze9ZKqPrlxBPkQJPFV5aWPbpccZiSmE0VXDvltjFVIOixVoM-a27swdibV9s6AWotuqy5kJ3gelC9gqr8kjM/s320/Screenshot-Create%20New%20Virtual%20Machine-1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL8lF9MwwOrBzdOe7FbBtxkgbf6IPzuPNZDxtoA4v-Ic4qOAnBMMTuiaNyyIU_6igeAnVxaQNmG3yNyfXUenPcL4bY4e7yLxpSwCmOr_dMxx3BlP_-QC6aKW72V64aLGl-GwatIW1BTSc/s1600-h/Screenshot-Create%20New%20Virtual%20Machine-2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL8lF9MwwOrBzdOe7FbBtxkgbf6IPzuPNZDxtoA4v-Ic4qOAnBMMTuiaNyyIU_6igeAnVxaQNmG3yNyfXUenPcL4bY4e7yLxpSwCmOr_dMxx3BlP_-QC6aKW72V64aLGl-GwatIW1BTSc/s320/Screenshot-Create%20New%20Virtual%20Machine-2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;Step 4 :&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Start the newly created Virtual machine : and in the wizard choose CD/DVD-ROM Device as Media type and Image file as the source. simply select the location of your CD image to that place.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvcceFtGcc0l572q1QlKneHoaNIRMcaZhUlweTk6dufgNIt5NY57Am74slAOvuzI095ANBpcdgPwEFqge8EhRMVdPR4qeI9Z7_OSCfc9I1l1FROYIMFRJEc12rE6_VXn5ReckDi0gCCGw/s1600-h/Screenshot-First%20Run%20Wizard.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvcceFtGcc0l572q1QlKneHoaNIRMcaZhUlweTk6dufgNIt5NY57Am74slAOvuzI095ANBpcdgPwEFqge8EhRMVdPR4qeI9Z7_OSCfc9I1l1FROYIMFRJEc12rE6_VXn5ReckDi0gCCGw/s320/Screenshot-First%20Run%20Wizard.png&quot; width=&quot;303&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp;That is it.... now you will boot into Android OS have fun........&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHKBQlWVN44Q5X8WGKgue3B5W3TqQAAImMH3JxGM5rf9Je16FQiwyEyXg37QEyx-zHQc-G7ji-lCA2RbXxpp7YXqkKSeETAju-cR2av8j4b1s2qNMHAX1lWONFvwjEte3ypx2iktnsdJ4/s1600-h/Screenshot-Andriod%20%5BRunning%5D%20-%20VirtualBox%20OSE.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;341&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHKBQlWVN44Q5X8WGKgue3B5W3TqQAAImMH3JxGM5rf9Je16FQiwyEyXg37QEyx-zHQc-G7ji-lCA2RbXxpp7YXqkKSeETAju-cR2av8j4b1s2qNMHAX1lWONFvwjEte3ypx2iktnsdJ4/s400/Screenshot-Andriod%20%5BRunning%5D%20-%20VirtualBox%20OSE.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDdfYExM1DKBmAVz5RATlsU_yzLgaWJ9cYx0chxiACsvsGXV1Hezh6UMM7nSXRvq5OJ20PCJq37GngskKq-CHSMk9NPPxnG5Nn6PBPMMiOlwSyUDgBMFfOZewnKnR-J2CxWNVfBVZmZME/s1600-h/Screenshot-Andriod%20%5BRunning%5D%20-%20VirtualBox%20OSE-1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;341&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDdfYExM1DKBmAVz5RATlsU_yzLgaWJ9cYx0chxiACsvsGXV1Hezh6UMM7nSXRvq5OJ20PCJq37GngskKq-CHSMk9NPPxnG5Nn6PBPMMiOlwSyUDgBMFfOZewnKnR-J2CxWNVfBVZmZME/s400/Screenshot-Andriod%20%5BRunning%5D%20-%20VirtualBox%20OSE-1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Controls :&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Arrows - Navigation&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Enter - confirm&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Escape - back&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;windows key - home&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Kesh,&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/7023616793987517984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://techgossipz.blogspot.com/2010/02/experience-android-on-virtualbox.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/7023616793987517984'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/7023616793987517984'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/02/experience-android-on-virtualbox.html' title='Experience Android on VirtualBox'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglQgd2ZNBJrwlAHvoukExOmxxr2kz3R4ekVjMxAmF12edBdBNUIwkXqDFo7rHCwSMvFya707iG5caKm0JW-BGASGtyGDCVmf5ngxhjdeY6Ai1Q26dus8Gn2S9hyiUYm4E8f8U2PS5-7n4/s72-c/logo.png" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-7450491269383964493</id><published>2010-02-15T13:12:00.002+05:30</published><updated>2010-02-16T10:54:03.910+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Adobe"/><category scheme="http://www.blogger.com/atom/ns#" term="flash"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML 5"/><category scheme="http://www.blogger.com/atom/ns#" term="RIA"/><title type='text'>Future of WWW</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-size: 13px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxx5epbJFznJyvSzPNtUYixEl4kj9_SZTQtY-CWE55U5MRYyEH6TJBrl6mkfqzDNFP7aO9hUwcGapgCdqVVd8InPvtqPPgBHcbbHybntZt_NdJ9Al0n59W0T1KvXTrFd1CsI9zvHXMR8/s1600-h/html5_vs_flash.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxx5epbJFznJyvSzPNtUYixEl4kj9_SZTQtY-CWE55U5MRYyEH6TJBrl6mkfqzDNFP7aO9hUwcGapgCdqVVd8InPvtqPPgBHcbbHybntZt_NdJ9Al0n59W0T1KvXTrFd1CsI9zvHXMR8/s1600/html5_vs_flash.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
With the latest controversial statement of Steve Jobs about Adobe turned up the heat of the debate about the future web. HTML 5 is the latest rival of Flash but still Flash has high number of market shares relative to the latest HTML 5 but recently &lt;a href=&quot;http://www.youtube.com/&quot;&gt;Youtube&lt;/a&gt;, the biggest site for video sharing, has also introduced a new HTML 5 type of a video player instead of Flash player it is still on beta so, we don&#39;t know much about it&#39;s good and bad. &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is HTML 5?&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
HTML 5 is the latest version of HTML and its main objective is to reduce the use of&amp;nbsp;proprietary RIA(Rich Internet Application) plugins. with the new API HTML 5 provides the support for audio and video embedding which it lacks for years. it has introduced new elements as well as functionalities like drag and drop. so, people believe it will revolutionized the future web, with Open web.&lt;br /&gt;
&lt;br /&gt;
On the other hand Flash which has established for years is the main counterpart of HTML 5 up to now majority of RIA needs Flash player to run.&lt;br /&gt;
&lt;br /&gt;
Anyway, HTML 5 will be a great alternative for Flash and it will help to reduce security risks which we faced with Flash like clickjacking(though Adobe has corrected this issue there are some security risks still to be solved) let&#39;s hope for a better and open web..&lt;br /&gt;
&lt;br /&gt;
Kesh, &amp;nbsp;&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/7450491269383964493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://techgossipz.blogspot.com/2010/02/future-of-www.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/7450491269383964493'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/7450491269383964493'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/02/future-of-www.html' title='Future of WWW'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxx5epbJFznJyvSzPNtUYixEl4kj9_SZTQtY-CWE55U5MRYyEH6TJBrl6mkfqzDNFP7aO9hUwcGapgCdqVVd8InPvtqPPgBHcbbHybntZt_NdJ9Al0n59W0T1KvXTrFd1CsI9zvHXMR8/s72-c/html5_vs_flash.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5932183700156784824.post-553561747793083992</id><published>2010-02-04T14:50:00.002+05:30</published><updated>2010-02-05T20:52:13.961+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apple"/><category scheme="http://www.blogger.com/atom/ns#" term="Dell"/><category scheme="http://www.blogger.com/atom/ns#" term="Facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><title type='text'>The Master Minds</title><content type='html'>&lt;script type=&quot;text/javascript&quot;&gt;
tweetmeme_source = &#39;crazykesh&#39;;
tweetmeme_service = &#39;bit.ly&#39;;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://tweetmeme.com/i/scripts/button.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
Internet has become a main part of lives it plays a major role in todays world. it seems that without internet we can&#39;t live this can be an exaggeration but Internet has&amp;nbsp;evolved gradually in past few decades. in day to day life in cyberspace we use Google, Facebook, Twitter, Digg, Blogger, Wordpress etc..but how many times do we think about the masterminds behind those&amp;nbsp;unbelievable products. here&#39;s a brief summary of few of those masterminds :&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Facebook : Mark Zukerburg&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEN0Yjxw43GACe_CFiXHli1dcnlLJy6cHUg9q51LbpcATiXcccxteKksrS-cbyWSXowIJyft1IxeyDOzqmGWj8SYrm7SjF91GrxWiln2KrUjAB6QEHWwCbBtvi1hZsn9x5L9DyZ4nCGgs/s1600-h/v912.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;283&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEN0Yjxw43GACe_CFiXHli1dcnlLJy6cHUg9q51LbpcATiXcccxteKksrS-cbyWSXowIJyft1IxeyDOzqmGWj8SYrm7SjF91GrxWiln2KrUjAB6QEHWwCbBtvi1hZsn9x5L9DyZ4nCGgs/s400/v912.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;Becoming the world youngest Billionaire in January 2010 Zukerburg celebrates the 6th anniversary of Facebook today (Facebook was founded in 4th February 2004). He was one of the most influenced people in 2008 but still he is 25 years old, born in May 14, 1984. the idea Facebook came to him when he was in Harvard the idea was to publish an annual student directory with headshot photos of all students from then onwards it grows and grows now it has more than 350 millions of registered users.!!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Google :Larry Page and Sergey Brin&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcWxFFevjxzAyUEI4ofCtNTf61WEL1TWIsKwB6Nj6mFlEPcZy79uMX3ShPraxMocTyJ0yxSLzxVlWoQUZMB3ABd8HjS5UJo6J7t95tiQJeMk59_vLjVsUyUifn_kK8qvWIwe51lwOGnOc/s1600-h/SergeiBrin_LarryPage.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcWxFFevjxzAyUEI4ofCtNTf61WEL1TWIsKwB6Nj6mFlEPcZy79uMX3ShPraxMocTyJ0yxSLzxVlWoQUZMB3ABd8HjS5UJo6J7t95tiQJeMk59_vLjVsUyUifn_kK8qvWIwe51lwOGnOc/s400/SergeiBrin_LarryPage.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
Google, the search engine giant and rankas the most visited web site in alexa, has been a changer of the world wide web. Larry Page(born in March 26, 1973) and Sergey Brin(born in August 21, 1973) founded it while they were in Stanford University. their goal was &quot;to organize the world&#39;s information and make it universally accessible and useful&quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; line-height: 16px;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; line-height: 16px;&quot;&gt;&lt;b&gt;Apple : Steve Jobs&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; line-height: 16px;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5s4ccDIKVu_FM-tkZ0kutVlpHUssl7_c_uJiXUrXFFoPLBpre_XPoIRxC8kAbfHwgmYa-wxzuycylJOCQxvDlxNhSufwJAZRIU5h8NVBHPgSuFLCXEVFQqrqcdIRV3Jqvcu389Vm6n_M/s1600-h/steve-jobs-3g-iphone.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5s4ccDIKVu_FM-tkZ0kutVlpHUssl7_c_uJiXUrXFFoPLBpre_XPoIRxC8kAbfHwgmYa-wxzuycylJOCQxvDlxNhSufwJAZRIU5h8NVBHPgSuFLCXEVFQqrqcdIRV3Jqvcu389Vm6n_M/s400/steve-jobs-3g-iphone.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px; line-height: 16px;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;Without any doubt he is one of the best and greatest&amp;nbsp;entrepreneurs in the world. he was born in 24 february 1955 and was able to create the first commercially successful personal computer with Steve Wozniak in 1976. he was the most powerful business man in 2007 according to Fortune&#39;s magazine.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;b&gt;Microsoft : Bill Gates&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLLgFOCyn8nBvWp-gLQoAN2VKF5FvOpjjLgP7a1e7Kup6qAx62ANxpz_GjY15eLWSsbO9Z76KK1PEnDrjdTfcZvqAlsDBdDuBxsuxYZzJ41IpT8a4-I4s6n3eXSrZA6Ibh2G3OtFZlluM/s1600-h/33906.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLLgFOCyn8nBvWp-gLQoAN2VKF5FvOpjjLgP7a1e7Kup6qAx62ANxpz_GjY15eLWSsbO9Z76KK1PEnDrjdTfcZvqAlsDBdDuBxsuxYZzJ41IpT8a4-I4s6n3eXSrZA6Ibh2G3OtFZlluM/s400/33906.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;there is no need to introduce this man because is one of the most famous people in the industry being the world richest person for long time he has shown his excellences. he dropped out from Harvard University and then founded Microsoft. now he has left Microsoft and founded Gates foundation with his wife and has become a&amp;nbsp;philanthropist.he was named as one of the 100 most influenced people in 20th century.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;b&gt;Dell : Michael Dell&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSbtTc5Wh2-zPS9mU2S43kjK9nJBO0toJtPYglEZlCRrQv0fke_m95fGFPm5kLWYGqmCxXDPNmSuVN6rhJRvq-LAYJFou452J2MhGrl82p7q5EIKjI9TpOvdlJ_kG54FoNBA6JeVmhOkk/s1600-h/mdell.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;343&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSbtTc5Wh2-zPS9mU2S43kjK9nJBO0toJtPYglEZlCRrQv0fke_m95fGFPm5kLWYGqmCxXDPNmSuVN6rhJRvq-LAYJFou452J2MhGrl82p7q5EIKjI9TpOvdlJ_kG54FoNBA6JeVmhOkk/s400/mdell.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;Dell is one of the largest PC vendors in the world, he first encountered with a computer when he was 15 when he broke down a PC and rebuild it. he dropped out from University of Texas at Austin when he was 19 to run PC&#39;s limited which later became the famous Dell Inc.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;these are a handful of masterminds of the IT world there are a lot... but these people changed the world and made our lives easier...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Verdana, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 16px;&quot;&gt;Kesh,&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://techgossipz.blogspot.com/feeds/553561747793083992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://techgossipz.blogspot.com/2010/02/master-minds.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/553561747793083992'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/5932183700156784824/posts/default/553561747793083992'/><link rel='alternate' type='text/html' href='https://techgossipz.blogspot.com/2010/02/master-minds.html' title='The Master Minds'/><author><name>kesh</name><uri>http://www.blogger.com/profile/11389651077675705179</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEN0Yjxw43GACe_CFiXHli1dcnlLJy6cHUg9q51LbpcATiXcccxteKksrS-cbyWSXowIJyft1IxeyDOzqmGWj8SYrm7SjF91GrxWiln2KrUjAB6QEHWwCbBtvi1hZsn9x5L9DyZ4nCGgs/s72-c/v912.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>