<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1809445231766651474</id><updated>2012-01-19T12:04:05.073-08:00</updated><category term='computer science'/><category term='Twitter4j'/><category term='Android Source Setup'/><category term='free books'/><category term='ebooks'/><category term='free ebooks'/><category term='Android Sales'/><category term='Android Tutorial'/><category term='Custom Adapter'/><category term='Android Source'/><category term='Android List View'/><category term='Android Source Modification'/><category term='Android SDK'/><category term='Android SDK Setup'/><category term='Facebook Android SDK'/><category term='Internet Settings'/><category term='Splash Screen'/><category term='Android'/><category term='Facebook'/><category term='Vodafone'/><category term='Sign-in with Twitter'/><title type='text'>Everything Technical</title><subtitle type='html'>My interactions with technology!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-3023384010166717819</id><published>2011-02-23T02:20:00.000-08:00</published><updated>2011-06-21T02:49:45.660-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook Android SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android Facebook Integration</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;style type="text/css"&gt;p { margin-bottom: 0.21cm; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;Okay, I found this a little (but only a little) tough than integrating Twitter in your Android applications, but this is how it works:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Download the Facebook Android SDK  from &lt;a href="http://goo.gl/q33ZL"&gt;https://github.com/facebook&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Extract the zip file.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Inside it, there is a folder  called 'Facebook' . Its the SDK reference we'll be using.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Open up Eclipse and 'Create a new  project from existing source' (I hope you know how to do it, if not,  add a comment in the end), and select the Facebook SDK folder you  just extracted, as the source.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Remember, this is just a reference  project, thus you cant get an APK out of it.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Now create your new project.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Right click on your  project&amp;gt;Properties&amp;gt;Android&amp;gt;Library&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Select the above imported Facebook  SDK as the library&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Done, now look at the sample  project I am providing. It updates your facebook status after asking  for login.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Here's the sample project: &lt;a href="https://github.com/Sheikh-Aman/Android_Samples/tree/master/3.%20FacebookExample-StatusUpdate"&gt;Facebook Status Update Example&lt;/a&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;There are some more IMPORTANT steps to take which are &lt;a href="http://goo.gl/RCZgo"&gt;discussed here&lt;/a&gt; in detail. Do read them to understand what my project does. Though mi sample project works, but that too because I followed all those steps.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Since its a very short and quick post, If you face any problem at any level, just ping me.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-3023384010166717819?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/3023384010166717819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=3023384010166717819' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3023384010166717819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3023384010166717819'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2011/02/android-facebook-integration.html' title='Android Facebook Integration'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>10</thr:total><georss:featurename>Chandigarh, India</georss:featurename><georss:point>30.731345 76.775385</georss:point><georss:box>30.5837895 76.5419255 30.8789005 77.0088445</georss:box></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-8244516174738278422</id><published>2011-01-25T01:09:00.000-08:00</published><updated>2011-01-25T01:09:15.303-08:00</updated><title type='text'>You need answers? sure, we need etiquette !</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;style type="text/css"&gt;p { margin-bottom: 0.21cm; }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;There's one thing about Open Source tradition that everyone should know and care about.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;This is specifically for the people who are actively (or maybe not that often) ask questions on Q&amp;amp;A sites (like stackoverflow.com) and other development forums.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The person who answers you, is certainly knowing a particular thing better than you, in some cases knows MANY things better than you. This is the only reason he's able to answer you and perhaps get you out of your biggest problem of the day.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;He's sharing his hard-earned knowledge with you, for free!&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For which he could have earned serious amount of money if he was selling it. But the spirit of collaborative learning is what drives him.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;That's how OpenSource things work.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Consider the case when there was nobody to help him, he dug out things himself, and now is ready to share.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For all this favour, he at least deserves a warm thanks, or at least attention when he's waiting for you to respond.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;I have been active into Java and now Android for quite few years, and am seeing as Android is rapidly gaining success, many and many people are jumping into Android development, and obviously, are heading toward forums and Q&amp;amp;A sites for help.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;But many of them have behaviours which hurt a lot.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;You, as a person asking for help, must understand that you are being given knowledge that can help you gain competitive advantage over your peers in a certain area. Your problems are being solved, your project bottle necks are being resolved, all for free. So you at least can be nice to him, be attentive and respond frequently.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Please ask questions nicely. Provide as much information as you can, thank the person helping you.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;If you're in chat, try to be friendly and have appropriate amount of gratitude. Please.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-8244516174738278422?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/8244516174738278422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=8244516174738278422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/8244516174738278422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/8244516174738278422'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2011/01/you-need-answers-sure-we-need-etiquette.html' title='You need answers? sure, we need etiquette !'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-5974980403943177740</id><published>2011-01-13T10:29:00.000-08:00</published><updated>2011-04-12T20:40:50.296-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sign-in with Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter4j'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android: Sign-in with Twitter</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Hi.&lt;br /&gt;&lt;br /&gt;Many people use Twitter4J for coding Twitter clients for Android, but I couldn't find a single example of how to implement "Sign-in with twitter" in my Android applications, as Facebook Single Sign-on works.&lt;br /&gt;So I coded my own.&lt;br /&gt;&lt;br /&gt;I took references from sign-post methodology and Twitter4J itself, merged goods of both and finally had what I wanted.&lt;br /&gt;&lt;br /&gt;Find the whole project at this link:&amp;nbsp;&lt;strike&gt;http://goo.gl/GOjiE&lt;/strike&gt; (No longer works)&lt;br /&gt;Find the project at this link now: &lt;a href="http://goo.gl/t5VPD"&gt;http://goo.gl/t5VPD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The code should be self explanatory, still if you need any help, revert.&lt;br /&gt;my contact details can be found on: &lt;a href="http://www.sheikhaman.com/"&gt;www.sheikhaman.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Happy coding!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update:&lt;/b&gt; I have been seeing many people not getting the idea of all the stuff being done in the code. So here's the simple step by step explanation of what's happening:&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Make sure your twitter app is set as a Web application rather than a Desktop Client. For this you'll have to specify a callback URL at twitter's end. Don't worry, it won't bother us much.&lt;/li&gt;&lt;li&gt;You have the consumerKey and consumerSecret from twitter, you use twitter4j and create an auth URL with helpt of its methods. you specify a callback URL at this level.&lt;/li&gt;&lt;li&gt;Then you invoke an intent that opens this URL in device's browser and takes the user to twitter for logging in.&lt;/li&gt;&lt;li&gt;Once the user logs in, Twitter asks him/her to allow/deny your app, the access to your twitter profile.&lt;/li&gt;&lt;li&gt;Once the user allows/denies permissions to your app, the browser redirects to the callback URL, which you had provided in the second step, and if you're going by my code, that callback URL calls your activity back.&lt;/li&gt;&lt;li&gt;When you're activity gains the focus again, you separate the token and secret from it.&lt;/li&gt;&lt;li&gt;You then create an AccessToken with those token and secret, and use this AccessToken for interaction with twitter.&lt;/li&gt;&lt;li&gt;You can (you should) also save the token and secret and use it to create AccessToken for future interactions with twitter.&lt;/li&gt;&lt;li&gt;If the user wants to logout, simply delete the token and secret from your app. Since twitter4j works in complete stateless manner, you don't have to do anything more.&lt;/li&gt;&lt;li&gt;Once logged in, you'll have access to user's twitter account untill one of the two things happen: 1) The user logs out, or 2) The user revokes access to your app from twitter.&lt;/li&gt;&lt;/ul&gt;I hope this was explanatory.&lt;br /&gt;Again, In case of questions, revert.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-5974980403943177740?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/5974980403943177740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=5974980403943177740' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/5974980403943177740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/5974980403943177740'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2011/01/android-sign-in-with-twitter.html' title='Android: Sign-in with Twitter'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-1739915719780752664</id><published>2011-01-12T08:30:00.000-08:00</published><updated>2011-01-19T02:50:52.223-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet Settings'/><category scheme='http://www.blogger.com/atom/ns#' term='Vodafone'/><title type='text'>Vodafone Mobile Connect settings for Android handsets.</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;If you're also in the same condition which I was in a couple of weeks ago, you're at the right place to find a solution.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;I live in India , I had GPRS/Internet enabled through Vodafone, but it only used to work with the browser and nothing else.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;I couldn't access Gmail, Market, Twitter, Facebook, Maps and my own apps&amp;nbsp; which used the internet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;After a lot of research, I found out that its the problem with Internet Settings.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;I was using settings, made for &lt;/span&gt;&lt;span lang="EN-IN" style="font-family: 'Times New Roman',serif;"&gt;“&lt;/span&gt;&lt;span lang="EN-IN"&gt;Vodafone live!&lt;/span&gt;&lt;span lang="EN-IN" style="font-family: 'Times New Roman',serif;"&gt;”&lt;/span&gt;&lt;span lang="EN-IN"&gt; while I had to use settings fo &lt;/span&gt;&lt;span lang="EN-IN" style="font-family: 'Times New Roman',serif;"&gt;“&lt;/span&gt;&lt;span lang="EN-IN"&gt;Vodafone Mobile Connect&lt;/span&gt;&lt;span lang="EN-IN" style="font-family: 'Times New Roman',serif;"&gt;”&lt;/span&gt;&lt;span lang="EN-IN"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;I had to go to a Vodafone Mini Store here in India, and had to make the guy understand that although my phone is a Sony Ericsson, but its an Android handset, as he was only searching for settings sent by Vodafone for Sony Ericsson handsets.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;After searching his computer for a short while, I found out that there were dedicated settings for &lt;/span&gt;&lt;span lang="EN-IN" style="font-family: 'Times New Roman',serif;"&gt;“&lt;/span&gt;&lt;span lang="EN-IN"&gt;Android Handsets&lt;/span&gt;&lt;span lang="EN-IN" style="font-family: 'Times New Roman',serif;"&gt;”&lt;/span&gt;&lt;span lang="EN-IN"&gt; provided by Vodafone.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;So, here they are:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;ul&gt;&lt;li&gt;Navigate to network settings:  Menu &amp;gt; Settings &amp;gt; Wireless &amp;amp; Networks &amp;gt; Mobile Networks &amp;amp; Access Point Names &amp;gt; New APN (via 'menu' button)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Name: VMC&lt;/li&gt;&lt;br /&gt;&lt;li&gt;APN: www&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;Proxy: 0.0.0.0&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;Port: 9401&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;Username: --blank--&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;Password:&amp;nbsp;&lt;/span&gt;--blank--&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;Server:&amp;nbsp;&lt;/span&gt;--blank--&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;MMSC:&amp;nbsp;&lt;/span&gt;--blank--&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;MMS Proxy:&amp;nbsp;&lt;/span&gt;--blank--&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;MMS Port:&amp;nbsp;&lt;/span&gt;--blank--&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;MCC: 404&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;MNC: 88&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;Authentication Type: None&lt;/span&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span lang="EN-IN"&gt;Apn Type:&amp;nbsp;&lt;/span&gt;--blank--&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;Save these settings, make them default, and restart data connection (or restart your phone) and things should work fine now.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;The only drawback I noticed, was that the browser won't work using these settings.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;So for this, you have Opera Mini!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;Please remember that these settings are for Vodafone India. They might not work in other countries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;On the other note, I also have subscribed to their internet services by paying extra fee, not doing so, might also keep your apps from accessing the internet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="EN-IN"&gt;Just research this on your end. :-)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-1739915719780752664?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/1739915719780752664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=1739915719780752664' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/1739915719780752664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/1739915719780752664'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2011/01/vodafone-mobile-connect-settings-for.html' title='Vodafone Mobile Connect settings for Android handsets.'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-3750677247722639099</id><published>2010-12-14T22:29:00.000-08:00</published><updated>2011-02-14T03:46:49.564-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Custom Adapter'/><category scheme='http://www.blogger.com/atom/ns#' term='Android Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Android List View'/><title type='text'>Android Tutorial : Custom adapter for ListView to create bubble shaped list rows</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;style type="text/css"&gt;p { margin-bottom: 0.21cm; }a:link {  }&lt;/style&gt;  &lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;Hi.&lt;br /&gt;I am seeing many people interested in writing their own adapters for various reasons. the primary reason being their need to implement their custom layouts in the rows.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;In this tutorial, I am going to explain how you can set custom layouts to your lists and their rows.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Although, &lt;a href="http://goo.gl/phvuz"&gt;here&lt;/a&gt;'s an in-depth article (An excerpt from his awesome book) about custom adapters from the great book of 'CommonsGuy' Mark Murphy at his website, but this tutorial is a quick way of doing that.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;For this example, I have created a ListView which has a custom background, and custom rows representing a conversation in bubble format.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Here's the screenshot to make things clear:&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_o9EYB0b5APY/TQhehacAjII/AAAAAAAACv0/u-PNhnwFFyc/s1600/device.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_o9EYB0b5APY/TQhehacAjII/AAAAAAAACv0/u-PNhnwFFyc/s1600/device.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Find the whole source code at &lt;a href="http://goo.gl/7SiQy"&gt;this link&lt;/a&gt;. &lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;The whole concept works like this-&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;You create two layouts:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;One for Even rows&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;One for Odd rows&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;These layouts are designed keeping  in mind that they'll be used as layouts of a row.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Your code has an array containing  the data that will be displayed in the list view.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;Inside your code, write a simple  class extending BaseAdapter.&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;In this class we implement   following methods of Android.Widget.Adapter super class, in order   to get things working:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;i&gt;getCount()&lt;/i&gt; - returns the total    number of elements in your data array&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;i&gt;getIterm()&lt;/i&gt; - returns the data    item associated with the specified position in the data set. Not    implemented at this point.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;i&gt;getItemId()&lt;/i&gt; - returns the row id    associated with the specified position in the list. Not    implemented at this point.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;i&gt;getView()&lt;/i&gt; - returns the row that    has to be drawn. This is the method we're interested in the most.    It will be called every time the ListView draws a new row.&lt;br /&gt;Here,    you can control what gets drawn in a particular row, by selecting    a layout and setting data into it.&lt;br /&gt;In our example, we are    checking whether the position of the row is even or odd, and    according to that, we are setting the row's layout.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;I have also set a background to  the layout which holds the list.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;A list has a transparent background  in normal conditions which makes you see the image that you set as  the layout background, but when the List is scrolled, it doesn't  remain transparent any more.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="margin-bottom: 0cm;"&gt;If you want you background image  to be visible while scrolling too, set cacheColorHint of your  ListView.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Refer to the project for more, and revert for feedback.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Download the source code &lt;a href="http://goo.gl/7SiQy"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Happy Coding! &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-3750677247722639099?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/3750677247722639099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=3750677247722639099' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3750677247722639099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3750677247722639099'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/12/android-tutorial-custom-adapter-for.html' title='Android Tutorial : Custom adapter for ListView to create bubble shaped list rows'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_o9EYB0b5APY/TQhehacAjII/AAAAAAAACv0/u-PNhnwFFyc/s72-c/device.png' height='72' width='72'/><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-7865349500970178946</id><published>2010-12-13T22:10:00.000-08:00</published><updated>2010-12-13T22:16:03.902-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Splash Screen'/><category scheme='http://www.blogger.com/atom/ns#' term='Android SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Show Splash Screen for fixed amount of time in Android Apps</title><content type='html'>&lt;style type="text/css"&gt;p { margin-bottom: 0.21cm; }&lt;/style&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;You'll be into situations where you have to present a user with a splash screen that stays for  sometime and then loads the main application and goes away.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;This post demonstrates a code that displays a splash screen for a fixed amount of time and then loads the main screen.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;This code isn't for the situation where you have to display a splash screen until you finish doing some work or load data from the web.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;It will be covered in a different post.&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;Read the code, and understand the things from the comments&lt;/div&gt;&lt;div style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;import android.app.Activity; &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;import android.content.Intent; &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;import android.content.SharedPreferences; &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;import android.os.Bundle; &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;import android.os.Handler; &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;import android.view.Window; &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;import android.view.WindowManager;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;public class SplashScreen extends Activity {&lt;/div&gt;&lt;div style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;private final int DISPLAY_LENGTH = 1000;&lt;/div&gt;&lt;div style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;/** Called when the activity is first created. */ &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;@Override &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;public void onCreate(Bundle icicle) { &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;super.onCreate(icicle); &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;requestWindowFeature(Window.FEATURE_NO_TITLE);   &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,    &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;WindowManager.LayoutParams.FLAG_FULLSCREEN); &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;setContentView(R.layout.splash_screen); &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;&lt;br /&gt;/* New Handler to start the Menu-Activity &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;* and close this Splash-Screen after DISPLAY_LENGTH/1000  seconds.*/ &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;new Handler().postDelayed(new Runnable(){ &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;@Override &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;public void run() { &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;/* Create an Intent that will start the Main-Activity. */ &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;Intent mainIntent = new Intent(SplashScreen.this,Main.class); &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;SplashScreen.this.startActivity(mainIntent); &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;SplashScreen.this.finish();             &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;} &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;}, DISPLAY_LENGTH); &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;} &lt;/div&gt;&lt;div style="background-color: #eeeeee; margin-bottom: 0cm;"&gt;}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-7865349500970178946?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/7865349500970178946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=7865349500970178946' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/7865349500970178946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/7865349500970178946'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/12/show-splash-screen-for-fixed-amount-of.html' title='Show Splash Screen for fixed amount of time in Android Apps'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-4085248868073280704</id><published>2010-10-13T15:16:00.000-07:00</published><updated>2011-01-19T02:55:31.430-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android Source Setup'/><category scheme='http://www.blogger.com/atom/ns#' term='Android Source Modification'/><category scheme='http://www.blogger.com/atom/ns#' term='Android Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android OS Source Code Modification (Part-II): Making the System</title><content type='html'>Considering that you have followed all the instructions in my previous post &lt;a href="http://thetechnib.blogspot.com/2010/10/android-os-source-code-modification.html"&gt;here&lt;/a&gt;, I take this series of post forward which illustrates how to compile the source code in order to get it running in an emulator.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;u&gt;&lt;b&gt;Building Android 2.2 source to run an Emulator&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The main reason for first doing this instead of illustrating the modification of source is that, you should know what steps you have to perform in order to see the changes that you have made.&lt;/div&gt;&lt;div style="text-align: left;"&gt;Secondly, you must be aware of outcomes of your modification.&lt;/div&gt;&lt;div style="text-align: left;"&gt;Third, You must know what your objective is, then you'll be able to work more precisely, for example, you now know that you have to run your modifications in an emulator, so you'll see the screens, change them, make the build and will again run the emulator to see the changes.&lt;/div&gt;&lt;div style="text-align: left;"&gt;Moreover, I feel that it will help you understand what actually happens when we build for a system, as a result, you'll be able to make changes more comfortably, and without working vaguely .&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;So, I have just ended up creating an emulator, and there's really nothing big involved in this.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;To start the compiling/building/making process, we just use the &lt;code&gt;make&lt;/code&gt; command.&lt;/div&gt;&lt;div style="text-align: left;"&gt;And to make it deliver an emulator, we use the &lt;code&gt;sdk&lt;/code&gt; switch with &lt;code&gt;make&lt;/code&gt; command.&lt;/div&gt;&lt;div style="text-align: left;"&gt;This is done in the following manner:&lt;br /&gt;&lt;br /&gt;In a shell prompt, first go to the directory where your files are (probably under 'bin' or 'mydroid') or you can also set the $PATH to have any of these folders in your path, then run:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ make sdk&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The above lines will compile the source and will generate an &lt;code&gt;sdk&lt;/code&gt; folder under your root directory (most probably this root directory will be 'bin')&lt;br /&gt;If your build fails due to a missing &lt;code&gt;run-java-tool&lt;/code&gt; then run the following command to simple set your environment variable ANDROID_JAVA_HOME:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ export ANDROID_JAVA_HOME=$JAVA_HOME&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Then again start the build process with the &lt;code&gt;make sdk&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now wait for a long time, as it is going to take long for it to compile the code.&lt;br /&gt;on my machine, it took 5 hours.&lt;br /&gt;&lt;br /&gt;When it finishes, you should be able to find one &lt;code&gt;sdk&lt;/code&gt; folder under following directories:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;~/bin/out/host/[OS build]/sdk&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;in my case, the &lt;code&gt;[OS build]&lt;/code&gt; folder was &lt;code&gt;linux-x86&lt;/code&gt;, so just replace it with yours.&lt;br /&gt;under normal circumstances, it should be yours too.&lt;br /&gt;&lt;br /&gt;This folder will have the emulator which you can run.&lt;br /&gt;This emulator can be found in:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;~/bin/out/host/[OS build]/sdk/[sdk version dependant folder]/tools&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;here &lt;code&gt;[OS build]&lt;/code&gt; was &lt;code&gt;linux-x86&lt;/code&gt; on my system&lt;br /&gt;and &lt;code&gt;[sdk version dependant folder]&lt;/code&gt; was &lt;code&gt;android-sdk_eng.root_linux-x86&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;To run the emulator that you have just built, you'll run the &lt;code&gt;emulator&lt;/code&gt; command from a terminal, but before that, you must have an AVD to run the emulator.&lt;br /&gt;&lt;br /&gt;So,to create an AVD, run the following commands under a terminal&lt;/div&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ cd /bin/out/host/[OS build]/sdk/[sdk version dependant folder]/tools&lt;/code&gt;&lt;br /&gt;&lt;code&gt;$ ./android &lt;/code&gt;create avd -n [Your AVD's name] -t 1 &lt;/pre&gt;&lt;br /&gt;here &lt;code&gt;[Your AVD's name]&lt;/code&gt; is whatever you want your AVD to be named like&lt;br /&gt;&lt;br /&gt;As a result, you might get something like this-&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;Android AOSP (Preview) is a basic Android platform.&lt;br /&gt;Do you wish to create a custom hardware profile [no]no&lt;br /&gt;Created AVD '[Your AVD's name]' based on Android AOSP (Preview),&lt;br /&gt;with the following hardware config:&lt;br /&gt;hw.lcd.density=160&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Now, to run the emulator with this AVD, run the following command:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;~/bin/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools$ ./emulator @[Your AVD's name]&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;You should get your Emulator running.&lt;br /&gt;&lt;br /&gt;In the next post, I might show how to make changes in few things of the source, and how to build an emulator to see those changes.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-4085248868073280704?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/4085248868073280704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=4085248868073280704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/4085248868073280704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/4085248868073280704'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/10/android-os-source-code-modification_13.html' title='Android OS Source Code Modification (Part-II): Making the System'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-2362547715334938473</id><published>2010-10-08T07:01:00.000-07:00</published><updated>2011-01-19T02:57:54.613-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android Source Setup'/><category scheme='http://www.blogger.com/atom/ns#' term='Android Source Modification'/><category scheme='http://www.blogger.com/atom/ns#' term='Android Source'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android OS Source Code Modification:  Getting Started with Android Source Code modification</title><content type='html'>I have just started playing with Android OS Source and I can assure you, it can be a real pain for some people, so be prepared.&lt;br /&gt;&lt;br /&gt;For all the downloading and documentation needs, you can go to: &lt;a href="http://source.android.com/"&gt;source.android.com&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;We'll be using one key command , &lt;b&gt;repo&lt;/b&gt;, to download the OS from the Git repository.&lt;br /&gt;be patient and read the full article, it will explain all.&lt;br /&gt;&lt;br /&gt;First of all, you can't play with it on your beloved Windows (to be specific, Android 2.2 Source Code development doesn't support Windows) . you'll have to get a Linux (preferably Ubuntu, as they've used Ubuntu) to work with the source of Android 2.2.&lt;br /&gt;&lt;br /&gt;Second, Not all the things written in the documentation are correct. I cam across many anomalies in the documentation, sometimes total contradictions too, so I'll be discussing the real details too.&lt;br /&gt;&lt;br /&gt;To download the source code, you'll have to go to this link to get the instructions (While I am also giving them here) -&amp;gt; &lt;a href="http://source.android.com/source/index.html"&gt;http://source.android.com/source/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;Steps to setup developer machine:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You should have a Mac or Ubuntu machine, as Windows is not yet supported. Now here's the catch, the documentation says they haven't tested 64 bit versions of Ubuntu and prefer to have feedbacks, but the reality is, &lt;u&gt;&lt;i&gt;if you are going to work with Android 2.2 or higher, you wouldn't be able to build your source if you aren't running a 64 bit version&lt;/i&gt;&lt;/u&gt;. so better get the 64 bit version of Ubuntu and follow the steps ahead. and please, do get a hi end system with at least 3 GB of RAM, good 64-bit processor-motherboard and nice HDD space, as while development and building, Android OS becomes a monster in every aspect.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;As soon as you finish setting up your Ubuntu 64, you'll have to setup some more things. use this command to get them:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl &lt;strike&gt;sun-java5-jdk&lt;/strike&gt; zlib1g-dev  gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;Notice here, there are a lot of packages being installed, but perhaps you won't be able to install &lt;i&gt;sun-java5-jdk&amp;nbsp; &lt;/i&gt;as its not available in Ubuntu repository. You'll have to install it via Sun's website. AND it will also not be supported, as Android 2.2 will require Java6. don't go by the documentation for this. this is why i have written it in strike-through.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;Now, install Java6. to ask how this will be done, ask me separately or google for it, as this article isn't about it.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;&lt;b&gt;Repo &lt;/b&gt;&amp;amp; &lt;b&gt;Git: &lt;/b&gt;Repo is a client that fetches the source of Android OS from the git repository. Google guys maintain the code of Android on git, and its updated frequently, so now you'll have to setup repo and fetch the source code. &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family: inherit;"&gt;&amp;nbsp;&lt;b&gt;Configuring Repo:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family: inherit;"&gt;To download repo, you'll have to follow some easy steps, follow these lines:&lt;br /&gt;&lt;/span&gt; &lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;$ cd ~&lt;br /&gt;$ mkdir bin &lt;br /&gt;$ echo $PATH &lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The last line checks if &lt;code&gt;~/bin &lt;/code&gt; is in your path.&lt;br /&gt;Now to download repo:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;$ curl http://android.git.kernel.org/repo &amp;gt;~/bin/repo&lt;br /&gt;$ chmod a+x ~/bin/repo&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;This will download the repo script and will make it executable.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;now the next step is to fetch the whole Android code. hold your breath,  its of about 2.1 GB, and will take a LONG time! run this command:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ ./repo init -u git://android.git.kernel.org/platform/manifest.git&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Notice that the documentation doesn't include a './' before repo in this command, but you'll have to include it in order to run it. this will download the manifest and will set the repo client up, so that  when you sync, it downloads the correct thing. It will ask for your  name and email, so give it. better if its a Google account, it can be  used to submit back the code. The next command will start download:&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); color: black; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;$ ./repo sync&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;this command will start syncing your current directory (that is  ~/bin) with the Android 2.2 git repository. As this process is going to  take time, you can go out for a walk or a game.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Every time you run the syncing, it will sync your base code with the code available in the repository, so possible upgrades will happen. It will be good if you follow a good backup policy.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;When you're back, the Android OS might have got downloaded by then, and you can begin experimentation with it.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;That's it for now. In my next post I'll explain how to setup Eclipse for Android Source modification and how to build the whole OS.&lt;br /&gt;&lt;br /&gt;Till then, take care.&lt;br /&gt;and, I love your comments, so go ahead!&lt;br /&gt;&lt;ol&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-2362547715334938473?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/2362547715334938473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=2362547715334938473' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2362547715334938473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2362547715334938473'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/10/android-os-source-code-modification.html' title='Android OS Source Code Modification:  Getting Started with Android Source Code modification'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-6756712860936306894</id><published>2010-08-16T11:53:00.000-07:00</published><updated>2010-08-16T11:54:28.615-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android SDK Setup'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Guide: How to set up Android SDK on Linux machines</title><content type='html'>I know many of you have already done this before, but I also believe that there will be a lot who will gain from this document.&lt;br /&gt;&lt;br /&gt;Here is a 6 page Google doc in PDF format, which teaches you how to install Android SDK on your Linux machine, set it up and even makes you build your first project on it.&lt;br /&gt;&lt;br /&gt;I hope you'll find it useful.&lt;br /&gt;Find the document here: &lt;a href="http://bit.ly/cQJJKE"&gt;http://bit.ly/cQJJKE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Feel free to download, and in case of any correction, complaint, modification request, you always have comments area here on blogspot :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-6756712860936306894?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/6756712860936306894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=6756712860936306894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/6756712860936306894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/6756712860936306894'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/08/guide-how-to-set-up-android-sdk-on.html' title='Guide: How to set up Android SDK on Linux machines'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-3111218760414359995</id><published>2010-08-04T11:29:00.000-07:00</published><updated>2010-08-04T11:29:55.889-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android Sales'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Android is on it's way to become #1</title><content type='html'>Hi guys.&lt;br /&gt;I little time has passed since I last posted.&lt;br /&gt;Quite a few things have changed since then, like my location.&lt;br /&gt;&lt;br /&gt;But most effective (and which worth talking about) is the Android sales.&lt;br /&gt;Today, news broke up that Android is now the #1 smartphone platform in the US.&lt;br /&gt;&lt;br /&gt;Good News for all of us (or maybe only for Android devs out here huh?)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For more details, you can see this link: &lt;a href="http://news.cnet.com/8301-1035_3-20012627-94.html"&gt;Android hits #1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-3111218760414359995?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/3111218760414359995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=3111218760414359995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3111218760414359995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3111218760414359995'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/08/android-is-on-its-way-to-become-1.html' title='Android is on it&apos;s way to become #1'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-6151693108280355998</id><published>2010-03-20T03:08:00.000-07:00</published><updated>2010-03-20T03:12:03.801-07:00</updated><title type='text'>Android :: Cool Tool :: Drag n Drop GUI Designer</title><content type='html'>&lt;div dir="ltr"&gt;Hi guys.&lt;br /&gt;&lt;div&gt;Recently I came across a free (Open Source) and very useful tool for designing the UI of your android applications.&lt;/div&gt;&lt;div&gt;I know that at times, it becomes painful, and confusing too, to design the exact UI of your choice.&lt;/div&gt;&lt;div&gt;For these purposes, this tool called &lt;b&gt;DroidDraw&lt;/b&gt;&amp;nbsp;is a life saver.&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_o9EYB0b5APY/S6SfQfUaRZI/AAAAAAAACo8/dRuFi4cA7ts/s1600-h/dd.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_o9EYB0b5APY/S6SfQfUaRZI/AAAAAAAACo8/dRuFi4cA7ts/s320/dd.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Frankly i like this very very much.&lt;/div&gt;&lt;div&gt;Have a screenshot here, and go download it here:&amp;nbsp;&lt;a href="http://www.droiddraw.org/"&gt;http://www.droiddraw.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_o9EYB0b5APY/S6SfXUANcCI/AAAAAAAACpE/zUMS_JDMxRA/s1600-h/dd1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="378" src="http://1.bp.blogspot.com/_o9EYB0b5APY/S6SfXUANcCI/AAAAAAAACpE/zUMS_JDMxRA/s640/dd1.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;u&gt;How It Works-&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Simply Drag and drop components on you screen, select layout, select/create values or do whatever you like.&lt;/div&gt;&lt;div&gt;and Click the button &lt;i&gt;generate&lt;/i&gt;&amp;nbsp;on top left corner, and you'll get the XML layout.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Check website for more info and cool tutorials&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Good News:&amp;nbsp;&lt;/b&gt;Its an online tool, but it is also available as a download for Windows, Linux, Mac. Thats the power of J !!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-6151693108280355998?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/6151693108280355998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=6151693108280355998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/6151693108280355998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/6151693108280355998'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/03/android-cool-tool-drag-n-drop-gui.html' title='Android :: Cool Tool :: Drag n Drop GUI Designer'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_o9EYB0b5APY/S6SfQfUaRZI/AAAAAAAACo8/dRuFi4cA7ts/s72-c/dd.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-3081607119263307664</id><published>2010-03-17T04:22:00.000-07:00</published><updated>2010-03-17T04:23:00.730-07:00</updated><title type='text'>MySql :: How to convert UNIX_TIMESTAMP data into DATE data in queries</title><content type='html'>&lt;div dir="ltr"&gt;Hi guys.&lt;br&gt;there might be some situations where you would want to convert a data stored in UNIX_TIMESTAMP format (may be by your program or else) to human readable DATE format of mysql, then just run this query-&lt;br&gt;  &lt;br&gt;&lt;i&gt;&lt;b&gt;SELECT FROM_UNIXTIME(time_stamp_fieldname) as any_ FROM table;&lt;/b&gt;&lt;/i&gt;&lt;br&gt;&lt;br&gt;and see the results in a new table format, every record&amp;#39;s timestamp data will be changed in Date data.&lt;br&gt;try it.&lt;br&gt;n&lt;br&gt;enjoy!&lt;br&gt;  :-)&lt;br&gt; &lt;div style="margin: 0pt;" name="sig_ec533a6470"&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-3081607119263307664?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/3081607119263307664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=3081607119263307664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3081607119263307664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3081607119263307664'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/03/mysql-how-to-convert-unixtimestamp-data.html' title='MySql :: How to convert UNIX_TIMESTAMP data into DATE data in queries'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-2032182261616909895</id><published>2010-03-15T02:55:00.000-07:00</published><updated>2010-03-15T03:00:10.440-07:00</updated><title type='text'>How to Unfriend (remove from friend list) Some one on the "New  Facebook"</title><content type='html'>&lt;div dir="ltr"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Okay, here I go.&lt;br /&gt;&lt;div&gt;i tried to find on so many sites, but they all suggest you how to do this in the previous User Interface of Facebook, not in this one.&lt;/div&gt;&lt;div&gt;So here I show you how to do this..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;1.) &lt;/b&gt;&amp;nbsp;That option is moved under &lt;b&gt;Account&lt;/b&gt;&amp;nbsp;tab. so click on it, and select "&lt;i&gt;Edit Friends". &lt;/i&gt;&amp;nbsp;Like this-&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="1.PNG" src="https://mail.google.com/mail/?ui=2&amp;amp;ik=9e35dd0678&amp;amp;view=att&amp;amp;th=1276135b7f485d25&amp;amp;attid=0.2&amp;amp;disp=attd&amp;amp;realattid=ii_1276134d208929ce&amp;amp;zw" title="1.PNG" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2.)&lt;/b&gt;&amp;nbsp;Now when you click this, another page will appear, like this-&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_o9EYB0b5APY/S54EsFpY-yI/AAAAAAAACnI/S03LjYzhePA/s1600-h/3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="280" src="http://1.bp.blogspot.com/_o9EYB0b5APY/S54EsFpY-yI/AAAAAAAACnI/S03LjYzhePA/s640/3.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;3.) &lt;/b&gt;In that page, click on &lt;b&gt;All Connections&lt;/b&gt;&amp;nbsp;(marked with "1"), and when all your friends show up in the list, click on the &lt;b&gt;X&lt;/b&gt;&amp;nbsp;in front of each friend to remove him/her from your friend list (marked with "2").&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thats it. You're done!&lt;/div&gt;&lt;div&gt;Simple.&lt;/div&gt;&lt;div&gt;wasn't it?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-2032182261616909895?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/2032182261616909895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=2032182261616909895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2032182261616909895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2032182261616909895'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/03/how-to-unfriend-remove-from-friend-list.html' title='How to Unfriend (remove from friend list) Some one on the &quot;New  Facebook&quot;'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_o9EYB0b5APY/S54EsFpY-yI/AAAAAAAACnI/S03LjYzhePA/s72-c/3.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-2241381216438223765</id><published>2010-03-13T02:13:00.001-08:00</published><updated>2010-03-13T02:17:32.615-08:00</updated><title type='text'>How to import data into MySql Database table from a CSV file</title><content type='html'>&lt;div dir="ltr"&gt;Whenever I have to fill a table with data in CSV file, I do this-&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;1.)&lt;/b&gt;&amp;nbsp;Log in to your mysql console&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;i&gt;mysql -u root -p&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2.)&lt;/b&gt;&amp;nbsp;Make sure you have a database set up. now select that database&lt;/div&gt;&lt;div&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp; &lt;span class="Apple-style-span" style="font-family: inherit;"&gt;mysql&amp;gt; use mydatabase;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;3.) &lt;/b&gt;Create the table where you'll be inserting the data of CSV. now here, make sure that the table has the same column names ordering as they appear in the CSV file, because mysql puts all data as it encounters it. means in the same order. so if u break the order, then ur table may have fields with irrelevant data.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;4.) &lt;/b&gt;Now fire this command to actually load the data from CSV into table-&lt;/div&gt;&lt;div&gt;&lt;code&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; mysql&amp;gt;load data local infile 'c:/path/to ur/ file/filename.csv' into table yourTableName&amp;nbsp;fields terminated by ','&amp;nbsp;enclosed by ' " '&amp;nbsp;lines terminated by '\n&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, sans-serif;"&gt;'&lt;/span&gt;&lt;/i&gt;&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This should do all.&lt;/div&gt;&lt;div&gt;Any confusions?&lt;/div&gt;&lt;div&gt;ask me.&lt;/div&gt;&lt;div&gt;comment/compliment here.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-2241381216438223765?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/2241381216438223765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=2241381216438223765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2241381216438223765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2241381216438223765'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/03/how-to-import-data-into-mysql-database.html' title='How to import data into MySql Database table from a CSV file'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-3574609491769292641</id><published>2010-03-02T20:59:00.000-08:00</published><updated>2010-03-02T21:00:05.893-08:00</updated><title type='text'>Why is Apple Suing HTC and not Google ?</title><content type='html'>&lt;div dir="ltr"&gt;&lt;div class="gmail_quote"&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Posted By Varun Krish On March 3, 2010 (1:07 am) on Fone Arena&lt;/p&gt;&lt;p&gt;&lt;img title="apple-htc-google-nexus-one" src="http://www.fonearena.com/blog/wp-content/uploads/2010/03/apple-htc-google-nexus-one.jpg" alt="" width="400" height="316"&gt;&lt;/p&gt;   &lt;p&gt;Apple is suing HTC over &lt;a href="http://www.fonearena.com/blog/2010/03/03/apple-sues-htc-over-infringment-of-20-patents.html" target="_blank"&gt;infringment of patents &lt;/a&gt; related to the iPhone. But we doubt that this suit is aimed at HTC ,  it is aimed at Android or for that matter Google – the creator of the Android operating system. So why is Apple suing HTC and not Google ?&lt;/p&gt;   &lt;p&gt;&lt;/p&gt; &lt;p&gt;HTC is the largest maker of Android handsets and they are the makers of the latest  Google phone – the Nexus One. They worked really closely with Google for the production of the phone as you can see in the &lt;a href="http://www.fonearena.com/blog/2010/02/07/the-making-of-the-google-nexus-one-behind-the-scenes-videos.html" target="_blank"&gt;Making of the Nexus One videos&lt;/a&gt;. While the Nexus One is the first Android phone to be sold directly by Google,  the T-Mobile  G1 which was launched back in 2008 was the first Android phone and developed by HTC.&lt;/p&gt;   &lt;p&gt;&lt;img src="http://www.fonearena.com/blog/wp-content/uploads/2008/12/google-phone-airtel-india-225x300.jpg" alt=""&gt;&lt;/p&gt; &lt;p&gt;Google has been betting that &lt;a href="http://www.fonearena.com/blog/2008/03/17/google-bets-that-android-will-outperform-apple-iphone.html" target="_blank"&gt;Android will outperform the  iPhone &lt;/a&gt;and after the success of the &lt;a href="http://www.fonearena.com/blog/2009/12/09/motorola-droid-ousts-apple-iphone-for-the-2009-times-gadget-of-the-year.html" target="_blank"&gt;Motorola Droid&lt;/a&gt; and amount of the coverage the &lt;a href="http://www.fonearena.com/blog/tag/nexus-one" target="_blank"&gt;Nexus One &lt;/a&gt;has been getting since its launch is pretty impressive. Now the complaints filed talk about the &lt;a href="http://www.fonearena.com/htc-google-nexus-one_1041.html" target="_blank"&gt;Nexus One&lt;/a&gt;, &lt;a href="http://www.fonearena.com/htc-g1_716.html" target="_blank"&gt;HTC G1&lt;/a&gt; &lt;a href="http://www.fonearena.com/htc-hero_918.html" target="_blank"&gt;, Hero&lt;/a&gt;, &lt;a href="http://www.fonearena.com/htc-magic_916.html" target="_blank"&gt;Magic &lt;/a&gt;and Droid Eris – Android Phones.&lt;/p&gt;   &lt;p&gt;It's pretty clear now why Google CEO Eric Schmidt got booted from the Apple Board. Earlier rumors indicated Apple was  &lt;a href="http://www.fonearena.com/blog/2010/01/21/apple-ditching-google-search-for-microsoft-bing-on-iphone.html" target="_blank"&gt;dropping Google as the default search engine on the iPhone &lt;/a&gt;and that the company was replacing &lt;a href="http://www.fonearena.com/blog/2009/11/30/apple-ditching-google-maps-on-the-iphone-for-own-mapping-solution.html" target="_blank"&gt;Google Maps&lt;/a&gt; with it's own mapping solution.&lt;/p&gt;   &lt;p&gt;Google beat Apple in the race to pick up mobile &lt;a href="http://www.fonearena.com/blog/2009/11/09/google-buys-admob-for-750-million.html" target="_blank"&gt;advertising company Admob &lt;/a&gt;last year .&lt;/p&gt; &lt;p&gt;On examining the partial list of &lt;a href="http://www.fonearena.com/blog/2008/03/17/google-bets-that-android-will-outperform-apple-iphone.html" target="_blank"&gt;patents &lt;/a&gt;Apple has managed to patent some of the most obvious things and it leaves almost no room for innovation by other players. We do love the iPhone touchscreen and it's one of the best phones we have ever used. Some of the patents under the radar are.&lt;/p&gt;   &lt;ul&gt; &lt;li&gt;Unlocking A Device By Performing Gestures On An Unlock Image&lt;/li&gt; &lt;li&gt;List Scrolling And Document Translation, Scaling, And Rotation On A Touch-Screen Display&lt;/li&gt; &lt;li&gt;System And Method For Managing Power Conditions Within A Digital Camera Device&lt;/li&gt; &lt;li&gt;Conserving Power By Reducing Voltage Supplied To An Instruction-Processing Portion Of A Processor&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Although the rumors indicated Apple and Google were parting ways, during the recent iPad announcement , Steve Jobs was pretty happy to show off the Google Maps application on the iPad. Apple might not want to sue the neighboring Mountain View based Company as Google Services are critical for Apple products . But it's pretty clear that Apple wants to send out a message to Google and  other Android manufacturers. We won't be surprised if Apple sued  Motorola next .&lt;/p&gt;   &lt;p&gt;We are no legal experts but if  the patent madness continues , someone might even patent the way you breathe or make love or take a leak !&lt;/p&gt; &lt;p&gt;Wish the patent system gets a revival and there is lesser room for corporate monopoly !&lt;/p&gt;&lt;p&gt;Article taken from Fone Arena - The Mobile Blog - &lt;a href="http://www.fonearena.com/blog" target="_blank"&gt;http://www.fonearena.com/blog&lt;/a&gt;&lt;br&gt;  URL to article: &lt;a href="http://www.fonearena.com/blog/2010/03/03/why-is-apple-suing-htc-and-not-google.html" target="_blank"&gt;http://www.fonearena.com/blog/2010/03/03/why-is-apple-suing-htc-and-not-google.html&lt;/a&gt;&lt;/p&gt;   &lt;/div&gt;&lt;br&gt;&lt;br&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-3574609491769292641?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/3574609491769292641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=3574609491769292641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3574609491769292641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3574609491769292641'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/03/why-is-apple-suing-htc-and-not-google.html' title='Why is Apple Suing HTC and not Google ?'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-558364340773541179</id><published>2010-03-02T00:27:00.000-08:00</published><updated>2010-03-02T00:28:21.120-08:00</updated><title type='text'>Nokia's first C series phone</title><content type='html'>&lt;div dir="ltr"&gt;&lt;div&gt;After a long round of rumours, Nokia has finally made the C5 official, it will be the first phone of C series from Nokia.&lt;/div&gt;&lt;div&gt;It will feature Symbian S60, with 3.2 megapixel cam, and 3.5 mm audio jack along with FM radio.&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;img src="http://www.fonearena.com/blog/wp-content/uploads/2010/03/Nokia-C5-cseries.jpg" alt="Nokia-C5-cseries.jpg" title="Nokia-C5-cseries.jpg" width="177" height="200"&gt;&lt;br clear="all"&gt;&lt;br&gt;&lt;br&gt; &lt;div&gt;Nokia has called it a &amp;quot;Smartphone optimized for social networking and sharing&amp;quot;.&lt;/div&gt;&lt;div&gt;Its price is 135 EUR in Europe, meaning Rs.8500 when it is launched in India.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Read full at &lt;a href="http://www.fonearena.com/blog/2010/03/02/nokia-c5-is-the-first-c-series-phone-from-nokia.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+fone-arena+%28Fone+Arena%29"&gt;Fone Arena&lt;/a&gt;&lt;/div&gt;  &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-558364340773541179?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/558364340773541179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=558364340773541179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/558364340773541179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/558364340773541179'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/03/nokias-first-c-series-phone.html' title='Nokia&apos;s first C series phone'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-874538341033170561</id><published>2010-02-26T03:10:00.000-08:00</published><updated>2010-02-26T03:18:20.467-08:00</updated><title type='text'>Samsung Bada phone</title><content type='html'>&lt;div dir="ltr"&gt;&lt;object width="500" height="500"&gt;&lt;param name="movie" value="http://www.youtube-nocookie.com/v/O9wbqZHpWZk&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube-nocookie.com/v/O9wbqZHpWZk&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="873" height="525"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-874538341033170561?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/874538341033170561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=874538341033170561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/874538341033170561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/874538341033170561'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/02/samsung-bada-phone.html' title='Samsung Bada phone'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-4957399988247529657</id><published>2010-02-25T05:16:00.000-08:00</published><updated>2010-02-25T05:17:20.974-08:00</updated><title type='text'>The Sony Ericsson Aspen</title><content type='html'>&lt;div dir="ltr"&gt;I present you one of the first photos of Sony Ericsson Aspen phone.&lt;br&gt;Check out the phone&amp;#39;s front here-&lt;br&gt;&lt;br&gt;&lt;img title="sony-ericsson-aspen-front.jpg" alt="sony-ericsson-aspen-front.jpg" src="http://www.fonearena.com/blog/wp-content/uploads/2010/02/sony-ericsson-aspen-front.jpg" height="420" width="297"&gt;&lt;br&gt;  &lt;br&gt;Pictures are copyrights of Fone Arena, my favorite phone resource site,&lt;br&gt;so you can just go and check the full gallery out there on &lt;a href="http://www.fonearena.com/blog/2010/02/25/sony-ericsson-aspen-exclusive-photo-gallery.html"&gt;Fone Arena&lt;/a&gt;&lt;br&gt;  Enjoy!&lt;br clear="all"&gt;&lt;br&gt;&lt;br&gt;&lt;div style="margin: 0pt;" name="sig_ec533a6470"&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-4957399988247529657?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/4957399988247529657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=4957399988247529657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/4957399988247529657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/4957399988247529657'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/02/sony-ericsson-aspen.html' title='The Sony Ericsson Aspen'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-5328337416863096419</id><published>2010-02-25T04:49:00.001-08:00</published><updated>2010-02-25T04:49:36.828-08:00</updated><title type='text'>LG Launches Watch Phone in India</title><content type='html'>&lt;div dir="ltr"&gt;LG Electronics has launched a watch phone in india.&lt;br&gt;It sports a bluetooth headset,, is pretty thin at 13.9 mm, but will cost you around 50 thousand rupees.&lt;br&gt;&lt;br&gt;&lt;b&gt;See the phone-&lt;/b&gt;&lt;br&gt;&lt;img title="LG-watch-phone1.jpg" alt="LG-watch-phone1.jpg" src="http://www.fonearena.com/blog/wp-content/uploads/2010/02/LG-watch-phone1.jpg"&gt;&lt;br clear="all"&gt;  &lt;br&gt;&lt;br&gt;Read the full article on &lt;a href="http://www.fonearena.com/blog/2010/02/25/lg-watch-phone-now-in-india-for-rs-49990.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+fone-arena+%28Fone+Arena%29"&gt;Fone Arena&lt;/a&gt;&lt;br&gt;   &lt;div style="margin: 0pt;" name="sig_ec533a6470"&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-5328337416863096419?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/5328337416863096419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=5328337416863096419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/5328337416863096419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/5328337416863096419'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/02/lg-launches-watch-phone-in-india.html' title='LG Launches Watch Phone in India'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-4427274433721533795</id><published>2010-02-19T21:33:00.001-08:00</published><updated>2010-02-23T21:12:21.316-08:00</updated><title type='text'>Apache Access log mods : Redirecting logs to a MySql Database</title><content type='html'>&lt;div dir="ltr"&gt;&lt;h1&gt;&lt;span class="mw-headline"&gt;Purpose &lt;/span&gt;&lt;/h1&gt;There are times when you require that your Apache server logs the request made to it, in a customized location. In my case, i wanted it to log all the incoming requests in a MySql database, so i made some experiments based on the things told by many people and yes, finally i got it. Read the full article for more details. I have tried to keep this article as short as possible, still have tried to make it understandable. &lt;br /&gt;&lt;a href="" name="Objective"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt;Objective &lt;/span&gt;&lt;/h1&gt;Redirect all the output to a user defined database (here MySql database) which is logged in "access.log" file by default. &lt;br /&gt;&lt;a href="" name="Testing_System_Configuration"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt;Testing System Configuration &lt;/span&gt;&lt;/h1&gt;The test machine was running Ubuntu 9.10 with Apache2 and MySql5. &lt;br /&gt;&lt;a href="" name="Requirements"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt; Requirements &lt;/span&gt;&lt;/h1&gt;1.) For this example, you'll need- &lt;br /&gt;&lt;i&gt;mod_log_sql&lt;/i&gt; &lt;br /&gt;2.) Second thing,you'll need to define a database that will hold the table having access logs. I'll show you how. &lt;br /&gt;3.) Lastly, what you need, is a modification to the default configuration file of Apache. I'll show you how to do it. &lt;br /&gt;&lt;a href="" name="How_Things_Are_Done_:_Step_by_Step"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt;How Things Are Done&amp;nbsp;: Step by Step &lt;/span&gt;&lt;/h1&gt;&lt;a href="" name="Step1:_Installing_mod_log_sql"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt; Step1: Installing mod_log_sql &lt;/span&gt;&lt;/h2&gt;If you don't have this installed by default, which i didnt have, use these procedures to get it installed &lt;br /&gt;Open a terminal, and type- &lt;br /&gt;&lt;pre&gt;sudo apt-get install libapache-mod-log-sql-mysql&lt;br /&gt;&lt;/pre&gt;this will install mod_log_sql.we need this in order to get things done. &lt;br /&gt;now restart the apache server- &lt;br /&gt;&lt;pre&gt;sudo /etc/init.d/apache2 reload&lt;br /&gt;&lt;/pre&gt;&lt;a href="" name="Step2:_MySql_part"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt; Step2: MySql part &lt;/span&gt;&lt;/h2&gt;you can use database creation from phpMyadmin as well, but i prefer using terminal, since so many things will be done using only terminal. &lt;br /&gt;So open a terminal, type- &lt;br /&gt;&lt;pre&gt;mysql -u root -p&lt;br /&gt;&lt;/pre&gt;and give your root password. &lt;br /&gt;Now we'll create a user called "loguser" which will be updating tables, and we are going to grant CREATE, INSERT permissions to this user, sinse this user will be doing these things. Fire this command- &lt;br /&gt;&lt;pre&gt;grant insert,create on apachelogs.* to loguser@localhost identified by 'loguser_password';&lt;br /&gt;grant insert,create on apachelogs.* to loguser@localhost.localdomain identified by 'loguser_password';&lt;br /&gt;FLUSH PRIVILEGES;&lt;br /&gt;&lt;/pre&gt;where 'loguser_password' can be anything that you like the password to be. &lt;br /&gt;&lt;a href="" name="Step3:_Apache_part"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h2&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt; Step3: Apache part &lt;/span&gt;&lt;/h2&gt;Do the following things to create a virtual host of apache, a new virtual host actually. &lt;br /&gt;This involves creating a separate default config file. &lt;br /&gt;So first, we backup our own default config file. &lt;br /&gt;Fire these commands- &lt;br /&gt;&lt;a href="" name="Backing_up_old_config_file"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h4&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt; Backing up old config file &lt;/span&gt;&lt;/h4&gt;&lt;pre&gt;sudo mv /etc/apache2/sites-available/default /etc/apache2/sites-available/default_orig&lt;br /&gt;&lt;/pre&gt;We renamed our old file to &lt;i&gt;default-orig'&lt;/i&gt; &lt;br /&gt;&lt;a href="" name="Creating_new_config_file"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h4&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt;Creating new config file &lt;/span&gt;&lt;/h4&gt;Open a new file- &lt;br /&gt;&lt;pre&gt;sudo gedit /etc/apache2/sites-available/default&lt;br /&gt;&lt;/pre&gt;After this, paste the following text in it- &lt;br /&gt;&lt;pre&gt;LogSQLLoginInfo mysql://loguser:loguser_password@localhost/apachelogs&lt;br /&gt;LogSQLCreateTables on&lt;br /&gt;LogSQLDBParam socketfile /var/run/mysqld/mysqld.sock&lt;br /&gt;LogSQLTransferLogFormat AbHhmRSsTUuvI&lt;br /&gt;&lt;br /&gt;NameVirtualHost *&lt;br /&gt;&amp;lt;VirtualHost *&amp;gt;&lt;br /&gt;ServerAdmin webmaster@localhost&lt;br /&gt;&lt;br /&gt;DocumentRoot /var/www/web1/web/&lt;br /&gt;&amp;lt;Directory /var/www/web1/web/&amp;gt;&lt;br /&gt;Options Indexes MultiViews&lt;br /&gt;AllowOverride None&lt;br /&gt;Order allow,deny&lt;br /&gt;allow from all&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;br /&gt;LogSQLTransferLogTable web1_access_log&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;Update: &lt;/b&gt;I noticed, that if you edit your default config file and put these lines in it in the way that it doesn't create a problem,&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;then you'll end up with apache logging on two places: one is the default log file, and the second will be your MySql database.&lt;/pre&gt;&lt;pre&gt;Cool, isn't it? &lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;after doing this, restart your apache-&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;sudo /etc/init.d/apache2 reload&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;After this, make some requests to apache, and open the particular database that you had created, to see the changes. &lt;br /&gt;We're done! &lt;br /&gt;&lt;a href="" name="Conclusion.2FKnown_Issues"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;&lt;span class="editsection"&gt;&lt;/span&gt;&lt;span class="mw-headline"&gt;Conclusion/Known Issues &lt;/span&gt;&lt;/h1&gt;Well, there are some things you should be careful about- &lt;br /&gt;1.) You'll end up creating a NEW virtual host, so any settings particular to the old virtual host, may not work &lt;br /&gt;2.) I got several warnings, which meant that apache couldn't map the name &lt;i&gt;localhost&lt;/i&gt; to the ip 127.0.0.1, so it used the real ip. means, i couldn't use &lt;i&gt;localhost&lt;/i&gt; in my URL anymore. &lt;br /&gt;3.) You should have root permissions to perform most of the things, so i prefixed a &lt;i&gt;sudo&lt;/i&gt; before commands. &lt;br /&gt;4.) &lt;b&gt;This thing may not be suitable if your database isn't dedicated to the sole task you want this feature to work for&lt;/b&gt;, So if you want logging to be done in a file too, then try another methods available on the Internet.&lt;br /&gt;&lt;b&gt;Update: &lt;/b&gt;I devised another method. please look at the update of step3 &lt;u&gt;&lt;i&gt;Creating New Config File&lt;/i&gt;&lt;/u&gt; &lt;br /&gt;&lt;br /&gt;For more information, you can refer to this page at &lt;a class="external text" href="http://www.howtoforge.com/apache2-logging-to-a-mysql-database-with-mod_log_sql-on-debian-etch" rel="nofollow" title="http://www.howtoforge.com/apache2-logging-to-a-mysql-database-with-mod_log_sql-on-debian-etch"&gt;How to Forge&lt;/a&gt;. But this article is optimized for Ubuntu, while How to Forge article focuses on Debian Etch Linux. &lt;br /&gt;Happy moding! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-4427274433721533795?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/4427274433721533795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=4427274433721533795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/4427274433721533795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/4427274433721533795'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/02/apache-access-log-mods-redirecting-logs.html' title='Apache Access log mods : Redirecting logs to a MySql Database'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-6483636816431511803</id><published>2010-02-17T03:50:00.001-08:00</published><updated>2010-02-17T03:53:34.799-08:00</updated><title type='text'>Samsung's New AMO LED display</title><content type='html'>&lt;div dir="ltr"&gt;Superb performance of AMO LED screen&lt;br /&gt;&lt;br /&gt;read full article from &lt;a href="http://www.fonearena.com/blog/2010/02/17/samsung-super-amoled-playing-video-proof-of-awesome-display-technology.html" target="_blank"&gt;Fone Arena&lt;/a&gt;&lt;br /&gt;you'll also get a nice video showing it.&lt;br /&gt;&lt;br /&gt;all this is happening in &lt;b&gt;Mobile World Congress&lt;/b&gt; 2010 in Barcelona.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-6483636816431511803?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/6483636816431511803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=6483636816431511803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/6483636816431511803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/6483636816431511803'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/02/samsungs-new-amo-led-display.html' title='Samsung&apos;s New AMO LED display'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-7660793088942929559</id><published>2010-02-17T03:45:00.001-08:00</published><updated>2010-02-17T03:45:55.497-08:00</updated><title type='text'>Sony Ericsson's first Android Phones</title><content type='html'>&lt;div dir="ltr"&gt;&lt;span class="z19Dle" id="col-z13jstthbovoefvmf22rh5nb1xubvb31h"&gt;&lt;span class="zo"&gt;Sony Ericsson unveils its new line of Android phones: Xperia X10, with 1Ghz snapdragon processor, full touch screen | Xperia Mini, with 600mhz processor, Android, Full touch screen, size equal to a credit card, 5megapixel cam | Xperia Mini Pro, same as Xperia Mini, but with a QWERTY keyboard. &lt;br&gt;All of them are expected to arrive around april 2010, that is Q2 FY2010. X10 will be priced around 35000 INR, slightly more than the Google Nexus One.&lt;/span&gt;&lt;/span&gt;&lt;br clear="all"&gt;&lt;br&gt;-- &lt;br&gt;Impossible is Nothing &lt;br&gt;&lt;br&gt;&lt;br&gt;Sent from Calcutta, WB, India&lt;br&gt; &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-7660793088942929559?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/7660793088942929559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=7660793088942929559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/7660793088942929559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/7660793088942929559'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/02/sony-ericssons-first-android-phones.html' title='Sony Ericsson&apos;s first Android Phones'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-1298381202289424654</id><published>2010-02-17T03:32:00.001-08:00</published><updated>2010-02-17T03:37:00.753-08:00</updated><title type='text'>Puma will make phones??</title><content type='html'>Yes!!&lt;br /&gt;Just heard that Puma (The shoe maker) has teamed up with Sagem mobile phones, to manufacture Puma phones.&lt;br /&gt;This tie up has happened in the World Mobile Congress 2010 in Barcelona.&lt;br /&gt;amazing!&lt;br /&gt;check the pic out-&lt;br /&gt;&lt;br /&gt;&lt;img align="center" src="http://www.fonearena.com/blog/wp-content/uploads/2010/02/Puma-Phones.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;the full article may be found &lt;a href="http://www.fonearena.com/blog/2010/02/17/puma-joins-hands-with-sagem-to-launch-puma-phones.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+fone-arena+%28Fone+Arena%29" target="_blank"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-1298381202289424654?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/1298381202289424654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=1298381202289424654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/1298381202289424654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/1298381202289424654'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2010/02/puma-will-make-phones_17.html' title='Puma will make phones??'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-5287795003743724342</id><published>2008-09-27T03:12:00.000-07:00</published><updated>2008-09-27T03:26:47.354-07:00</updated><title type='text'>Assymptotic Notations. Source: Eternally Confuzzled</title><content type='html'>By Julienne Walker&lt;br /&gt;License: Public Domain&lt;br /&gt;&lt;br /&gt;I try to minimize things that might not be well known to my target audience because I'm reasonably sure that when a lot of people reach some funky notation that they don't understand, they stop reading. Now, while I try also to explain the good, the bad, and the ugly without using those notations as well, it's hard to realize this if you don't get to that point. ;-) The most important measures that I use are for asymptotic growth of algorithms. This article will attempt to explain the use of these notations without requiring you to have a degree in computer science.&lt;br /&gt;&lt;br /&gt;Because I'm simplifying reality, it should be noted that none of the information in this article will be completely accurate in a formal mathematical sense, so please refrain from emailing me with complaints that I'm not entirely correct. The information in this article is more than sufficient to know what I mean when I say O(N2), or Ω(Nlog2 N) and which one is better. And to be perfectly frank, once you get the basic concept, that's more than enough to live your life unless you have a burning desire to formally analyze and prove the performance properties of an algorithm. I don't really care about that because I can get close enough with my simplified reality to know which algorithms to choose.&lt;br /&gt;&lt;br /&gt;The very word “asymptotic” scares the bejeezus out of people because it sounds complicated. The definition doesn't serve to aleviate that fear. Something that's asymptotic relates to a asymptote, which is defined as “A line whose distance to a given curve tends toward zero”. That's damn near worthless, so let's say that something asymptotic refers to a limiting behavior based on a single variable and a desired measure.&lt;br /&gt;&lt;br /&gt;For example, we can use the number of steps that it takes for an algorithm that works with N items to complete (aka. time complexity) as the desired measure, and derive an asymptotic bound on the time complexity by increasing N toward infinity. In real person terms, we're just figuring out how much longer the algorithm takes when we add more items. The most common way to go about this is to double the number of items and see how much longer the algorithm takes.&lt;br /&gt;&lt;br /&gt;Now, we could actually test this by writing the algorithm, profiling it to see how long it takes for N, then profiling it again after doubling N. The time difference is a rough estimate of the growth. This is called an empirical test. However, we can also do a theoretical test by measuring the steps that rely on the size of N and get a reasonably useful measure of how the time complexity grows. Because the steps that don't rely on N won't grow, we can remove them from the measure because at a certain point, they become so small as to be worthless. In other words, we pretend that they don't matter in all cases.&lt;br /&gt;&lt;br /&gt;This is the idea behind asymptotic notation. By removing the constants (variables that have a fixed but unknown value), we can focus on the part of the measure that grows and derive a simplified asymptotic bound on the algorithm. A common notation that removes constants is called Big O Notation, where the O means “order of” (there are variants that do something similar that we'll look at shortly). Let's look at an example:&lt;br /&gt;&lt;br /&gt; 1 void f ( int a[], int n )&lt;br /&gt; 2 {&lt;br /&gt; 3   int i;&lt;br /&gt; 4 &lt;br /&gt; 5   printf ( "N = %d\n", n );&lt;br /&gt; 6 &lt;br /&gt; 7   for ( i = 0; i &lt; n; i++ )&lt;br /&gt; 8     printf ( "%d ", a[i] );&lt;br /&gt; 9   printf ( "\n" );&lt;br /&gt;10 }&lt;br /&gt;In this function, the only part that takes longer as the size of the array grows is the loop. Therefore, the two printf calls outside of the loop are said to have a constant time complexity, or O(1), as they don't rely on N. The loop itself has a number of steps equal to the size of the array, so we can say that the loop has a linear time complexity, or O(N). The entire function f has a time complexity of 2 * O(1) + O(N), and because constants are removed, it's simplified to O(1) + O(N).&lt;br /&gt;&lt;br /&gt;Now, asymptotic notation also typically ignores the measures that grow more slowly because eventually the measure that grows more quickly will dominate the time complexity as N moves toward infinity. So by ignoring the constant time complexity because it grows more slowly than the linear time complexity, we can simplify the asymptotic bound of the function to O(N), so the conclusion is that f has linear time complexity.&lt;br /&gt;&lt;br /&gt;Okay, but what does O really mean? Big O notation refers to the asymptotic upper bound, which means that it's a cap on how much the time complexity will grow. If we say that a function is O(1), then there's no growth and the function will always take a fixed amount of time to complete. If we say that a function is O(N) then if N doubles, the function's time complexity at most will double. It may be less, but never more. That's the upper bound of an algorithm, and it's the most common notation.&lt;br /&gt;&lt;br /&gt;Now, even though O notation is the most common, it's not always the most accurate measure. For example, let's say we have a sequential search of an unordered array where the items are randomly distributed and we want both the average case growth and the worst case growth:&lt;br /&gt;&lt;br /&gt; 1 int find ( int a[], int n, int x )&lt;br /&gt; 2 {&lt;br /&gt; 3   int i;&lt;br /&gt; 4 &lt;br /&gt; 5   for ( i = 0; i &lt; n; i++ ) {&lt;br /&gt; 6     if ( a[i] == x )&lt;br /&gt; 7       return 1;&lt;br /&gt; 8   }&lt;br /&gt; 9 &lt;br /&gt;10   return 0;&lt;br /&gt;11 }&lt;br /&gt;This algorithm is clearly O(N) because it only has one loop that relies on the size of the array, and the time complexity of the loop doubles as the size of the array doubles. However, that's the worst case upper bound. We know (because smarter people than I figured it out) that on average, only half of the array is searched before the item is found due to the random distribution. So while the time complexity could reach O(N), it's usually less even though we don't really know how much less.&lt;br /&gt;&lt;br /&gt;Okay, how about a binary search instead of a sequential search? If the array is sorted, we can make the search a lot faster by splitting the array in half at each comparison and only searching the half where the item might be. That's common knowledge, but why is it faster? Here's the code for a binary search:&lt;br /&gt;&lt;br /&gt; 1 int find ( int a[], int n, int x )&lt;br /&gt; 2 {&lt;br /&gt; 3   int i = 0;&lt;br /&gt; 4 &lt;br /&gt; 5   while ( i &lt; n ) {&lt;br /&gt; 6     int mid = ( n + i ) / 2;&lt;br /&gt; 7 &lt;br /&gt; 8     if ( a[mid] &lt; x )&lt;br /&gt; 9       n = mid;&lt;br /&gt;10     else if ( a[mid] &gt; x )&lt;br /&gt;11       i = mid + 1;&lt;br /&gt;12     else&lt;br /&gt;13       return 1;&lt;br /&gt;14   }&lt;br /&gt;15 &lt;br /&gt;16   return 0;&lt;br /&gt;17 }&lt;br /&gt;We can call this an O(N) algorithm and not be wrong because the time complexity will never exceed O(N). But because the array is split in half each time, the number of steps is always going to be equal to the base-2 logarithm of N, which is considerably less than O(N). So an even better choice would be to set the upper bound to log N, which is the upper limit that we know we're guaranteed never to cross. Therefore, a more accurate claim is that binary search is a logarithmic, or O(log2 N), algorithm.&lt;br /&gt;&lt;br /&gt;Sometimes we're interested not in an upper bound, but in a lower bound. What's the smallest time complexity that we can expect? For example, what if we want to know the lower bound for the binary search we just found the upper bound for? Well, since a correct binary search is guaranteed to only take log N steps to complete, we can say that the lower bound is also logarithmic. There's a notation for the lower bound too, called Omega, so we can say that the lower bound for binary search is Ω(log2 N).&lt;br /&gt;&lt;br /&gt;Wait a second. The upper and lower bounds are the same! That's good, now we can have a very accurate bound on the time complexity of a binary search. There's a notation for the asyptotically tight bound too, called Theta, and since we know the O and Ω for binary search and they're the same, we can say that binary search is Θ(log N). O(log2 N) is still correct, and you'll see it more often than any of the other notations, but Θ(log2 N) is a much stronger claim.&lt;br /&gt;&lt;br /&gt;Note that in the best case scenario, the first item we look at would be the one we're looking for and the search would effectively be O(1), so why is the lower bound Ω(log2 N)? Remember that we're only using one variable, the size of the array, to derive our measure. If we use other variables, such as the contents of the array and the item being searched for, we can easily say that the lower bound is O(1) because the best possible case is an immediate match. However, lacking those extra variables, we can't make an assumption. Therefore, the longest time complexity possible is logarithmic for both the upper and lower bounds.&lt;br /&gt;&lt;br /&gt;Okay, what about a sorting algorithm? Let's start with selection sort. The algorithm is simple: find the largest item and move it to the back of the array. When you move an item to the back, decrease the size of the array so that you don't continually choose from the items that have already been selected:&lt;br /&gt;&lt;br /&gt; 1 void jsw_selection ( int a[], int n )&lt;br /&gt; 2 {&lt;br /&gt; 3   while ( --n &gt; 0 ) {&lt;br /&gt; 4     int i, max = n;&lt;br /&gt; 5 &lt;br /&gt; 6     for ( i = 0; i &lt; n; i++ ) {&lt;br /&gt; 7       if ( a[i] &gt; a[max] )&lt;br /&gt; 8         max = i;&lt;br /&gt; 9     }&lt;br /&gt;10 &lt;br /&gt;11     if ( max != n )&lt;br /&gt;12       jsw_swap ( &amp;a[n], &amp;a[max] );&lt;br /&gt;13   }&lt;br /&gt;14 }&lt;br /&gt;This algorithm has two loops, one inside of the other. Both rely on the size of the array, so the algorithm is clearly O(N * N), more commonly shown as O(N2) and referred to as quadratic. The fact that N decreases with each step of the outer loop is irrelevant unless you want a tight bound, and even then it's difficult to analyze. But that doesn't matter much because the upper bound is really all we care about for an existing sorting algorithm.&lt;br /&gt;&lt;br /&gt;Let's look at a faster sort. The heap sort algorithm uses a tree based structure to make the selection process faster. Because the selection part of a selection sort is Θ(N), and the outer loop that it's nested in is O(N), selection sort is O(N2). But by using a heap where selection is O(1) and fixing the heap is Θ(log2 N), we can turn the whole process of selection into a Θ(log2 N) process:&lt;br /&gt;&lt;br /&gt; 1 void jsw_do_heap ( int a[], int i, int n )&lt;br /&gt; 2 {&lt;br /&gt; 3   int k = i * 2 + 1;&lt;br /&gt; 4   int save = a[i];&lt;br /&gt; 5 &lt;br /&gt; 6   while ( k &lt; n ) {&lt;br /&gt; 7     if ( k + 1 &lt; n &amp;&amp; a[k] &lt; a[k + 1] )&lt;br /&gt; 8       ++k;&lt;br /&gt; 9 &lt;br /&gt;10     if ( save &gt;= a[k] )&lt;br /&gt;11       break;&lt;br /&gt;12 &lt;br /&gt;13     a[i] = a[k];&lt;br /&gt;14     i = k;&lt;br /&gt;15     k = i * 2 + 1;&lt;br /&gt;16   }&lt;br /&gt;17 &lt;br /&gt;18   a[i] = save;&lt;br /&gt;19 }&lt;br /&gt;20 &lt;br /&gt;21 void jsw_heapsort ( int a[], int n )&lt;br /&gt;22 {&lt;br /&gt;23   int i = n / 2;&lt;br /&gt;24 &lt;br /&gt;25   while ( i-- &gt; 0 )&lt;br /&gt;26     jsw_do_heap ( a, i, n );&lt;br /&gt;27 &lt;br /&gt;28   while ( --n &gt; 0 ) {&lt;br /&gt;29     jsw_swap ( &amp;a[0], &amp;a[n] );&lt;br /&gt;30     jsw_do_heap ( a, 0, n );&lt;br /&gt;31   }&lt;br /&gt;32 }&lt;br /&gt;Because the heap is structured like a tree, jsw_do_heap is Θ(log2 N). The first loop in jsw_heapsort is O(N / 2), but because the second loop is O(N) and dominates the first loop, we can toss the complexity of the first loop. So we have an O(N) loop that calls a Θ(log2 N) function. We conclude that the upper bound of heap sort is O(Nlog2 N), which doesn't have a set descriptive name, but it's often shown as O(N * log2 N). However, because the lower bound of heap sort is also Ω(Nlog2 N) for the same reasons as binary search, we can safely say that heap sort has Θ(log2 N) time complexity.&lt;br /&gt;&lt;br /&gt;We've looked at the most common time complexities: O(1) for constant time, O(N) for linear time, O(log2 N) for logarithmic time, O(Nlog2 N), and O(N2) for quadratic time. Others exist, such as O(N!) for a ridiculous factorial growth, but you won't see them often. Here are the upper bound time complexities in order of growth from least to greatest that you're most likely to see:&lt;br /&gt;&lt;br /&gt;O(1) - No growth&lt;br /&gt;O(log2 N) - Grows by the logarithm of N when N doubles&lt;br /&gt;O(N) - Grows with N when N doubles&lt;br /&gt;O(Nlog2 N) - Grows by the product of N and the logarithm of N when N doubles&lt;br /&gt;O(N2) - Grows twice as fast as N when N doubles&lt;br /&gt;O(N!) - Grows by the factorial of N when N doubles&lt;br /&gt;Hopefully this article clears up any confusion without delving too far into the theory. Unfortunately, algorithm analysis can only be simplified so much before it becomes useless, but I think I covered all of the foundations that would be useful in figuring out a basic time complexity for your own algorithms as well as understanding many of the time complexities given for existing algorithms.&lt;br /&gt;&lt;br /&gt;TopFrom the twisted minds of Julienne Walker and The EC Team&lt;br /&gt;&lt;br /&gt;more related stuff at-&lt;br /&gt;http://www.eternallyconfuzzled.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-5287795003743724342?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/5287795003743724342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=5287795003743724342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/5287795003743724342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/5287795003743724342'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2008/09/assymptotic-notations-source-eternally.html' title='Assymptotic Notations. Source: Eternally Confuzzled'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-136229499214374615</id><published>2008-08-27T05:18:00.000-07:00</published><updated>2008-10-31T22:26:58.398-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free books'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><category scheme='http://www.blogger.com/atom/ns#' term='free ebooks'/><category scheme='http://www.blogger.com/atom/ns#' term='ebooks'/><title type='text'>E-books related to Computer Science</title><content type='html'>Here, i have posted some of the links where you can download free ebooks from.&lt;br /&gt;these books are related with computer science.&lt;br /&gt;Notice, that i haven't hosted them, iam just providing u with the links of the sites which originally have them stored.&lt;br /&gt;and yaa,they are ABSOLUTELY FREE.&lt;br /&gt;&lt;br /&gt;here are some-&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;But, After u visit these Links, Do tell me via email or anything if u dont find what u expected, or if the links are broken. Please do this favor so that i can correct the mistakes.&lt;/h1&gt;&lt;br /&gt;&lt;br /&gt;Introduction to Algorithms (link 1)-&lt;br /&gt;&lt;a href="http://www.esnips.com/nsdoc/be63554c-8a62-44fc-8a20-135a96a6a79f/?action=forceDL"&gt;Introduction to Algorithms, by Cormen   1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Introduction to Algorithms (link2)-&lt;br /&gt;&lt;a href="http://www.esnips.com/nsdoc/83209256-3e58-4189-8901-6b33ff99f069/?action=forceDL"&gt;Introduction to Algorithms, by Cormen  2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Introduction to Algorithms (link3)-&lt;br /&gt;&lt;a href="http://www.esnips.com/nsdoc/9240041f-cec4-4a14-8572-262f984bd59c/?action=forceDL"&gt;Introduction to Algorithms, by Cormen  3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Management Information System, A O.Brian&lt;br /&gt;&lt;a href="http://www.esnips.com/nsdoc/60c1bbc2-7a60-4e57-a1fd-f392d8331255/?action=forceDL"&gt;MIS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Data Communication and Networking, Forouzan (26.1 MB) - Link 1&lt;br /&gt;&lt;a href="http://www.esnips.com/doc/7389a96b-0948-4f59-947b-f0ca8483a3c2/Forouzan"&gt;DCN&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Data Communication and Networking, Forouzan (26.1 MB) - Link 2&lt;br /&gt;&lt;a href="http://www.esnips.com/doc/22761043-eac4-4e55-9e08-a19b1a1486e6/Forouzan"&gt;DCN&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Data Communication and Networking, Forouzan (35.2 MB)&lt;br /&gt;&lt;a href="http://www.esnips.com/doc/cec6b0d1-4ab7-46e9-8f3f-fdce03f020de/Data_Communications_and_networking_3e_Forouzan"&gt;DCN&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Data Communication and Networking, Forouzan - Solutions (1.2 MB) - Link 1&lt;br /&gt;&lt;a href="http://www.esnips.com/doc/34c2a3aa-57cb-4d17-8b0e-c8da154ef819/DATA_COMM_BY_FOROUZAN"&gt;DCN-Solutions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Data Communication and Networking, Forouzan - Solutions ( 642.8 KB) - Link 2&lt;br /&gt;&lt;a href="http://www.esnips.com/doc/28cc4ea4-92d8-4c35-8444-86c62f5b86ae/forouzan_sol"&gt;DCN-Solutions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All the above books are hosted on &lt;b&gt;esnips.com&lt;/b&gt; by their users, and are free to download.u may need to register first, but thats free too.&lt;br /&gt;&lt;br /&gt;Operating System Concepts, Galvin, 7th edition-&lt;br /&gt;&lt;a href="http://crazyreaders.com/eBooks/Computers/os/Operating_System_Concepts_6th_ed_Silberschatz_Galvin.pdf"&gt;Operating System Concepts, Galvin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Operating Systems, Tennenbaum-&lt;br /&gt;&lt;a href="http://crazyreaders.com/eBooks/Computers/os/Operating_Systems_Tanenbaum.zip"&gt;OS by Tennenbaum&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;the above files are hosted on &lt;b&gt;crazyreader.com&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;the download should begin as soon as u click the links.&lt;br /&gt;keep a watch on this post, i'll be updating it with more books soon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-136229499214374615?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/136229499214374615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=136229499214374615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/136229499214374615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/136229499214374615'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2008/08/e-books-related-to-computer-science.html' title='E-books related to Computer Science'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-6302478380436732002</id><published>2008-08-25T05:54:00.000-07:00</published><updated>2008-08-25T06:34:06.875-07:00</updated><title type='text'>JSmooth - Wrapping JARs into EXE files</title><content type='html'>Hello guys, ive been seeing that so many of u need to wrap (or convert as u might say) ur java JAR archives into exe, so that they can look better.&lt;br /&gt;so the solution is a software kinda thing called JSmooth API, which wraps ur JAR archives into windows exe files.&lt;br /&gt;heres the link to that software-&lt;br /&gt;&lt;a href="http://www.4shared.com/file/60383244/5341c800/jsmooth-099-7-setup.html" target=_blank&gt;JSmooth&lt;/a&gt;&lt;br /&gt;its an open source and free ware.&lt;br /&gt;&lt;br /&gt;and heres a guide which tells u about how to get things done through it in 10 easy steps.&lt;br /&gt;well i have created this guide myself, so for any questions related to it, ask me.&lt;br /&gt;heres its link-&lt;br /&gt;&lt;a href="http://www.4shared.com/file/60383249/2df0b4bd/JAR_to_EXE_in_10_easy_steps.html" target=_blank&gt;&lt;img src="http://dc63.4shared.com/img/60383249/2df0b4bd/JAR_to_EXE_in_10_easy_steps.pdf" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;take care, and continue commenting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-6302478380436732002?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/6302478380436732002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=6302478380436732002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/6302478380436732002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/6302478380436732002'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2008/08/jsmooth-wrapping-jars-into-exe-files.html' title='JSmooth - Wrapping JARs into EXE files'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-2557971976554638697</id><published>2008-08-09T10:28:00.000-07:00</published><updated>2008-08-09T10:36:51.100-07:00</updated><title type='text'>Format USB Pen Drive in NTFS format</title><content type='html'>normally all the USB pen drives are formatted in FAT or FAT32 file system by windows.&lt;br /&gt;but you can also have them formatted in NTFS to use the compression feature and file encryption provided b windows, and also, the ability to use quota management if ur drive is used by some particular users.&lt;br /&gt;&lt;br /&gt;to do this, follow these steps-&lt;br /&gt;1.) Right click on &lt;b&gt;My Computer&gt;Properties&lt;/b&gt;.&lt;br /&gt;2.) On the Hardware ab, click on &lt;b&gt;Device Manager&lt;/b&gt; Button.&lt;br /&gt;3.) select your pen drive from the list of storage devices listed.&lt;br /&gt;4.) Right click &lt;b&gt; on the pen drive&lt;/b&gt;, and click &lt;b&gt;Properties&lt;/b&gt;.&lt;br /&gt;5.) Now in the &lt;b&gt;Policies&lt;/b&gt; tab,check the Optimized for Performance.&lt;br /&gt;6.) This will enable the NTFS file system when u try to format the drive normally.&lt;br /&gt;&lt;br /&gt;Thats it..!!&lt;br /&gt;ur done.&lt;br /&gt;u can now use NTFS on ur pen drive also, bt there may be a compatibility issue on the OSs which do not support NTFS, like some of Linux vendors, so do manage these things.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;And&lt;/b&gt;, After doing this, please remove ur pen drive by choosing &lt;b&gt;Safely Remove Hardware&lt;/b&gt; option only, and not by just plucking it out from the USB port.&lt;br /&gt;In win xp, this safely remove.. option will get highlighted in the system tray when pen drive is plugged in.&lt;br /&gt;&lt;br /&gt;Enjoy!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-2557971976554638697?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/2557971976554638697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=2557971976554638697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2557971976554638697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2557971976554638697'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2008/08/format-usb-pen-drive-in-ntfs-format.html' title='Format USB Pen Drive in NTFS format'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-2091417397159010730</id><published>2008-08-08T23:09:00.000-07:00</published><updated>2008-08-08T23:21:34.677-07:00</updated><title type='text'>Make Your XP talk your text</title><content type='html'>Copy the following things in notepad-&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dim msg, sapi&lt;br /&gt;msg=InputBox("Enter text","Text to Speech Microsoft SAM")&lt;br /&gt;Set sapi=CreateObject("sapi.spvoice")&lt;br /&gt;sapi.Speak msg&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now save this file with extension -   .vbs&lt;br /&gt;means a vb script file.&lt;br /&gt;&lt;br /&gt;now double click it to run, then enter the text u want to be spoken, and click OK&lt;br /&gt;Voila!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-2091417397159010730?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/2091417397159010730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=2091417397159010730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2091417397159010730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2091417397159010730'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2008/08/make-your-xp-talk-your-text.html' title='Make Your XP talk your text'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-3435351858345706157</id><published>2008-07-28T04:05:00.000-07:00</published><updated>2008-07-28T04:54:37.208-07:00</updated><title type='text'>Removing autorun.inf virus</title><content type='html'>sometimes ur drives get infected with viruses which dnt let u open that file, or simply scramble up ur right click context menu.&lt;br /&gt;so why use any anti virus when u can remove it urself??&lt;br /&gt;&lt;br /&gt;so, make a search for autorun.inf file, and include hidden files and system file in it.as soon as u get the file, SHIFT+DELETE.&lt;br /&gt;now relogin.ur dives will get open.&lt;br /&gt;u can also enable the "show hidden files" options from folder options menu, bt sometimes that virus disables this feature too. so for this, u can go to DOS, and type-&lt;br /&gt;&lt;b&gt;C:&gt;\DIR/AH&lt;/b&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;this will show u ur hidden files, now mesmerize the names to delete, delete that autorun.inf file and other unwanted files with DEL command, and relogin.&lt;br /&gt;&lt;br /&gt;i'll be posting the registry entry which control the view of hidden file.&lt;br /&gt;try this until then or mail me if any problem&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-3435351858345706157?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/3435351858345706157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=3435351858345706157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3435351858345706157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/3435351858345706157'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2008/07/removing-autoruninf-virus.html' title='Removing autorun.inf virus'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1809445231766651474.post-2977481337086404944</id><published>2008-07-15T04:15:00.000-07:00</published><updated>2011-03-22T05:50:44.265-07:00</updated><title type='text'>Welcome!!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;hello guys!!&lt;br /&gt;here's my new blog, that will contain, program codes, their logic, and some concepts I would be working on.&lt;br /&gt;&lt;br /&gt;it will also contain some tweaks and tricks for different things, to either flaunt your devices or to use them in the times of need/crisis.&lt;br /&gt;&lt;br /&gt;compliments, comments and corrections are always welcomed. :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1809445231766651474-2977481337086404944?l=thetechnib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thetechnib.blogspot.com/feeds/2977481337086404944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1809445231766651474&amp;postID=2977481337086404944' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2977481337086404944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1809445231766651474/posts/default/2977481337086404944'/><link rel='alternate' type='text/html' href='http://thetechnib.blogspot.com/2008/07/welcome.html' title='Welcome!!'/><author><name>Aman Alam</name><uri>http://www.blogger.com/profile/17931919627657774532</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/-YkaydC_KP7w/TuiRcm--kLI/AAAAAAAADd4/7WmRyT-3xq8/s220/P1019292.JPG'/></author><thr:total>0</thr:total></entry></feed>
