<?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-2587937642665235237</id><updated>2011-07-28T13:04:31.540-07:00</updated><category term='linux'/><category term='facebook'/><category term='firefox'/><category term='scrum'/><category term='javascript'/><category term='agile'/><category term='java'/><category term='rock climbing'/><category term='dual-boot'/><category term='twitter'/><category term='html'/><category term='tracking'/><category term='javadoc'/><category term='development'/><category term='internet'/><category term='script'/><category term='windows'/><category term='statistics'/><category term='code'/><category term='testing'/><category term='ubuntu'/><category term='traffic'/><category term='blog'/><title type='text'>Mehul's Blog</title><subtitle type='html'>Software Developer with an entrepreneurial mind.&lt;br&gt;
&lt;b&gt;Learning everyday to spread the knowledge&lt;/b&gt;
&lt;br&gt;
By Mehul Kumar</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-3698375508661145461</id><published>2010-06-30T20:59:00.000-07:00</published><updated>2010-06-30T20:59:50.832-07:00</updated><title type='text'>My Google Nexus One Experience</title><content type='html'>I bought my Google Nexus One on the 17th of February 2010 and have been using it since. So I wanted to share some information about this phone.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think this is an excellent phone and I&amp;nbsp;don't&amp;nbsp;have any regrets.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;u&gt;How did I get my hands on it?&lt;/u&gt;&lt;/div&gt;&lt;div&gt;I friend of mine bought it in America and shipped it to New Zealand and I bought it from him. The phone came with the latest update which meant that I had pinch to zoom out of the box.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You cant tell how good a phone is until you try it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Features of the phone which I really like:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Unlike the iPhone you can have widgets on any of the 5 home pages. Some really cool widgets are:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The power control - There are 5 buttons on this widget which allow you to turn on and off the following.&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;ol&gt;&lt;li&gt;WI-FI&lt;/li&gt;&lt;li&gt;Bluetooth&lt;/li&gt;&lt;li&gt;GPS&lt;/li&gt;&lt;li&gt;Auto-sync&lt;/li&gt;&lt;li&gt;Screen brightness&lt;/li&gt;&lt;/ol&gt;&lt;/ol&gt;&lt;li&gt;The flashing trackball.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;When you get any sort of notification you can choose what things should happen. One of them is making the trackball blink ever x seconds.&lt;/li&gt;&lt;li&gt;This is very handy. You can see if you have any notifications without having to turn the phone on.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;The integration with all the Google applications are excellent. Obviously its a Google Phone.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The contact sync is excellent. Update your contacts in GMail or on your phone any everything is in sync.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;The android market is great. Easy to browse and install apps. I have not seen the apple app store from an apple device so I can't make any comparison. The android market displays screenshots of the apps so this helps when you are trying to decide which application to install.&lt;/li&gt;&lt;li&gt;Multi-tasking is great. How does it work?&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Lets say you are writing a SMS, but you need to look up something on the Internet.&lt;/li&gt;&lt;li&gt;Click on the home button. This will save the state of the SMS.&lt;/li&gt;&lt;li&gt;Go and find whatever you wanted on the Internet.&lt;/li&gt;&lt;li&gt;Hold the home button down and you will see the last 6 applications that you have used.&lt;/li&gt;&lt;li&gt;Select the SMS application and continue working.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;The notification bar at the top of the phone is excellent. All your notifications can be seen it one place.&lt;/li&gt;&lt;/ul&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;Some problems with the phone:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Every now and then I have to restart the phone. I don't know if you to do this on the iPhone also.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Sometimes after playing a game or working with an app, the touch screen calibrations is not accurate. I would touch somewhere on the screen and it would actually think its somewhere a little below that.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Solution: Just lock and unlock your phone using the button at the top of the phone and everything is fine again.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Games are not as good as one the apple devices. (iPhone and iPod touch)&lt;/li&gt;&lt;li&gt;The animation and effects are good on the phone, but not as good as on the iPhone.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;When you turn the phone from portrait to landscape, iPhone does the nice rotate. The Nexus One just changes screens normally.&lt;/li&gt;&lt;li&gt;On the iPhone when you send a message, the message flows beautifully from the compose section to the threaded view.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Currently I am waiting for the android 2.2 update. Its suppose to make the phone 4 to 5 times faster and has lots more improved features. I personally am looking forward to the following in android 2.2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Next to the all apps button at the bottom, there will also be a phone and Internet icon. This will be very handy because I make a lots of calls.&lt;/li&gt;&lt;li&gt;USB&amp;nbsp;tethering&amp;nbsp;and WI-FI hotpot.&lt;/li&gt;&lt;li&gt;Update all of your apps with a single click.&lt;/li&gt;&lt;li&gt;The phone is already this fast, how much faster can it get.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I hope that gives you an insight off the pros and cons of the Nexus One.&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/2587937642665235237-3698375508661145461?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/3698375508661145461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=3698375508661145461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/3698375508661145461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/3698375508661145461'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2010/06/my-google-nexus-one-experience.html' title='My Google Nexus One Experience'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-6789506540708803294</id><published>2010-01-18T18:05:00.000-08:00</published><updated>2010-01-19T17:24:00.692-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><title type='text'>Unreliable Internet Connection</title><content type='html'>I recently experienced a very unreliable internet connection at home. My internet kept on disconnecting and at times would not even connect.&lt;br /&gt;&lt;br /&gt;So I lodged a fault with my ISP and someone came around to investigate. This is what happened.&lt;br /&gt;&lt;br /&gt;The first thing was to test the phone jack that the ASDL Modem was plugged into. The technical had a device which plugs into the phone jack and connects to the exchange and can generate some statistics like speed, noise etc.&lt;br /&gt;&lt;br /&gt;Before coming to my house, the technical was at the exchange testing my connection. He said that connection speed at the exchange was 16mbps and at my house it was 11mbps. He said that I live approximately 3km from the exchange. He made the point that I am very lucky to get those sort of speeds. He said people down the road we only getting about 2 to 3mbps.&lt;br /&gt;&lt;br /&gt;For some reason, his device was not connecting and eventually it did connect. The technician decided to try another phone jack because it shouldn't take that long to connect. But surprisingly it connected straight away at the other phone jack. That meant something was wrong with the first phone jack.&lt;br /&gt;&lt;br /&gt;So he plugged in his device into the original phone jack and it connect ok. He called the ISP to check that the statistics he is viewing on his device has the same readings as the ISP and they were the same.&lt;br /&gt;So the technician said that my ADSL router might be the problem.&lt;br /&gt;&lt;br /&gt;I have a netgear router. And the technician said these routers work very well when they are new and as they get older they dont perform that well and can play up. I have personally noticed that the performace of my wireless has degraded over time.&lt;br /&gt;&lt;br /&gt;I then asked the technician if there was something wrong with the phone jack itself. Some sort of lose wiring. So he opened it up and had a long look at the connection. He pointed out some mold/fungus in the connection and that could be causing the problem.&lt;br /&gt;&lt;br /&gt;He then installed a new phone jack and tested it again. The statistics where slightly better than before. I plugged my router into the phone jack and it also connected relatively quickly. I had to just monitor my connection over the next couple of days.&lt;br /&gt;&lt;br /&gt;He suggested that if I experience these problems agains, to try another router because everything else seems to be fine.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;br /&gt;The cause of my unreliable internet connection was some mold/fungus in the wiring in the phone jack. Who would have thought this would be the problem! After the phone jack was changed, my internet has been very reliable.&lt;br /&gt;&lt;br /&gt;Note: Having an alarm system is also known to cause internet problems. If you have a monitored alarm, some special wiring needs to be done so the alarm is using the correct channels of the phone line and does not interfer with the internet connection. Its some sort of splitting so that you dont have to use line filters in the house.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-6789506540708803294?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/6789506540708803294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=6789506540708803294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/6789506540708803294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/6789506540708803294'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2010/01/unreliable-internet-connection.html' title='Unreliable Internet Connection'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-360428750063982479</id><published>2009-08-22T12:25:00.000-07:00</published><updated>2009-08-21T16:12:54.767-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Free SMS via Twitter</title><content type='html'>Did you know it is possible to send SMS(Text Messages) to your friends for free using Twitter. Let me explain.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;"&gt;Receiving tweets via SMS&lt;/span&gt;&lt;br /&gt;In some countries, you can receive twitter updates via SMS to your mobile phone and you can also send tweets via SMS. This is quite handy if you don't own a smart phone.&lt;br /&gt;&lt;br /&gt;You first have to check with your mobile service provider whether they provide this service.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;In New Zealand, Vodafone and Telecom will send tweets to your phone for free but tweeting via SMS will cost the normal charges.&lt;br /&gt;The service it very fast. As soon as you tweet, within a couple of seconds the SMS will be received.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How do you set this up?&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Log onto twitter&lt;/li&gt;&lt;li&gt;Go to the "Settings" link in the top right&lt;/li&gt;&lt;li&gt;Go to the "Devices" tab.&lt;/li&gt;&lt;li&gt;Provide the details required. They ask for your mobile number&lt;br /&gt;&lt;/li&gt;&lt;li&gt;They will display a code which you need to text to a number they show in order to verify the mobile user.&lt;/li&gt;&lt;li&gt;You are done.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;You can choose from which users you want to receive updates&lt;/span&gt;&lt;br /&gt;This is a very nice feature because you don't want to receive SMS tweets all day long.&lt;br /&gt;If you go to the list of the people that you follow, you will notice that you can select from which people you would like to receive SMS updates. This just gives the user more control of what content they would like to receive via SMS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sleep Interval&lt;/span&gt;&lt;br /&gt;You can also specific a period of time where you don't want to receive SMS updates on your mobile phone. This can be setup in the "Devices" tab.&lt;br /&gt;For example, if you set the period from 9PM to 9AM, you will not get any tweets to your phone during that time interval which is handy if you don't want to be interrupted when you sleep.&lt;br /&gt;&lt;br /&gt;Since you have everything setup and have some background information, I can now explain how the free texting/SMS to your friends can work.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;"&gt;Free SMS&lt;/span&gt;&lt;br /&gt;This idea assumes that your friends are on twitter and have SMS alerts setup.&lt;br /&gt;&lt;br /&gt;If you direct message the person, that person will get that message as a text message and no one else will know about it. Its just between you and the person it was sent to.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example 1:&lt;/span&gt;&lt;br /&gt;You are sitting at your computer and you want to message your mate. Just log onto twitter and send then a direct message.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Example 2:&lt;/span&gt;&lt;br /&gt;If you have a smart phone which can access the Internet, you could also log onto twitter and and direct message them. If there is free Wi-Fi then there is no cost to you.&lt;br /&gt;&lt;br /&gt;You can also take advantage of twitters broadcasting capabilities.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;For example&lt;/span&gt;, if you want to message something to all of your friends, you could just send a normal tweet and then all your friends would get that message on their mobile phones. So you don't have to text each of your friends one by one.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Facebook Status Update&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I have setup selective Facebook updates from my twitter account.&lt;br /&gt;This means if I tweet and its end with "#fb", that tweet will also be posted as a status update on Facebook.&lt;br /&gt;This is another handy way to update your Facebook from your phone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-360428750063982479?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/360428750063982479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=360428750063982479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/360428750063982479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/360428750063982479'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/08/free-sms-via-twitter.html' title='Free SMS via Twitter'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-4239106555392885329</id><published>2009-06-16T19:08:00.000-07:00</published><updated>2009-06-16T14:43:54.094-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='scrum'/><title type='text'>Being Agile</title><content type='html'>One of the key goals of any software development company is to be agile regarding how quickly the company can respond to clients feedback. Its known that requirements are always changing and it can be difficult to react to these changes quickly.&lt;br /&gt;When companies are not agile enough, clients can become disgruntled as there feedback is not been acted upon and companies could lose valuable clients.&lt;br /&gt;&lt;br /&gt;I will discuss a couple of ways a software company can be more agile. The faster you meet your customers requirements, the happy your customers will be, which means a more successful company.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Agile Software Development Process&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Firstly you must have an agile software development process in place. There is lots of detailed information on &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Wikipedia&lt;/a&gt;&lt;div&gt;The main idea is having quick short iterations of the software development life-cycle.&lt;br /&gt;&lt;br /&gt;One of my favourite approaches is &lt;a href="http://en.wikipedia.org/wiki/Scrum_%28development%29"&gt;Scrum&lt;/a&gt;.&lt;br /&gt;Below is an excellent video explaining how scrum works. I highly recommend that you watch it.&lt;br /&gt;&lt;object width="440" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Q5k7a9YEoUI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Q5k7a9YEoUI&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="440" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;This video is from Hamid Shojaee who is the CEO of Axosoft. His company makes software change management systems which supports the scrum methodology very well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I believe that scrum is one of the best processes. After watching the video you will think, how come I didn't come up with this process. One of my favourite aspects of this is the Burn down charts. It gives you great visibility of how the project is progressing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Other Issues&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Existing Code Base&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Changing requirement means adding new functionality, improving and refactoring code etc.&lt;br /&gt;&lt;br /&gt;If your existing code base in not well designed, architecture and tested, then maintaining this code base could prove very costly.&lt;br /&gt;&lt;br /&gt;Let me explain is some detail&lt;br /&gt;Ideally, if your code base is well designed and tested, adding new features and doing general maintenance is easy. The code is nice and modular and its easy to inject new pieces of logic. Its easy to reuse existing code. When there is a good bed of test suites, then you can confidential refactor the code and running the units tests can verify that everything is still working correctly.&lt;br /&gt;&lt;br /&gt;On the other hand, if the code base is poorly designed and tested, then adding and maintaining code can be very time consuming and costly. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once badly designed code in already in the code base, its quite difficult to remove.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;A lot of people don't know what is good and bad code, thus cant identify what is good and bad.&lt;/li&gt;&lt;li&gt;Once bad code is in the code base, it is usually very hard to refactor and remove.&lt;/li&gt;&lt;li&gt;Other developers might see this bad code and assume that it is acceptable and the problem gets worse. Two wrongs never make a right, but things can get incredibility messy.&lt;/li&gt;&lt;/ul&gt;That is why it is important to tackle these problems as early as possible before things get out of control. &lt;/div&gt;&lt;div&gt;An analogy to this is when you get sick. The sooner you identify the symptoms and what is wrong with you, the early you can fight the sickness. Less pain and troubles. The exact same thing applies for coding.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once you start working in the industry, this will become more apparent.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As long as you learn from your mistakes and improve your work, everything will be fine. Always try and find better ways to do things, this is the way to strive and become really good at what you do.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How to tackles these issues:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Its very important to spread the knowledge. If you find out something interesting and helpful, tell people about it. It will make the IT industry a better place. Blogs and twitter and good ways to spread the knowledge.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Do something about it. Don't just do nothing. If everyone thinks that someone else will do it, then nothing will happen and the problem is never solved.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Keep yourself up to date with the latest news and information in the industry. Use tools like RSS readers, twitter etc to learn and find out more.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-4239106555392885329?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/4239106555392885329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=4239106555392885329' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/4239106555392885329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/4239106555392885329'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/05/being-agile.html' title='Being Agile'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-4606576958626290239</id><published>2009-04-27T14:11:00.000-07:00</published><updated>2009-04-27T14:50:03.475-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='statistics'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='traffic'/><category scheme='http://www.blogger.com/atom/ns#' term='tracking'/><title type='text'>Tracking your Blog</title><content type='html'>Once you have a blog setup, the next thing you should do is track the traffic to your website. This allows you to understand how many people are viewing your content and how much traffic its getting.&lt;br /&gt;&lt;br /&gt;There are many services on the internet that allow you to track the traffic to a website. I will just name a few:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.statcounter.com/"&gt;StatCounter&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Since I am using &lt;a href="http://www.blogger.com/"&gt;Blogspot/Blogger&lt;/a&gt; which is a Google product, I decided to use Google Analytics.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Setup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Google Analytics is really easy to setup. I found this &lt;a href="http://andywibbels.com/2007/01/how-to-add-google-analytics-to-your-blogger-blog/"&gt;blog&lt;/a&gt; which explains how to setup Google Analytics for a Blogspot Account.&lt;br /&gt;Setup is really very simple.&lt;br /&gt;These are the steps at a very high level:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Sign up for a Google Analytics account.&lt;/li&gt;&lt;li&gt;Copy the code snippet from Google Analytics into your blog. This allows it to be tracked by Google.&lt;/li&gt;&lt;li&gt;Go to Google Analytics and check that the snippet has been deployed correctly. I read somewhere that you have to allow 24 hours for Google to initialise things before you will be able to view some results.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Results&lt;/span&gt;&lt;br /&gt;I was very impressed with the results that Google Analytics provides.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Simple and easy to understand graphs and data. &lt;/li&gt;&lt;li&gt;But also allows you to drill down into more detail.&lt;/li&gt;&lt;li&gt;There are lots of different KPI (Key Performance Indicators) which you can use.&lt;/li&gt;&lt;li&gt;Shows from which part of the World the viewer came from.&lt;/li&gt;&lt;li&gt;And lots more other interesting details&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-4606576958626290239?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/4606576958626290239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=4606576958626290239' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/4606576958626290239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/4606576958626290239'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/04/tracking-your-blog.html' title='Tracking your Blog'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-2107186947052441292</id><published>2009-04-21T19:02:00.000-07:00</published><updated>2009-04-21T20:04:20.057-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='script'/><title type='text'>Linux Shell Script - Changing Directory</title><content type='html'>I found out that changing directory in the shell script file does not affect the shell in which it was called.&lt;br /&gt;When you run a shell script, the script in run in another shell session.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;I will explain with an example.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is the contents of my script, which is called "mymkdir":&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);font-family:courier new;" &gt;#!/bin/bash&lt;br /&gt;mkdir $1&lt;br /&gt;cd $1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So the goal of this script was to create a new directory and the name of this will be passed in as parameter. And afterwards we would like to change into that directory.&lt;br /&gt;But if you try and run this script nothing will happen. It will create the new directory, but it wont change into that directory. You will remain in the same location.&lt;br /&gt;This is how I ran the script:&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&gt; mymkdir newFolder&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution&lt;/span&gt;&lt;br /&gt;To use the keyword "source" before running the script.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&gt; source mymkdir newFolder&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now it should work as expected. A new directory called "newFolder" has been created and the shells present working directory is now inside the new folder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-2107186947052441292?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/2107186947052441292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=2107186947052441292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/2107186947052441292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/2107186947052441292'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/04/linux-shell-script-changing-directory.html' title='Linux Shell Script - Changing Directory'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-3340183211822873093</id><published>2009-03-31T15:19:00.001-07:00</published><updated>2009-03-31T17:23:44.982-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Twitter</title><content type='html'>I wanted to share a few thoughts about &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt;. Twitter is actually a very good service. It provides a means of sharing information. I have learnt a lot by using twitter. My general IT knowledge is getting better day by day and you learn lots of new things. Its very addictive once you start using it.&lt;br /&gt;&lt;br /&gt;Twitter is quite different from a blog. Since twitter restricts the tweet to only 140 characters, it encourages you to tweet often about things that you would like to share.&lt;br /&gt;On the other hand blogs allow you to write as much as you want and include different types of media (pictures, videos). Therefore writing blogs requires more thought. So you might notice that people tweet much more than updating there blog.&lt;br /&gt;&lt;br /&gt;So for more up to date news, twitter is good.&lt;br /&gt;Examples of some news company's that use twitter:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The New Zealand Herald: &lt;a href="http://twitter.com/nzherald"&gt;http://twitter.com/nzherald&lt;/a&gt;&lt;/li&gt;&lt;li&gt;CNN: &lt;a href="https://twitter.com/cnn"&gt;https://twitter.com/cnn&lt;/a&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Twitter is also used as a means to exchange URLs with the help of URL shorting services like &lt;a href="http://tr.im/"&gt;tr.im&lt;/a&gt;, &lt;a href="http://is.gd/"&gt;is.gd&lt;/a&gt; just to name a few.&lt;br /&gt;&lt;br /&gt;But if you want detailed information, then you will get that from a blog. So blogs and twitter kind of serve different purpose.&lt;br /&gt;&lt;br /&gt;Another nice feature of Twitter is that it keeps track of all the people that you are following your tweets and all the people that you follow.&lt;br /&gt;&lt;br /&gt;Twitter is one of the biggest things happening on the web. If you read feeds about technology, twitter is mentioned lots, much more than facebook. Its cropping up in magazines, radio, you name it.&lt;br /&gt;&lt;br /&gt;Those are just some ideas I had about Twitter and blogs.&lt;br /&gt;&lt;br /&gt;My twitter details and updates are on the side of my blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-3340183211822873093?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/3340183211822873093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=3340183211822873093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/3340183211822873093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/3340183211822873093'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/03/twitter.html' title='Twitter'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-1667207355129849562</id><published>2009-03-03T09:54:00.000-08:00</published><updated>2009-03-03T11:23:06.587-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='javadoc'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><title type='text'>Javadoc/Comments in Code</title><content type='html'>A work colleague "&lt;a href="http://www.rapaul.com/"&gt;Richard Paul&lt;/a&gt;" suggested some very good ideas about what things should be included in javadocs/comments when coding.  So I thought I should write about it to spread the knowledge.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Comment design decisions and why you did it that way&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There was a situation at work were we wanted to know why a particular variable was used in a calculation over another variable. Then we started to think back to why we did it that way and this had happened a while ago so not a lot was recalled. We needed to know this because we needed to change the variable being used and couldn't recall if there was any special reason why we used that variable.&lt;br /&gt;&lt;br /&gt;But if we had documented in the javadoc why we used that variable over another variable that would have made things much simpler.&lt;br /&gt;&lt;br /&gt;Most of the time developers document how their code works in the javadoc. This is good when the code is complex and hard to understand. In the ideal world the code should be well written that very little javadoc is required to explain what is happening. But we believe it is also important to document why you have done something in a particular way. Also any coding design decision should be commented.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;I will give you an example to better explain what I mean.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I had to implement an interface for a listener to perform a particular task. Now the event for this listener had 3 different event types.&lt;br /&gt;&lt;br /&gt;One option would be used to implement the interface directly and use if statements to handle the 3 different event types.&lt;br /&gt;&lt;br /&gt;Another option would be to add an abstract class in the middle which would handle the if statement and delegate to 3 abstract methods. So instead of implementing the interface, you extend this abstract class and instead of implementing 1 method, you now have 3 abstract methods to implement.&lt;br /&gt;The reason I did this was because the code was more clear as to what each method was doing. Also if in the future we wanted another implementation, we could extend the abstract class and the common logic is still in the abstract class and it would be easy to substitute classes.&lt;br /&gt;&lt;br /&gt;So, some of the reason I outlined above should be added to the javadoc of the abstract class. So that when someone looks at the code in the future, they will understand why I used an abstract class instead of implementing the interface directly.&lt;br /&gt;&lt;br /&gt;Company's might have procedures in place to write supporting document about the code. But this might be hard to locate and might take time. But having some of the reasons in the code makes the information available quickly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Comment your unit tests&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Another place that comments become very useful is in unit tests. Testing code is very important and I might write another post explaining why later on.&lt;br /&gt;&lt;br /&gt;So what do I mean?&lt;br /&gt;Each test case you write should be testing a particular case. So sometimes its a good idea in the javadoc of the method to summarise the input and output of the test case. Now if you are creating all the input data inside the test case, then this javadoc might not seem very useful. But if you have created your input data in the setup method of the testing class, then its not very obvious what are the inputs.  Creating the input data in the setup method reduced redundancy and is the logical thing to do to make your tests maintainable.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;I will give an example to explain what I mean.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public class TestPerson extends TestCase {&lt;br /&gt;&lt;br /&gt;protected void setUp() throws Exception {&lt;br /&gt;Person person1 = new Person("name1", 10); // name and age of person&lt;br /&gt;Person person2 = new Person("name2", 11);&lt;br /&gt;// etc&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;/**&lt;br /&gt;* The people should be allocated by name&lt;br /&gt;* Data:&lt;br /&gt;* Person1 - Jane&lt;br /&gt;* Person2 - Bob&lt;br /&gt;* Person3 - Steve&lt;br /&gt;* Outcome: a list in the order Bob, Jane, Steve&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;public void testAllocatePeopleByName() {&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;This is just a simple example demonstrating the concept of commenting your tests.&lt;br /&gt;&lt;br /&gt;Now if that Test Class was very long, that javadoc becomes very useful. Instead of scrolling to the top of the test to see the details of the input data in the setup method, you have a summary in the javadoc of the test method.&lt;br /&gt;Maintaining the code and tests now become much easier. If you wanted to maintain this code in the future or if someone else looks at it, they would be able to understand and comprehend it much faster saving time thus money.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-1667207355129849562?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/1667207355129849562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=1667207355129849562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/1667207355129849562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/1667207355129849562'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/03/javadoccomments-in-code.html' title='Javadoc/Comments in Code'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-7889790202748433113</id><published>2009-02-18T19:19:00.000-08:00</published><updated>2009-02-18T19:29:26.848-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Greasemonkey</title><content type='html'>&lt;span style="font-weight: bold;"&gt;So what is Greasemonkey?&lt;/span&gt;&lt;br /&gt;Greasemonkey is an addon for Firefox that allows the user to write scripts which alter the web page dynamically.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://userscripts.org/"&gt;Userscripts&lt;/a&gt;&lt;br /&gt;This site contains scripts which can be used by Greasemonkey. This would be a good place to have a look to get an idea of what things can be achieved. Its a place where user share their scripts with everyone.&lt;br /&gt;&lt;br /&gt;If you know some web technologies like HTML, CSC and javascript, you will be able to write your own scripts.&lt;br /&gt;&lt;br /&gt;More information about this can be found on &lt;a href="http://en.wikipedia.org/wiki/Greasemonkey"&gt;wikipedia&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-7889790202748433113?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/7889790202748433113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=7889790202748433113' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/7889790202748433113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/7889790202748433113'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/02/greasemonkey.html' title='Greasemonkey'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-2505461676009720498</id><published>2009-02-12T20:46:00.000-08:00</published><updated>2009-02-12T20:58:06.638-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Fixing issues after new windows xp installation</title><content type='html'>After I installed Windows XP, there was nothing in the Network Connections so I could not connect to the Internet using my router. Also sound was not working and some games were not working.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to fix this&lt;/span&gt;&lt;br /&gt;You need to install the drivers for the motherboard.&lt;br /&gt;You first need to find out the model of the motherboard.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You could open up the computer and check the model number written on the motherboard.&lt;/li&gt;&lt;li&gt;Check the specification of your computer. Maybe the invoice for the computer contains a list of components.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;For example my motherboard was an "Intel D915". So you just go the google and search for "Intel D915 drivers".&lt;br /&gt;&lt;br /&gt;So on the Intel website, there were 4 drivers&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A driver so that the basic components on the motherboard work correctly&lt;/li&gt;&lt;li&gt;A sound driver&lt;/li&gt;&lt;li&gt;A network driver (This created a LAN network connection)&lt;/li&gt;&lt;li&gt;An advanced graphics driver. I believe for the on-board graphics card&lt;/li&gt;&lt;/ol&gt;So after installing all those drivers, everything is working fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-2505461676009720498?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/2505461676009720498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=2505461676009720498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/2505461676009720498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/2505461676009720498'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/02/fixing-issues-after-new-windows-xp.html' title='Fixing issues after new windows xp installation'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-4736084283352001184</id><published>2009-02-09T17:54:00.000-08:00</published><updated>2009-02-11T19:38:35.053-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rock climbing'/><title type='text'>Rock Climbing for Beginners</title><content type='html'>If you have never been rock climbing before, then your first experience is quite interesting. So I thought I shall share some interesting things that I learnt. This is indoor rock climbing. Not that actual thing.&lt;br /&gt;&lt;br /&gt;I am only going to go over the basic things a learnt. If you want more details then there is always &lt;a href="http://en.wikipedia.org/wiki/Rock_climbing"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;wikipedia&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since it was my first time, the people working there give gave me and work colleagues a demo about safety and how things work. Also wearing a harness for the first time can be difficult and can be uncomfortable at first.&lt;br /&gt;&lt;br /&gt;The demo started of showing how to climb a wall with a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;belayer&lt;/span&gt;. I think it was a top rope system. So the climber attaches themselves to one end of the rope. This rope goes to the top of the wall and then comes down to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;belayer&lt;/span&gt; who is also attached to the rope. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;belayer&lt;/span&gt; stands about 5 metres away from the wall.&lt;br /&gt;&lt;br /&gt;So as the climber climbs the wall, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;belayer&lt;/span&gt; has the pull the rope so the rope between the two is always tight. So that if the climber falls, they only fall a small distance. They have special systems attached onto the rope, so that if you do fall, the rope automatically locks, so its quite safe. Then once you have reached the top or have had enough, you can let go of the wall and the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;belayer&lt;/span&gt; will slowly bring you down.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How they measure difficulty&lt;/span&gt;&lt;br /&gt;The rock climbing walls have colour coded holds(placed where you put your hands or feet). Each of the colour coded holds are given a level which is shown on the wall. And the aim is to use a single colour to get to the top. If you can then you have achieved that level. Simple as that.&lt;br /&gt;Easier levels have many holds which are large and easy to grip. Harder levels have fewer holds in hard to reach locations and are difficult to grip.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lead climbing&lt;/span&gt;&lt;br /&gt;Another style of climbing that I saw was lead climbing. There is still a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;belayer&lt;/span&gt;, but as the climber climbs its there responsibility to clip themselves into clips along the way. This style is for more experienced rock climbers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Don't need a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;belayer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;There where also tall narrow walls which don't require a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;belayer&lt;/span&gt;. There is still a rope that you have to clip your harness on, but as you climb the wall there is a mechanism that keeps the rope tight and if you fall, it automatically takes you down slowly.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Bouldering&lt;/span&gt;&lt;br /&gt;Instead of going up the wall, in bouldering you go across. In other words rock climbing sideways.&lt;br /&gt;&lt;br /&gt;So that was my first experience regarding rock climbing and I recommend that you try it once.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-4736084283352001184?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/4736084283352001184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=4736084283352001184' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/4736084283352001184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/4736084283352001184'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/02/rock-climbing-for-beginners.html' title='Rock Climbing for Beginners'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2587937642665235237.post-8700406096016859638</id><published>2009-02-06T17:24:00.000-08:00</published><updated>2009-02-10T14:46:08.163-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='dual-boot'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Dual boot Windows XP and ubuntu 8.10</title><content type='html'>I bought a second hand computer for real cheap so I thought it might be a good idea to try and setup a dual boot using windows xp and ubuntu 8.10&lt;br /&gt;&lt;br /&gt;I asked a few people at work and they said it would be very straight forward so I decided I should give it a go and I had nothing to lose. But the journey was harder than I thought.&lt;br /&gt;&lt;br /&gt;It is a good idea to install windows xp first. This is because if you decide to install windows second, windows overrides the boot load so you wont get the option of which operating system you would like to load up.&lt;br /&gt;&lt;br /&gt;Before you start installing anything, you should decide how the hard drive should be partitioned to accommodate the dual boot. Now I had a 120GB hard drive. So I wanted 40GB for windows, 40GB for ubuntu and 40GB as a separate partition for my files so that both operating systems can access it.&lt;br /&gt;&lt;br /&gt;By default, ubuntu can view and modify the contents in the windows partition but windows  is unable to even see the ubuntu partition.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Installing windows xp first&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So the mission began and installing windows was easy but it takes a while. Maybe about 25 to 30 minutes. So when I was asked about the partitions at the start I only created one 40GB partition and left the rest as free space. The rest of the installation is straight forward.&lt;br /&gt;&lt;br /&gt;Let me say, windows xp is extremely fast on the clean installation. The time from computer startup to desktop is like 15 seconds. There is hardly any loading time for the operating system.&lt;br /&gt;&lt;br /&gt;But I had a major problem. I had nothing in the "Network Connections" so I could not connect to the internet. The computer was connected to the router but I could not connect to the LAN. I believe some network adapter drivers are missing. But this is a separate issue I will discuss later.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Next installing ubuntu 8.10&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The live feature available when installing ubuntu is very handy. It loads up quickly and you can use the operating system without having to install it. It detected being connected to my router automatically and I could browse the internet straight away. So its good how everything just works without having to do anything.&lt;br /&gt;&lt;br /&gt;Then on the desktop there is a icon called "Install" which allows you to install ubuntu through a nice wizard. Everything is straight for apart from the Partition section.&lt;br /&gt;&lt;br /&gt;There are a few options when decided where ubuntu will be installed.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The first option is resizing an existing partition to make room for ubuntu. The problem was that it was only resizing the 40GB I had allocated for windows. &lt;/li&gt;&lt;li&gt;There are 2 other options but both of them result is using the entire disk (120GB) for ubuntu.&lt;/li&gt;&lt;li&gt;The last option was to setup the partition manually, but this requires some advanced knowledge regarding allocation of disk space required for ubuntu. Like allocation space for the root, swap etc&lt;/li&gt;&lt;/ol&gt;None of these is what I wanted. I already had 40GB for windows and I wanted to use the free space I had left.&lt;br /&gt;&lt;br /&gt;After some researching, I found out there is a "Partition Manager" option in the "System" menu on the live running system. This allows you to manage the partitions on the disk.&lt;br /&gt;You can add, edit and delete partitions.&lt;br /&gt;So after some fiddling around, I created a FAT32 partition at the end of the disk and resized the windows partition to take up 80GB. Resizing partitions is quite simple because it involves dragging a rectangle to the size required.&lt;br /&gt;&lt;br /&gt;Then I started the installation progress again and when I got to the partition section I selected the first option of resizing the windows partition which I changed to 80GB. So know is have 40GB for each operating system. The rest of the installation is straight forward.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Finally&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now its was time to restart the computer and to see which options I would be confronted. These are the options:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Load ubuntu, the name started with ubuntu but there was lots of random text afterwards.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;This had the same text as the first but the "(Safe)" at the end&lt;/li&gt;&lt;li&gt;There is an option to load another operating system.&lt;/li&gt;&lt;li&gt;The last option is windows xp&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2587937642665235237-8700406096016859638?l=mehul-kumar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mehul-kumar.blogspot.com/feeds/8700406096016859638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2587937642665235237&amp;postID=8700406096016859638' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/8700406096016859638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2587937642665235237/posts/default/8700406096016859638'/><link rel='alternate' type='text/html' href='http://mehul-kumar.blogspot.com/2009/02/dual-boot-windows-xp-and-ubuntu-810.html' title='Dual boot Windows XP and ubuntu 8.10'/><author><name>Mehul</name><uri>http://www.blogger.com/profile/08826955752827600235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
