Thursday, April 17, 2008

Part II - Process of buying a Used Car



This article aims to give you basic knowledge about how to inspect a used car and can possibly help you toHappy Used Car avoid used cars with potential problems i.e. avoiding lemons. To begin with let me make one thing very clear: "buying a used car requires tons of patience in addition to a lot of research effort".


1] Shortlisting:

a) Browsing online:
Look for used cars listings on www.craigslist.com. You would find cars listed by both dealers and private sellers. More often than not craigslist would suffice, but incase you want to look for more options you can check out other sites such as UsedCars.com, Cars.com, CarsDirect.com, etc.

b) Verifying by VIN:
Once you like a car, the next step is to look for its VIN no. VIN stands for Vehicle Identification Number and each car has one such unique number. In Oprah speak, its similar to a SSN. Every VIN# Tells A Story. One can peek into the cars history by using this 17 digit VIN#. By car history I mean the foll:
- the no of previous owners ???
- the type of owners ???
- Any accidents, engine, transmission repair ???
- Has the car passed last Emission Test ???

However, knowing the VIN no won't help in getting the above info. You would want to purchase an account with www.CARFAX.com to get all the car history using the VIN#. A carfax account for 1 month of unlimited usage would cost around $30. Buying a carfax account and filtering cars based on its VIN# is the first and most important step in this whole process.
2] Inspecting a used car:

Once you are satisfied with your research with the car's VIN#, proceed towards setting up an appointment with the car's owner.

a) Questions to ask to Seller:

Ask the seller to point out all known defects, problems, issues, etc. with the car. If there are any subsystems, alarms, or computer indicators that are not functioning, have them point it out to you. Ask the seller when the brake pads were last replaced. Ask if there is an extended warranty with the vehicle, and if it is transferable to you. Verify this with the warranty company. Ask to bring the car to your mechanic to check it out. If they say no, you have to wonder what they are hiding.

b) Inspecting Externals of the car:
Following is an excellent webpage that teaches how to inspect the car body: http://www.samarins.com/check/bodycond.html

c) Inspecting Internals of the car:
Following is an excellent webpage that teaches how to inspect internals of the car:
http://www.samarins.com/check/checklist.html

However, this information cannot substitute for detailed mechanical inspection performed by a professional. To protect yourself, take a car to a mechanic of your choice for detailed mechanical inspection prior purchase. I did a checkup at pepboys. I did a 120 point checkup for $70/80 + an engine checkup for $40. However, spend your money for a professional checkup only after a test drive and price negotiation, i.e. when you are absolutely sure of buying the car.

d) And finally the Test Drive:
Drive with the radio on and off. Test the speakers to see if they are cracked. Make sure the CD player works. Take the car on a highway, main streets, and side streets, see if the car loses alignment, or bears to the left or right. See how good the car brakes, drive sharply around some corners, and your companion is writing everything down. Make sure all the seat belts work, that electric seats work, look for missing or burned out bulbs inside and out. If the car has retractable headlights, make sure they pop up and turn on. Make sure the brake lights, reverse lights and directional lights work.

3] Deciding the Price:
To decide whether the price quoted by the seller is reasonable or not, you can do the following: Go to Kelly Blue Book, http://www.kbb.com/. There you can find the car price according to all variables like car make, year, model, mileage, etc. Lastly, it would ask you to select from the following 3 options:
- Trade-in Value
- Private Party Value
- Suggested Retail Value

If your seller is a private seller, than the price quoted by him/her should be less than the KBB's price for a Private Party Value. And if your seller is a dealer, than the price quoted by him/her should be less than the KBB's price for a Suggested Retail Value.

4] Essentials after buying a car:

Jumper Cables:
If the car does not have jumper cables, go buy some on the way home, without delay. You never want to be without jumper cables.

Battery/Alternator:
Ask the seller for receipts for the battery or alternator. Many auto parts stores have lifetime warranties on alternators, or will prorate a failed battery only if you have the original receipt.

This is what I learnt when I bought my car. I would be more than happy to know any glitches in the above process or any worthwhile improvements that I missed out on.


Read more...

Part I - Economics of buying a Used Car



I bought my car last year in October after a couple of months research. And the views expressed in thisHappy Used Car article are solely mine that I developed while going through the process of buying my car. I had most of this article prepared by the time I got my car keys, but somehow it never made its way here.

For most of us, the family home is the biggest purchase we will ever make, and the car is often the second biggest, which are known as big ticket purchases. Not surprisingly, this is where the most money can be saved or wasted.

I believe in rational consumption decisions, and those who know me will not be surprised to learn that I have strong opinions on these issues. I believe that buying a new car is a big purchase but a bad investment. So let me explain why.


.

2 important points to begin with:

1) Difference between big ticket and small ticket purchases:
By contrast, consumption decisions about items purchased frequently via simple transactions (e.g., cereal) are easier to make on a trial-and-error basis and can be easily improved. Because these decisions are routine and relatively inexpensive, they exert a much smaller influence on the life of the consumer.

2) Difference between buying a house and a car:
Unlike a house, the car is a depreciating asset, and is virtually a black hole for throwing money into.

.

.

Advantages of buying a used car:

1] Finance:
The period during which one has highest capital available at his disposal is perhaps the first couple of years of starting a job life. This is the period when one is single, and most probably sharing his apartment with fellow roomies, thus being able to save a significant portion on his monthly rentals. Hence, if one goes for a used car he can save almost atleast half the amount he might be thinking of spending on a new car. This capital saved could have been put to better use in some wise investments. Furthermore, there are other hidden expenses that come along with buying a new car. New car mean higher insurance rates. In addition, a new car probably implies that a loan was taken since students who have just started their job life usually do not have strong credit history and hence they have to shell more mullah in paying higher loan interest rates. Also, the amount one has to pay for tax increases with the car's base price. Lets work out the finances by taking an example of a buying a new car vs a used car.

.

(a) New Car :

Base Price = 20,000
Tax (5%) = 1,000
Insurance Premiums = more
Loan Interest (7% APR for 5 yrs) = 5,000
Total = 26,000+

.

(b) Used Car :

Base Price = 10,000
Tax (5%) = 500
Insurance Premiums = less
Loan Interest (7% APR for 5 yrs) = 0 (since no loan was taken)
Total = 10,500+

.

.

2] Flexibility:
The value of a new car depreciates much faster as compared to a used car. The moment you take your new car out of the showroom, its value depreciates by 20%. When coupled to the average yearly depreciation of 7% to 12%, your first year’s loss is anywhere from 25% to 35%. That translates to a first year $6,000 to $8,000 loss on a $22,500 new vehicle, or a $10,000 to $15,000 loss on a $40,000 one. And that’s for a vehicle only driven the average 13,500 miles. If you drive more than that, your depreciation will be greater (35% to 50% for the first year). Hence, you need to stick to your new car for atleast 3 minimum years before selling it off, if you need to get some decent value back. However, thats not the case with used cars. After the initial 3 to 4 year period, cars undergo a steady depreciation of around 10%. Therefore you are always free to sell off the used car that you bought as and when you feel like.

.

.

3] More Value for same price:
It is so obvious but often underlooked. You can buy a used car with much more features than a new car with no features with the same amount. For example take a brand new 2007 Honda civic which costs around $15,000. Now thats a very basic model, the Honda Civic DX. With the same amount, one can easily get a used 2004 Honda Accord. Not only that but an EX V6 Honda Accord, with not more than 40K/50K miles on it.

.

.

.

And now some myths that a lot of people believe in:

Myths:

1] Used cars carry high maintenace costs:
Its quite normal for one to have that feeling, but with Honda's , Toyota's around, one can safely assume zero maintenance costs. Japanese cars are very well known to be highly durable and efficient with their mileage. Their safety equipment is up to date, and comparable to new cars. Manufacturer's warranty is still in effect. Most new cars have 36 month general warranties, many have 48 months, and a few have 60 months all transferable to new owners. Many used car dealers certify almost-new used cars with comprehensive inspections and guarantees. Today, most modern cars are built to such high standards that second-hand no longer means second-rate.

.

2] Driving a new car has its own experience:
I think its very subjective. But if you opt for a decent used car, say a 2004/2005 model which has been maintained well, you won't feel the difference. Furthermore even if there is such a thing as driving a new car, than I think it doesn't last too long beyong initial couple of months.

.

.

.

Conclusion:
Cars are terrible investments. In their most basic form, they are merely a tool to get us from A to B. In their most elaborate form they can be a “shiny” tool that gets us from A to B, but with more luxuries. But either way, they are not likely to be much of a financial benefit. Add on maintenance, repairs, interest on the loan, and insurance and you can quickly see that automobiles can have quite a large negative effect on our finances.

I have always heard (and I agree) that a two year old car is a good age to buy, because you are still getting a fairly new car that is likely to have some amount of manufacturer warranty remaining, but yet a huge chunk of depreciation is knocked off.

By buying used, you let a car's first driver deal with that big depreciation nosedive. You get the car you want without the financial strain or the hassle of being several thousand dollars upside down on your loan.

And last but not the least, its more wise to go in for brands such as mazda or nissan who are as good as Honda's or Toyota's and whose resale values are not blown up as is the case with Honda's and Toyota's.


Read more...

Monday, November 12, 2007

Democracy OR Dynasty ???

Indian FlagFew weeks ago i.e. on 24th September 2007, Rahul Gandhi was appointed as an All India Congress Committee general secretary in a reshuffle of the party secretariat. In addition, he has also been given charge of the Youth Congress and the National Students Union of India. And how did Congress go about celebrating this occasion. They compared Rahul to Dhoni as below:

Rahul can do Dhoni for congress.

This particular comparison made me write this blog entry.



Read more...

Sunday, September 9, 2007

C++


BjarneYesterday, one of friend called me as she needed some help in C++ for her TA assignment. She had to solve around 10 problems, all dealing with basics of C++ and in an increasing order of difficulty. And even after me explaining her the solutions, she seemed to be quite frustrated with solving them. She told me that the moment she thinks she has learnt quite a bit of C++, she realises that it is not enough.

I think, this feeling of hers is quite common for someone beginning to learn C++. My advise to someone would be to try learn the concepts of OOPS and think of C++ as a language that implements those concepts. Also, while learning they need to try to abstract any C++ program at different levels simultaneously. Most people concentrate on syntax while learning a new language, which does not serve the purpose. And as far as C++ is concerned, its syntax is very easy for anyone who is a little bit familiar with C. The idea is to understand different concepts such as encapsulation, inheritance, polymorphism which C++ offers and to understand how those find application in real life problems. Learning C is quite easy as it adopts a procedural approach. However learning C++ on the other hand needs persistance. OOPS concepts cannot be grasped in first read. But if one persists, it isn't long before one starts seeing through the capabilities of the language. It is usually that one moment, which changes everything. You then start appreciating the strengths and accepting the weaknesses of the language.

Well coming back to the topic, my friend's frustration reminded me about the interview given by Bjarne Stroustrup, the inventor of the C++ language. I would like you to first read the interview at http://www.oceanwave.com/technical-resources/humor/c++-hoax.html , before reading the rest of the article.



Read more...

Movie - Flaw in the movie "GURU"

guru.jpgI found a flaw in movie Guru. Actually I like the song "tere bina" so much that since the release of the movie, this is perhaps the only song I have been listening to consistently. Also, I usually use www.raaga.com, but for this song, I have been using youtube, since I like its picturisation.

You must be wondering, why am I talking about the song instead of revealing the flaw that I have found in the movie. So let me come to the point. Just before the song begins, Aishwarya leaves Abhishek and goes back to village. Why ? Well according to the movie, because of her brothers outbursts she realises that money was the only reason Abhishek married her.

My point is that she already knew this. How and when ?



Well following is the youtube link for part3 of the movie. Guru Movie - Part 3.

[youtube=http://www.youtube.com/watch?v=ztJJd29bYJE]
The clip is for 10 mins. Pay attention to the scene after 7 mins from the start of this clip. Aishwarya's father asks Abhishek what does he do, wasn't he in Turkey ? Following is the conversation:

Aish's father: What do you do ? Weren't you in turkey ?

Abhishek: Yes, I was. But now I want to do business here with your son Jignesh.

Aish's father: What business ?


At this point, Aishwarya comes in and listens the rest of the entire conversation.
Abhishek: Many new things are available in Turkey. I will sell those here for good profit.

Aish's father: What does your father say?

Abhishek: He says I will be ruined.

Aish's father: Then you will definitely make a profit. Don't worry. But I have stopped lending money these days. I have to get my daughter married.

Abhishek: If that is the case, then I am ready to marry her.

From what Aishwarya heard, it is but obvious that she knows Abhishek wants to marry her, so that he could get the money and start his business.

So to show that she later realises the reason is a mistake in the script. I think Mani sir might have overlooked this technical mistake, in the process of inserting the song and showing some kind of quarrel between Aishwarya and Abhishek.


Read more...

Friday, May 4, 2007

Parallel blogging site at wordpress.com

Hi all,
I would now post my rants on wordpress.com in addition to posting them here. This shift is primarily due to following 2 services provided by them and not by blogger (aka. google).

(1) I can post summary of my posts, so that readers won't have to scroll through long posts of mine to see other topics.

(2) Wordpress also has a very good support for RSS feeds wherein readers can subscribe to updates on my blogs.

The wordpress version url is http://dhavalgada.wordpress.com/


Read more...

Sunday, April 22, 2007

Lack of Computer Science Majors


I came across a blog from Janelle Godfrey, Technical Recruiter for Microsoft. In her blog titled "If I Could Turn Back Time: Why I Wish I had Studied Computer Science/IT/ Technology in College", she says that it is very shocking to her the fact that the number of students who will be enrolling in computer science courses is drastically decreasing, and is the lowest it has been in a number of years.


She also says, that she has received numerous emails, articles, and surveys sent by employees confirming the above. Many Microsoft employees have also informed her that they have received emails from their colleges stating that there is a tremendous decline in computer science majors within their alma maters.

The blog has a number of interesting comments posted. I browsed through most of the replies and to me it seems there is quite a lot of myth in those replies.


I am listing them as below and will try to shed some light on each.


1) Outsourcing will lead to less jobs for Computer Scientists
This perhaps is the greatest irony. The USA has an immigration policy that limits the number of foreign skilled workers, which in turn leads to outsourcing. The fact that the limit of 65,000 H1-B visa ran out the first day itself, reflects the kind of demand that exists in this country for Computer Scientists. And I believe such restrictive policies would only result in Americans loosing these high tech jobs.

e.g. If there are 10 people needed for a project and you found 5 qualified and willing Americans and you could hire the other 5 on visas you would keep the project in US but if you didn't have the visas you would send the entire project abroad and fire the 5 Americans you did find.


2) Technology is fast-changing, while the Computer Science curriculum is highly outdated.
I do believe that technology is fast changing, but curriculum for Computer Science aims at developing strong foundations, which will not change for a very very long time. Agreed that one needs to accept self-study and has to constantly updates ones skills, but Computer Science education only makes it easier to learn new things. If you have a strong base, building on it becomes much more easier.


3) Many famous and rich people are drop-outs. They do not necessarily have a Computer Science degree.
I can understand such beliefs. Who doesn't know famous drop-outs such as Bill Gates or Steve Jobs or for that matter even Larry Page and Sergey Brin who have suspended their phd programme temporarily. I can only say that such phenomena happens to few people.


4) Computer Science education or profession involves long hours of programming, is very intensive and no social or family life
True that the program is quite intensive as compared to other majors. Also, true is the fact that it involves long hours of programming infront of computers. But that is not the complete picture. We do make time for other activities that we are fond of. And above all I guess it is very subjective.

5) Jobs available without Computer Science degree and
6) Formal Education not required.
The above beliefs are two different topics to be talked about. I personally think that people often tend to mix their views about one with the other. When people say that they do not require Computer Science education for them to get development jobs, it generally indicates that there is widespread misconception not only about what Computer Science essentially means but also about the nature of their jobs? For example, those who get a job without a degree, fail to realise that it is not a job that necessarily requires computer science skills. Computer Science is much more than just programming.

Secondly, those who do get a computer science related job, without a degree, hats off to them.

I am of the opinion that as far as you have the required Computer Science knowledge it should not be important whether he/she has acquired it through formal education or on their own.

To explain my point more clearly, let me first try to answer the following questions:

a) What Computer Science means ? And who should pursue Computer Science ?

The renowned computer scientist Edsger Dijkstra is often quoted as saying, "Computer science is no more about computers than astronomy is about telescopes."

The best current definition of the field appears in two recent articles [1,2], developed jointly by the two major professional societies in the computing discipline, the Association for Computing Machinery (ACM) and the IEEE Computer Society (IEEE-CS). These reports identified nine subject areas comprising the subject matter of the discipline, which are shown below.

Nine subject areas defining the core of computer science :

This material is quoted directly from [1, Section 5.1].

(1) Algorithms and Data Structures
This area deals with specific classes of problems and their efficient solutions. The performance characteristics of algorithms and the organization of data relative to different access requirements are major components.

(2) Architecture

Methods of organizing efficient, reliable computing systems provide a central focus of this
area. It includes implementation of processors, memory, communications, and software interfaces, as well as the design and control of large computational systems that are reliable.

(3) Artificial Intelligence and Robotics

The basic models of behavior and the building of (virtual or actual) machines to simulate
animal and human behavior are included here. Inference, deduction, pattern recognition, and knowledge representation are major components.

(4) Database and Information Retrieval
The area is concerned with the organization of information and algorithms for the efficent
access and update of stored information. The modeling of data relationships, security and protection of information in a shared environment, and the characteristics of external storage devices are included in this area.

(5) Human-Computer Communication
The efficient transfer of information between humans and machines is the central focus of this area. Graphics, human factors that affect efficient interaction, and the organization and display of information for effective utilization by humans are included.

(6) Numerical and Symbolic Computation
General methods for efficiently and accurately using computers to solve equations from
mathematical models are central to this area. The effectiveness and efficiency of various approaches to the solution of equations, and the development of high-quality mathematical software packages are important components.

(7) Operating Systems
This area deals with control mechanisms that allow multiple resources to be efficiently
coordinated during the execution of programs. Included are appropriate services of user requests, effective strategies for resource control, and effective organization to support distributed computation.

(8) Programming Languages
The fundamental questions addressed by this area involve notations for defining virtual
machines that execute algorithms, the efficient translation from high-level languages to machine codes, and the various extension mechanisms that can be provided in programming languages.

(9) Software Methodology and Engineering

The major focus of this area is the specification, design, and production of large software
systems. Principles of programming and software development, verification and validation of software, and the specification and production of software systems that are safe, secure, reliable, and dependable are of special interest.

While these areas explain the subject matter of computing, it is the way in which they are studied, bringing together elements of mathematics, science, and engineering, that defines computer science. In particular, this study is through the processes of

1. theory (or the underlying mathematical principles that apply to computing);

2. abstraction (or experimental science applied to development of algorithms and software by forming hypotheses, collecting data, modeling, designing experiments, and analyzing the results); and

3. design (the engineering of computing systems, through requirements and specifications, design and implementation, testing and analysis).

Most, if not all of the good universities, do cover all of these topics as core requirement for their Computer Science program.

So I guess one should first recognise their interests and then accordingy choose the appropriate major. People interested in computer technology related field do not necessarily have to take a Computer Science degree. There are other majors such as Computer Engineering, Software Engineering, Information Science, Information Systems, Information Technology, etc, which could be pursued after determining one's interest. The design and deployment of computers and computer systems is generally considered the province of disciplines other than Computer Science.

For example, the study of computer hardware is usually considered part of Computer Engineering, while the study of commercial computer systems and their deployment is often called Information Technology or Information Systems.

b) What kind of jobs is one looking out for ? And would Computer Science be an appropriate degree to pursue for him/her in order to achieve the same ?
If someone wants to do, is only write sql queries or simple html forms creation for some web-application, etc, then probably pursuing a Computer Science degree would be opting to go for overkill.

I personally think it is very important to distinguish what Computer Science really means. The most widespread myth that Computer Science is nothing but programming needs to be broken with. Infact designing programming languages is one of the key areas that Computer Science addresses. Any Computer Scientist who has had a formal education in such a subject definitely has the advantage to recognize the pros and cons of the so many programming languages. It also helps them to identify the suitability of a specific programming language for a particular problem. And most importantly it also imparts them the knowledge and ability of designing a new programming language if and when a need arises for a specific domain.


7) The above explanation might then lead to another question and widely believed by many as well, that there aren't enough jobs that require the above mentioned skills of the Computer Science.
Well, I am not sure as I do not have a definite answer. I used to endorsed the above view myself few years back. But as of now, I do not know the exact scenario. I for a fact know that there are challenging jobs that do give an apportunity to put the above mentioned skills to practise. But the question still remains how many of those jobs are out there ? Earlier, sometimes the thought that I won't be able to put my knowledge to practise used to get me demotivated. But as of now, when I am on the verge of completion of Masters degree, I am somehow very optimistic. I am now of the view that it is just a matter of time for things to fall in place. Perseverance is the key. Some get it early, some have to wait. The idea is to never give up. And when you enjoy your field, for once doing is as easy as saying.


Everything said, I would like to mention few advantages of formal education:

i) University is an experience.

ii) Also, the professors that teach you a certain course are experts in that field. Learning from someone talking to you in person, is very different from reading through a book.

iii) Something I find very unique in formal education atleast for the Masters degree is the theme with which any course is taught. Most of the professors have an aim to inspire atleast one student to take up research in that field. So the kind of topics, assignments, structure of the course , everything has a little research flavor attached to it.

One of the most important and often unacknowledged gain of the university education, according to me is "NETWORKING". We develop so many important contacts over the years spent in college, with roommates, with classmates, with students in some common sports team, with professors, with advisors, etc. The list gets pretty long and we often do not realise how much we gain from it.

I realised this because of an incident that took place when I was doing my co-op. I was having lunch with my boss's boss (superboss) and few colleagues. My superboss usually comes in the office once every 2 weeks. He has to constantly travel to different office locations and that translates to an air-flight to UK once every week. During the conversation one of my colleague just asked him about his future plans, and he said he wanted to go back to university but is unable to because of his schedule. I then suggested him, that he can always enroll himself in some online education or distance learning degrees/certificates. To that he said, that would not help him achieve his objective and his objective was "NETWORKING". I couldn't reply to him for few seconds. It was then I realised, that my new developed contacts were perhaps one of my important gains of my Masters education when compared to my friends who did not opt for it.



REFERENCES

[1] Tucker, Barnes, Aiken, Barker, Bruce, Cain, Conry, Engel, Epstein, Lidtke, Mulder, Rogers, Spafford, and Turner. Computing Curricula 1991: Report of the ACM/IEEE-CS Joint Curriculum Task Force, Association for Computing Machinery, Inc., December 1990.

[2] Denning, Comer, Gries, Mulder, Tucker, Turner, and Young. Computing as a Discipline. Communications of the ACM, 32(1):9-23, January 1989.


[3] Computer Science Accreditation Commission of the Computing Sciences Accreditation Board, "Criteria for Accrediting Programs In Computer Science In The United States," June 1992.


Read more...