19 April, 2011

Advice for Website Designers [ Beginner ]

At one time or another, we are all newbies. That’s right: you can deny it all you want, but not one of us got into this game with a full deck stacked in our favor. We entered as newbies, born fresh after the start screen loaded. However, unlike in a game, we are not immediately launched into a tutorial level to learn the ropes in this new world — what to avoid, how to progress, etc. And if we feel overwhelmed by our newbie status, we may not be able to find our way to the tutorials and guides that the community has put together to help us sort all of this out. So, feeling very alone in all this is easy.

Jumping in a new passion can be difficult and time-consuming at first. The support of the community can be extremely helpful in overcoming the learning curve and helping to find the right route for your career and your professional skills.

But this is the great thing about being part of the online development community — that you are never truly alone. Your experience may be unique in its details, but it’s not generally, which is great because the community is very open to sharing its experiences and offering guidance to help newbies navigate the twists and turns we are sure to face as we continue down the developer’s path. In most cases, all you have to do to get some helpful advice is to venture into the social media neighborhoods and ask the community at large. At times, the answers just pour in.

That is what we found when we went out recently to poll our followers and fans. We asked “What is the single best tip from your experience that you would give to newbie developers?” This article is the result of all of the amazing responses we have received. Before we go any further, we would like to thank those who took the time to answer our query and who offered so much great advice to all the newbies out there in the development arena. As usual, the advice also serves as a nice refresher to all those seasoned veterans who have been in the game for a while.

Never Stop Learning

This answer, which we received repeatedly, is by far one of the best pieces of advice for newbies in the development field: never stop learning. This truly is one to keep in mind as you tread through this new world, because working in a field as dynamic and fluid as development, you can quickly fall behind if you do not actively strive to stay ahead of the curve. Without somewhat of a dedicated effort on your part, your progress could stall, and your skills and work could stagnate.

Once again, the online community and so many others have your back in this respect. So many wonderful books, blogs and other accessible resources are teeming with knowledge, just waiting to be absorbed and passed on. So, read. Implement and practice what you have learned. As noted in the replies below, trial and error is a fantastic method of self-teaching. You might even go so far as to schedule some kind of weekly assignment for yourself, to always keep your skill set growing.
  • Start with examples and muddle around with them. Change every line of code to see what it does. Then learn why those things work.
  • Be a sponge. Don’t let pride get in the way of learning from others.
  • Never stop learning.
  • Read. Oh god, read so many books on the subject that force you to practice things over and over again.
  • Learn how to learn for yourself.
  • Never think you’ve learned it all.
  • Don’t pretend you know all. Blogs and forums are your best teacher.
  • Read the docs. Don’t reinvent the wheel. Test. Learn.
  • Don’t copy and paste. Learn.
  • Always have a project on the go. It makes sure you keep learning.
  • Learn by putting as much as possible into practice.
  • Always learn more. You should never be 100% content, and always strive to constantly improve your skills.
  • Never stop developing their skills.
Take Criticism Constructively

… No matter how it is given. This is another important piece of advice that is both vital to learn and extremely difficult for some to do — especially because the anonymity of the Internet seems to give so many license to forget one half of the constructive criticism coin; they instead berate and belittle through their comments and their assessments of the developer’s talent. But no matter how harshly they come at you, find a way to distill the essence of their statements to see if you can gain anything from them. If they have no merit, let them go.

One thing to always remember, as pointed out in the advice below: never take criticism of your work personally — especially given that in this field we are never supposed to stop learning. We should always welcome feedback from others in the community that helps us improve. It is simply a means of keeping our skills sharp. Inviting open criticism allows others to help open our eyes to new approaches and even problems we are entrenched in. Also, thinking of it as feedback and not as “criticism” might soften the blow for you. After all, who doesn’t love feedback.
  • Be open to feedback as everything changes.
  • Learn to love criticism.
  • Test in every browser/OS config you can. And don’t take criticism of your work personally.
Be Patient

Here is another major tip to hold onto: be patient. If you can master this one, then you will have saved yourself many sleepless nights and hair-pulling-induced headaches along your journey to greatness as a developer. Remember that these skills do not develop overnight, no matter how much we wish they would. This journey is just that, a journey — not a direct flight to the final destination. Getting to where you want to be will take time.

Take your time. Don’t rush through the learning process too quickly, or you will likely burn out and get frustrated. Take the slow route, making sure you completely grasp one area before moving on to the next. If you hurry, chances are something important will slip past you. And as you work with others in the community, be patient with those both behind and ahead of you on the learning curve.
  • Have patience… a lot of patience. And if you have to get IE6 to work, start a pot of tea or something to calm yourself. :P
  • Have patience: with yourself, others and especially the code. :)
  • Take all the time you need to learn the basics. They are fundamental.
  • Prepare for frustration.
  • No matter how stupid what your client just said was, think before you reply.
Comment Your Code

Another pearl we found in the plethora of replies is a wonderful coder’s mantra (or at least it should be): comment your code. Comments are a powerful aid to new developers for many reasons, the main one being that learning through repetition is a fantastic way to make information stick. If you constantly comment on why you used a particular bit of code or how another bit works, then each time you return to it, you will be further cementing it in your brain.

Also, comments can provide just as much benefit to others who will be interacting with your code. Remember, it is not always about you. Comments are a way for others to learn from your work, just as you have learned from the code of those who came before you (if in fact they did think to leave comments). If you work with other developers on a project, this is an easy way to keep each other informed on why someone coded their part the way they did. It demonstrates professionalism, too, so keep up the comments.
  • Thoroughly comment your code! It will help infinitely in the long run.
  • Always use detailed comments. At some point, someone else will look at your code. Do them a favor and comment like mad.
  • When commenting: describe why not just how.
Be A Helpful Member Of The Community

This next bit of advice ranks quite high for many developers, not just because of its obvious benefits but because of the reward one feels from doing it: be a helpful member of the development community. It could prove to be an invaluable asset in your arsenal, not only because the lines of communication that you open will create great learning opportunities, but because you are building lasting relationships that you can call upon later when you find yourself in need of assistance.

Those of us who have gradually moved through the ranks have especially relied on these resourceful posts and helpful guidance to make the most of our skills and code. We should really stay active in the community and give back when and where we can. Paying it forward for all of those who have paved the way for us is not only an obligation; we really should want to help this community of ours thrive and grow. Reaching out through social media outlets, blogs, forums and more can really improve one’s skill set and viability.
  • Get involved in the design and Web community as quickly as possible.
  • Peer code reviews!
  • Set aside time to help other developers. It could be in online forums. It really helps you reflect on what you know and don’t know.
Learn The Business

Learn all aspects of the business side of the industry, especially if you are freelancing. We got a few responses about this. And it makes sense. If you want any kind of sustainability in your career, then having a solid grasp of the business side of things is important.

Knowing how the business operates and what clients generally expect will prepare you well for a freelance career… and will also keep you from being taken advantage of. If you learn the general pay scale and expectations of players in the field (including those of clients and other developers), then you’ll be well prepared to set your own rates and expectations. It also teaches you how to handle paperwork, which can be cumbersome and potentially overwhelming if you are unfamiliar with this side of the business.
  • You can only make so much money coding. Learn the business.
  • Quadruple your hourly estimate.
  • Make a careful and detailed estimate. Now triple it. You’re probably close to the truth.
  • Your estimates will suck for a long time, so be as conservative as you can, and offer discounts on overage.
  • Choose your clients wisely. Bad clients end up costing you time and money.
If You Don’t Love It, Leave It

Some other words of wisdom that were passed along can be summed up like this: if you don’t love it, then this is not the right work for you. Developing is more than a job; it is a career — beyond that, even a way of life. Coding changes the way you see and interact with the world around you. It challenges you every day with something new to conquer or sort out. The hours seem to keep piling up, and your brain becomes harder and harder to switch off, continuing to solve problems long after you have bidden it to rest.

This holds especially true for freelancer developers. As a freelancer, you are so much more than the person behind the code: you are the person behind it all. This is where your love of code comes into play ten-fold. Passion goes a long way in development. True passion for what you do comes only from loving it. You can’t fake it, either. A lack of passion not only will reflect in your work but will impede your progress.
  • If it is just a job for you and you do not look forward to breaking nights, find another job.
  • Love what you do, and remember those who taught you.
Make Time For Yourself

Another bit of advice to keep you sane as you grow is to make time for yourself. The best way to do this is to keep some sort of side project going. There are many reasons to do this, your sanity being the main one. Staring at code for hours on end takes its toll, especially if your code is failing and a solution escapes you. One way to fight off this madness is to have something to work on that lets you unplug.

A side project gives you an outlet to recharge and sustain your interest in the field you have devoted yourself to. Make no mistake: this is a time-consuming career path, and without a side project to keep you engaged, you will quickly burn out. The work that once enthralled you will lose its appeal, and the passion that got you to where you are will fade. A side project also ensures that you constantly learn. You can choose projects that challenge you in ways that you don’t find in work for clients.
  • Keep sane with a side project of your own.
  • Work on a real project every day, even just a personal one.
Believe In And Be Yourself

Another powerful bit of advice offered by the collective that we polled was to always believe in and be yourself. Given people’s tendency to aim for the throat when “critiquing,” these words of wisdom are especially potent. Allowing negative words and disparaging character assessments to lower your opinion of yourself and your abilities will deflate your momentum.

Always be true to your personal voice. Don’t compromise it while finding your way. You want to carve out a truly individual path, and that includes your voice, too. So, don’t try to imitate others who have found success. As noted below, never try to be someone else, because that never works the way you hope. Being inspired by others is fine, but don’t lose your identity and voice in the process.
  • Believe in your qualities. Never try to be somebody else. Life is too short for that.
  • Don’t quit! Hang on! Everything will work out fine.
A Few More Words Of Wisdom

Below are other responses that we couldn’t just leave hanging in the Twitterverse:
  • Try everything yourself before asking someone else (trial and error to the max).
  • Find your niche and focus on it until you are an expert.
  • You could probably code it well, but there is a fair chance that there is a time-saving jQuery solution.
  • Think of the visitor who is trying to find out something. They need to understand what’s going on, not just be impressed.
  • Some bridges just have to be burned.
  • Web developer? Practice sleeping less.
  • Don’t scoff at new ways of doing things because you don’t initially get them, nor should you embrace them without honest evaluation.
  • Stay informed about the direction of the Web. There’s a lot to learn, and along the way you’ll pick up skills.
  • Google before you ask.
  • RTFM!
  • Use source control. After that, comment your code.
  • Never write anything but standards-compliant code: faster, more reliable, and you won’t have to fix it when new browsers come out.
  • Regression test.
  • Do not fall in love with the code you write.
  • Put functionality first. Beauty comes in second place.
  • Don’t be cocky.
  • Focus on one subject at a time. Start with CSS.
  • “Stay hungry, stay foolish.”
  • Learn to write and format your own code cleanly and in as few characters as possible.
  • Run away from clients with red flags.
  • Take the most pride in your team’s code, not your own. Don’t complain when people edit your code. Enjoy how it improves.
  • All the stuff you say about all the old code you read, someone will say about your code in 10 years. So, knock it off. :)
  • Stay organized. It’s the key to success.
  • It’s never a hardware problem.
  • Logical, step-by-step thinking will solve any problem you encounter. No doubt about it.
  • Find a good IDE .
  • Appreciate the design in front of you, and design in general.
  • You don’t fully understand something until you can explain it succinctly to someone else. So, learn → do → teach.

25 March, 2010

Indian Premier League Auction 2010

List of players sold in the Indian Premier League Auction


IPL Auction 2008


Round 1: Dhoni fetches the highest price
  Player   Country  Bought by Franchise  Price Base Price 
 MS Dhoni  India  Chennai  $1.5 m  $4,00,000
 Adam Gilchrist  Australia  Deccan Chargers  $7,00,000  $3,00,000
 M Muralitharan  Sri Lanka  Chennai  $6,00,000  $2,50,000
 M Jayawardene  Sri Lanka  Kings XI Punjab $4,75,000  $2,50,000
 Shane Warne  Australia  Rajasthan Royals  $4,50,000  $4,50,000
 Shoaib Akhtar  Pakistan  Kolkata Knight Riders  $4,25,000  $2,50,000

Round 2: Mukesh Ambani-owned Mumbai Indians buys Jayasuriya, Bhajji
  Player  Country  Bought by Franchise  Price Base Price 
 Anil Kumble  India  R C Bangalore  $5,00,000  $2,50,000
 Harbhajan Singh  India  Mumbai Indians  $8,50,000  $2,50,000
 Sanath Jayasuriya  Sri Lanka  Mumbai Indians  9,75,000  $2,50,000
 Kumar Sangakkara  Sri Lanka  Kings XI Punjab $7,00,000  $2,50,000
 Glenn McGrath  Australia  ----  No bid  $3,50,000
 Mohammad Yousuf  Pakistan  ----  No bid  $3,30,000

Round 3: Symonds is second million-dollar player
 Player  Country  Bought by Franchise  Price Base Price 
 Ricky Ponting  Australia  Kolkata Knight Riders  $4,00,000  $3,35,000
 Brett Lee  Australia  Kings XI Punjab 9,00,000  $3,00,000
 Andrew Symonds  Australia  Deccan Chargers  $1.35m  $2,50,000
 Michael Hussey  Australia  ----  No bid  $2,50,000
 Daniel Vettori  New Zealand  Delhi Daredevils  $6,25,000  $2,50,000
 Matthew Hayden  Australia  Chennai  $3,75,000  $2,25,000
 Brendon McCullum  New Zealand  Kolkata Knight Riders  7,00,000  $1,75,000
 Jacob Oram  New Zealand  Chennai  $6,75,000  $2,00,000
Round 4: Mallya buys Kallis for US $9,00,000
 Player  Country  Bought by Franchise  Price Base Price 
 Stephen Fleming  New Zealand  Chennai  $3,50,000  $3,50,000
 Graeme Smith  South Africa  Rajasthan Royals  $2,50,000  $2,50,000
 Herschelle Gibbs  South Africa  Deccan Chargers  5,75,000  $2,50,000
 Chris Gayle  West Indies  Kolkata Knight Riders  $8,00,000  $2,50,000
 Shoaib Malik  Pakistan  Delhi Daredevils  5,00,000  $3,00,000
 Shahid Afridi  Pakistan  Deccan Chargers  $6,75,000  $2,25,000
 Younis Khan  Pakistan  Rajasthan Royals  $2,25,000  $2,25,000
 Mohammad Asif  Pakistan  Delhi Daredevils  $6,50,000  $2,25,000
 Jacques Kallis  South Africa  R C Bangalore  $9,00,000  $2,25,000
 Zaheer Khan  India  Mumbai Indians $4,50,000  $2,00,000
 S Sreesanth  India  Kings XI Punjab $6,25,000  $2,00,000
Round 5: Dinesh Karthik goes to Delhi Daredevils
 Player  Country  Bought by Franchise  Price Base Price 
 Dinesh Karthik  India  Delhi Daredevils  $5,25,000  2,00,000
 AB de Villiers  South Africa  Delhi Daredevils  $3,00,000  2,00,000
 Mark Boucher  South Africa  R C Bangalore  $4,50,000  $2,00,000
 Parthiv Patel  India  Chennai  $3,25,000  $1,50,000
 Kamran Akmal  Pakistan  Rajasthan Royals  $1,50,000  $1,50,000
 Tatenda Taibu  Zimbabwe  ----  No bid  $1,25,000
Round 6: Kings XI Punjabpays US $9,25,000 for Irfan Pathan
 Player  Country  Bought by Franchise  Price Base Price 
 Albie Morkel  South Africa  Chennai  $6,75,000  $2,25,000
 Ajit Agarkar  India  Kolkata Knight Riders  $3,50,000  $2,00,000
 Shaun Pollock  South Africa  Mumbai Indians  $5,50,000  $2,00,000
 Irfan Pathan  India  Kings XI Punjab $9,25,000  $2,00,000
 Scott Styris  New Zealand  Deccan Chargers  $1,75,000  $1,75,000
 Fervez Maharoof  Sri Lanka  Delhi Daredevils  $2,25,000  $1,50,000
 Tillakaratne Dilshan  Sri Lanka  Delhi Daredevils  $2,50,000  $1,50,000
 Cameron White  Australia  R C Bangalore  $5,00,000  $1,00,000
 Yusuf Pathan  India  Rajasthan Royals  $4,75,000  $1,00,000
 Joginder Sharma  India  Chennai  $2,25,000  $1,00,000
 Ramnaresh Sarwan  West Indies  --  unsold  $2,25,000
 Simon Katich  Australia  --  unsold  $2,00,000
 Justin Langer  Australia  --  unsold  $2,00,000
 Gautam Gambhir  India  Delhi Daredevils  $7,25,000  $2,20,000
 Robin Uthappa  India  Mumbai Indians  $8,00,000  $2,00,000
 S Chanderpaul  West Indies  --  unsold  $2,00,000
 Ashwell Prince  West Indies  --  unsold  $1,75,000
 VVS Laxman  India  Deccan Chargers  $3,75,000  $1,50,000
 Wasim Jaffer  India  R C Bangalore  $1,50,000  $1,50,000
 Rohit Sharma  India  Deccan Chargers  $7,50,000  $1,50,000
 Loots Bosman  South Africa  --  unsold  $1,50,000
 Mohammad Kaif  India  Rajasthan Royals  $6,75,000  $1,25,000
 Suresh Raina  India  Chennai  $6,50,000  $1,25,000
 Manoj Tiwary  India  Delhi Daredevils  $6,75,000  $1,00,000
 Chamara Silva  Sri Lanka  Deccan Chargers  $1,00,000  $1,00,000
 David Hussey  Australia  Kolkata Knight Riders  $6,25,000  $1,00,000

Round 7: Uthappa, Rohit Sharma hit jackpot
 Player  Country  Bought by Franchise  Price Base Price 
 Ramnaresh Sarwan  West Indies  --  unsold  $2,25,000
 Simon Katich  Australia  --  unsold  $2,00,000
 Justin Langer  Australia  --  unsold  $2,00,000
 Gautam Gambhir  India  Delhi Daredevils  $7,25,000  $2,20,000
 Robin Uthappa  India  Mumbai Indians  $8,00,000  $2,00,000
 S Chanderpaul  West Indies  --  unsold  $2,00,000
 Ashwell Prince  West Indies  --  unsold  $1,75,000
 VVS Laxman  India  Deccan Chargers  $3,75,000  $1,50,000
 Wasim Jaffer  India  R C Bangalore  $1,50,000  $1,50,000
 Rohit Sharma  India  Deccan Chargers  $7,50,000  $1,50,000
 Loots Bosman  South Africa  --  unsold  $1,50,000
 Mohammad Kaif  India  Rajasthan Royals  $6,75,000  $1,25,000
 Suresh Raina  India  Chennai  $6,50,000  $1,25,000
 Manoj Tiwary  India  Delhi Daredevils  $6,75,000  $1,00,000
 Chamara Silva  Sri Lanka  Deccan Chargers  $1,00,000  $1,00,000
 David Hussey  Australia  Kolkata Knight Riders  $6,25,000  $1,00,000

Round 8: SRK buys Ishant for US $950,000
 Player  Country  Bought by Franchise  Price Base Price 
 Nathan Bracken  Australia  R C Bangalore  $3,25,000  $2,25,000
 RP Singh  India  Deccan Chargers  $8,75,000  $2,00,000
 Murali Kartik  India  Kolkata Knight Riders  $4,25,000  $2,00,000
 Makhaya Ntini  South Africa  Chennai  $2,00,000  $2,00,000
 Lasith Malinga  Sri Lanka  Mumbai Indians  $3,50,000  $2,00,000
 Chaminda Vaas  Sri Lanka  Deccan Chargers  $2,00,000  $2,00,000
 Ramesh Powar  India  Kings XI Punjab $1,70,000  $1,50,000
 Umar Gul  Pakistan  Kolkata Knight Riders  $1,50,000  $1,50,000
 Dale Steyn  South Africa  R C Bangalore  $3,25,000  $1,50,000
 Dilhara Fernando  Sri Lanka  Mumbai Indians  $1,50,000  $1,50,000
 Ishant Sharma  India  Kolkata Knight Riders  $9,50,000  $1,50,000
 Piyush Chawla  India  Kings XI Punjab $4,00,000  $1,25,000
 Munaf Patel  India  Rajasthan Royals  $2,75,000  $1,00,000
 Nuwan Zoysa  Sri Lanka Deccan Chargers  $1,10,000  $1,00,000
Reserve players
 Player  Country Bought by Franchise  Price Base Price 
 Glenn McGrath  Australia  Delhi Daredevils  $3,50,000  $3,50,000
 Michael Hussey  Australia  Chennai  $2,50,000  $2,50,000
 Tatenda Taibu  Zimbabwe  Kolkata Knight Riders  $1,25,000  $1,25,000
 Ramnaresh Sarwan  West Indies  Kings XI Punjab $2,25,000  $2,25,000
 Simon Katich  Australia  Kings XI Punjab $2,00,000  $2,00,000
 Justin Langer  Australia  Rajasthan Royals  $2,00,000  $2,00,000
 S Chanderpaul  West Indies  R C Bangalore  $2,00,000  $2,00,000
 Loots Bosman  South Africa  Mumbai Indians  $1,50,000  $1,50,000
 Mohd Yousuf  --  --  --  Withdrew
 Ashwell Prince  --  --  --  Withdrew
IPL Auction 2009
 Player Country Bought By Franchise Price  Base Price
 Kevin Pietersen England  R C Bangalore $1,550,000  $1,35,000
 Andrew Filntoff England  Chennai Super Kings $1,550,000  $950,000
 Ravi Bopara England  Kings XI Punjab $450,000  $150,000
 Owais Shah England  Delhi Daredevils $275,000  $150,000
 Paul Collingwood England  Delhi Daredevils $275,000  $250,000
 JP Duminy South Africa  Mumbai Indians $950,000  $300,000
 Tyron Henderson South Africa  Rajasthan Royals $650,000  $100,000
 Shaun Tait Australia  Rajasthan Royals $375,000  $250,000
 George Bailey Australia  Chennai Super Kings $50,000  $50,000
 Jessey Ryder New Zealand  R C Bangalore $160,000  $100,000
 Kyle Mills New Zealand  Mumbai Indians $150,000  $150,000
 Mohammad Ashraful Bangladesh  Mumbai Indians $75,000  $75,000
 M Bin Mortaza Bangladesh  Kolkata Knight Riders $60,000  $50,000
 Fidel Edwards West Indies  Decan Chargers $150,000  $150,000
 Dwayne Smith West Indies  Decan Chargers $100,000  $100,000
 Jerome Taylor West Indies  Kings XI Punjab $150,000  $150,000
 Thilan Tushara Sri Lanka  Chennai Super Kings $140,000  $100,000
The unsold Players are :
Brad Haddin, Kapugedera, Stuart Clark, Phil Jaques, Ashwell Prince, Luke Wright, Kulasekara, Andrew Neil, Shakib Al Hasan, Morne van Wyk, Steven Smith, Ashley Noffke, Mohammad Ashraful, Gulam Bodi, Jerome Taylor, Daren Powell, Tamim Iqbal, Shakib, Ashraful, Tamim, Jon Moss, Bryce McGain, Aiden Blizzard, James Franklin, Sarwan, Michael Klinger, Weeraratne, P. Jayawardene, Dominic Thornely, Samit Patel, Yusuf Abdullah, Daniel Harris, Kemar Roach, Aaron Bird, Michael Dighton, Michael Hill, Brett Geeves.
IPL Auction 2010
 Player Country Bought By Franchise Price  Base Price
 Kieron Pollard West Indies Mumbai Indians $750,000  $200,000
 Wayne Parnell South Africa Delhi Daredevils $610,000  $200,000
 Shane Bond New Zealand Kolkata Knight Riders $750,000  $100,000
 Kemar Roach West Indies Deccan Chargers $720,000  $100,000
 Eoin Morgan England Royal Challengers Bangalore $220,000  $200,000
 Mohammad Kaif India Kings XI Punjab $250,000  $100,000
 Damien Martyn Australia Rajasthan Royals $100,000  $100,000
 Thissara Perera Sri Lanka Chennai Super Kings $50,000  $50,000
 Justin Kemp South Africa Chennai Super Kings $100,000  $100,000
 Adam Voges Australia Rajasthan Royals $50,000  $50,000
 Yusuf Abdulla South Africa Kings XI Punjab $20,000  $20,000
The unsold Players are :

Daren Ganga, Shakib-ul-Hasan, Doug Bollinger, Sohail Tanvir, Kamran Akmal, Justin Kemp, Ramnaresh Sarwan, Chamara Silva, Tim Bresnan, Imran Nazir, Phillip Huges, Wavell Hinds, Lendl Simmons, Umar Akmal, Upul Thranga, and Jonathan Trott.

Labels: