whihathac's Den

code is poetry

Upgrading BlogEngine.NET from version 2.0 to 3.0

I've been using BlogEngine.NET as by blog provider since 2007! I've really have been its early adopter since version v1.2 and I used to upgrade it manually each time a new version came out until version v2.0. After version v2.5 had the requirement of .NET 4.0, which my hosting provider didn't provide I was literally stuck. Recently I moved my domain to Azure Websites which has allowed me to upgrade it to the latest version v3.0.

I've upgraded it from version v2.0 to v3.0. I followed the steps mentioned here -  but then I realized that this upgrade is just an upgrade from v2.9 to v3.0. I realized this when I logged into my Admin section and I couldn't load up any settings. I posted for help in the forums, but no avail.

Finally I thought of verifying all the steps for all upgrades from v2.0 ie. v2.0 -> v2.5 -> v2.6 -> v2.7 -> v2.8 -> v2.9 and finally v3.0. Fortunately BlogEngine.NET has archived its incremental upgrades here.

So presenting the steps for upgrading BlogEngine.NET from version v2.0 -> v3.0.

Disclaimer: I use xml files for storage not DB, so that path is essentially untested. But I have consolidated my learnings from all the upgrade steps listed. Please do let me know if you face any issues.

Upgrading to BlogEngine.NET v2.0 to v3.0

File & Folder Changes

There are new files and folders in BlogEngine.NET v2.5 onwards, and some files/folders that existed in previous versions of BlogEngine.NET may no longer exist in BlogEngine.NET v2.5 onwards.  We've upgraded to ASP.NET 4.5 and there are several important updates that have been made to the web.config file. BlogEngine.NET starting from v2.5 is also making use of the new Razor technology for page markup.

Recommended Path to Upgrade

The cleanest way to upgrade to v3.0 is to start from a v3.0 installation, and then copy your existing data and settings into v3.0. The upgrade steps follow.

A couple of the steps are related specifically to those who use a database for storage, and a couple are related specifically to those who use the default XML storage (non-database). You can skip the steps that don't pertain to your method of storage.

The cleanest way to upgrade to latest version is to start from fresh installation, and then copy your existing data and settings into new version. The upgrade steps follow.

1. Backup

Make a full backup of your existing BlogEngine installation. This is very important. If anything goes wrong, you can always restore from your backup.

2. Install latest version

Install latest version on your computer, in a new folder (Installation).

3.  Web.config file (for non-database installations)

As noted above, because of the large number of changes to the web.config files, it is strongly recommended you use the web.config file that is included with v3.0.  If you have any custom settings in your existing web.config files (e.g. appSettings), it will probably be easiest to copy your custom settings into the BlogEngine.NET v3.0 web.config file.  If you have any custom settings, those can be copied into the v3.0 web.config file now.  Otherwise, you can just use the v3.0 web.config file as-is.

4.  Web.config file (for database installations) (NOT TESTED)

If you will be using a Database for data storage, Web.config files you can use are located in the /setup/ folder.  Because of the large number of changes to the web.config files, it is strongly recommended you start from these sample web.config files, and copy your specific connection string into the sample web.config file.  For example, for SQL Server, in the /setup/SQLServer folder is a file named SQLServerWeb.Config.  For MySQL, the file is /setup/MySQL/MySQLWeb.Config, etc. Copy this file to the blog root, delete the existing Web.config file in the blog root, and then rename this sample config file to Web.config (i.e. rename SQLServerWeb.Config to Web.Config).

At this point, the Web.config file you copied to the blog root and renamed contains a sample DB connection string.  The sample DB connection string will look similar to:

connectionString="Data Source=MySQLServer;User ID=user;Password=password;persist security info=False;initial catalog=BlogEngine;"

Replace this sample connection string with the connection string in your existing Web.config file.

If you have any other specific customizations to your existing Web.config file (e.g. appSettings), add those into this Web.config file.

5.  Database Upgrade Script (for database installations)

If you are using a Database to store your data in, you will need to run multiple DB upgrade scripts which will help you upgrade from v2.0 to v3.0.  Each of the /setup folders has an upgrade script. For SQL Server, it is MSSQLUpgradeFrom2.8to3.0.sql.  For MySQL, it is MySQLUpgradeFrom2.6To3.0.sql, etc. If you are upgrading from a version prior to 2.0, you will need to first run the upgrade script(s) to get your DB up to v2.0 and then subsequently v3.0. For example, if you are upgrading from v1.6, you will need to first run the 1.6to2.0 script, and after that, run the 2.0to2.5 script and then 2.5to2.6 script and finally 2.6to3.0 script! Run this script in your existing DB.

6.  App_Data folder (for BOTH database and non-database installations)

In your v3.0 installation is the App_Data folder.  Delete all of the files and folders in the App_Data folder EXCEPT for the following 3 new items introduced in BlogEngine.NET 2.5 onwards.

  1. The blogs.xml file directly under App_Data.
  2. The blogs directory directly under App_Data.
  3. The labels.txt file directly under App_Data.
  4. The packages.xml file directly under App_Data.
  5. The packagefiles.xml file directly under App_Data.
  6. The blogs directory under App_Data

Do not delete these 6 items.  Everything else can be safely deleted from the App_Data directory. 

If you are not upgrading from version 2.0, I will recommend you to check specific upgrade story by deducing it from incremental upgrades here.  

Once everything else has been deleted, the only 5 items remaining in the App_Data directory are those 3 items listed above.  Next, copy all of your App_Data contents (files/folders) from your existing blog to the App_Data folder.

Note:  This step should still be performed even if you are using a database since even with a database, the App_Data folder is still used for storing certain items such as files, images and some other small miscellaneous files.

7. Scripts folder

  1. Move scripts from /Scritps/Header to /Scripts/Auto
  2. Move scripts from /Scripts to /Scripts/Auto

Starting with v2.7, JavaScripts added to /Scripts folder were automatically added to the end of the page at runtime. Scripts added to the /Scripts/Header were added on top of the page before any HTML load. All these auto-loaded scripts have to be moved to /Scripts/Auto to keep working this way. Main reason for this move due to /Scripts folder been a default install directory for NuGet packages and we want to avoid conflicts and keep common conventions with VS and ASP.NET. Make sure you don't have duplicates in the /Scripts/Auto, all scripts from this folder will be auto-loaded in the alphabetical order. If script depends on the other script, you can rename it to sort properly.

8. Styles folder

  1. Move css styles from /Styles to /Content/Auto
  2. If you have any folders under /Styles, move them to /Content
  3. Delete /Styles folder

Similar to situation with JavaScripts, CSS styles moved to location used by VS/ASP.NEN/NuGet

9. Migrate bin folder

Copy files from blog "bin" folder to new installation if they don't exist there. Do NOT override any files, only copy not existing DLLs.

10. Migrate blog theme

Copy your theme from current blog to new installation.

Because in version 3.0 "themes" moved to Custom/Themes, open site.master template in any text editor and change all references from "themes/" to "Custom/Themes/", then save changes.

At this point, should be able navigate to blog and brows pages. FireBug or Dev Tools should not display any JavaScript errors during navigation.

11. Migrate widgets

Copy folders and files from "/widgets" to "Custom/Widgets" if they don't exist there. Only not existing files/folders should be copied, no overrides.

Because in version 3.0 "widgets" moved to "Custom/Widgets", in any custom widget just copied replace all references from "widgets/" to "Custom/Widgets" (by opening and modifying .ascx files).

12. Migrate extensions

Because in version 3.0 BlogEngine moved from website to web application project, all extensions must be compiled before deployment to web server (walkthrough on compiling website extensions).

13. Scripts and Content and Robots.txt

Some custom plugins might have scripts, styles and images typically in "/Scripts" and "/Content" folders. Any files that do not exist in new installation should be copied from old blog "/Scripts" and "/Custom" folders. Similarly, if you have customized the robots.txt file, copy it into the v3.0 folder you have been working on.

12.  Deploy to Web Server

Please make sure you have a backup of everything you will delete (see step 1).

Because you will have files on your web server that no longer exist (or have been moved) in v3.0, it is best to delete all of the BlogEngine.NET files and folders on your web server, and then upload the new v3.0 files and folders you prepared in the previous steps.

Multiple Blogs in Single Installation

Starting with BlogEngine.NET v2.5, it introduces a new "multiple blogs" feature that allows you to create multiple blog instances within a single BlogEngine.NET installation.  If you will be running a single blog instance (which most people will be), there is nothing you need to do.  Even if you will run multiple blog instances, there is still probably nothing you need to do.  However, if you are using an existing custom theme, or using any custom extensions or widgets, those may need updates to be fully multiple-blog compatible.  Detailed information on this can be found at the link below.

Introducing Multiple Blogs in Single Instance for BlogEngine.NET

Notes for version 3.0

- Version 3.0 added few new rights, go to admin -> users -> roles, select "administrator" and make sure all rights are checked for this role.

- Switch to new gallery under custom -> gallery, in gallery settings add new feed pointing to "http://dnbe.net/v01/nuget" and set it as default.

FAQs & Troubleshooting

  1. Requires .NET framework 4.5

    Requries full trust in IIS

    Requires Razor (web pages) for .cshtml files

  2. You receive the following error message:

    The configuration section 'system.web.extensions' cannot be read because it is missing a section declaration

    The likely cause for this is because your website is running ASP.NET 2.0 or 3.5.  BlogEngine.NET 3.0 requires your website run in an ASP.NET v4.5 application pool -- ideally in the Integrated mode pipeline, but Classic should work too.

  3. I followed steps above, but I'm getting JavaScript/CSS errors after upgrade

    You might have custom code or extensions/widgets that use script or style references pointing to old locations. You'll have to manually change those references to use /Content instead of /Styles for example. You can use FireBug or alike to identify scripts/styles that not loaded properly.

  4. My Syntax Highlighter stopped working
    Syntax Highlighter now is a part of TinyMCE. To add it to your current theme, you'll need to update 2 files (check standard theme to see full example):

    // site.master
    <head runat="server">
     <link href='<%# Page.ResolveUrl("~/editors/tiny_mce_3_5_8/plugins/syntaxhighlighter/styles/shCore.css") %>' rel="stylesheet" />
     <link href='<%# Page.ResolveUrl("~/editors/tiny_mce_3_5_8/plugins/syntaxhighlighter/styles/shThemeDefault.css") %>' rel="stylesheet" />
     <script type="text/javascript" src="<%# ShRoot %>scripts/XRegExp.js"></script>
     <script type="text/javascript" src="<%# ShRoot %>scripts/shCore.js"></script>
     <script type="text/javascript" src="<%# ShRoot %>scripts/shAutoloader.js"></script>
     <script type="text/javascript" src="<%# ShRoot %>shActivator.js"></script>
    </head>
    

// site.master.cs protected static string ShRoot = Utils.ApplicationRelativeWebRoot + "editors/tiny_mce_3_5_8/plugins/syntaxhighlighter/"; protected void Page_Load(object sender, EventArgs e) { // needed to make <%# %> binding work in the page header Page.Header.DataBind(); }


Fresh start

March 2014.

After working for five and half years in Microsoft IT India in OEM IT division, finally I dared to break my comfort zone and joined Skype team here in Redmond, US - Microsoft's headquarters :). Easily the most difficult decision I have made for my career.

Ready for the exciting times and ready to face new challenges :D


September 2014.

Fast forward 6 months. Its been great ride. I feel like a fresher again! And suddenly I have all new energy and enthusiasm to learn new things :D. Skype/Lync requires hard core knowledge in Networking and SIP domain, and I have got some hands on experiences on small projects. Hoping to work on a big bet soon.


Will keep in touch via my blog...

New posts coming soon

After a deep slumber of over a year, I am planning to write new posts over multiple technologies - WIF, ADFS, C#, Windows Phone 8 based on my earlier experiences. So in case you want me to cover some topics, please let me know via email/comments.

Cheers,
Bhavik

11 things I have learnt in first 3 years of work at Microsoft

I am very lucky to have started my career in one of the best companies in the world – Microsoft. And as expected I have learnt a lot from it in past three years of working here. Microsoft has a very unique and distinct work culture, with a lot of great folks to learn from and look upon.

I am going to list down and share few things that I have learnt at Microsoft. I am hopeful this would help those who have just joined the IT industry or are going to join it in near future.

1. I love Microsoft

Loyalty - I believe this is the first and foremost belief on which you must build the foundation of your career. And this is what the company expects the least out of you. After all, they are the one who are paying you. Surely, you can avoid evangelizing the products your company makes – but think for a second, if you being an employee don’t like/buy/use the product, do you think anyone else will?

Bonus Tip: You *should* not use company resources for your personal use. Also, being a appropriator won’t serve you in the long run.

2. Stand and Deliver

If you deliver what you committed, you are achieved and deserved your Salary. The terms “committed”, “achieved” are probably specific to Microsoft, but I think there is similar terms and rationale used everywhere else. And if you fail to keep your promise, its clear you are “underachieved”.

I feel this is the most important learning I have got at Microsoft. We are not used to think like this. Isn’t it?

3.  Find your “Sachin Tendulkar” at work

You need to find someone at work whom you idolize. Build relationships, make him/her as mentor and try to learn maximum from them. Role models will help you focus and channelize your energies in one direction – your goal. Read the next one which completes this point.

4. Trust the right people

Its really difficult to do this right the first time. You are an new entrant to a unknown group of people. You faced this situation earlier when you were a fresher in your first year of college. But you had lot of time to make mistake and improve on it. Trusting wrong people, and looking up to them as role model will influence you in a wrong way. My advice, be cautious and take the advices with a pinch of salt.

5. “I hate politicians”

Stay away from Office gossips and politics. They are breeding ground for killing your creativity and loyalty. We all are/will be subjected to politics at some point of time. And its better to ignore than react to them. Believe me, you’ll get into these sort of situations now and then. Its very crucial to be cognizant and not take sides and try to leave the discussions apologizing and without hurting anyone’s sentiments.

6. Differentiating crows from crows

It’s important to listen to the feedback – good or bad. But its as important to disregard the "Ad Hominem" feedback. This kind of feedback is just blatant negative without soul and thought. These is the kind of feedback that will make you think, "Am I like this?”, “Did I do that?”. Instead of ignoring it, it’s always great to have a candid talk with the person sharing you this feedback about if this is something that he/she noticed couple of times and seek for help and guidance.

Bonus Tip: Always share constructive feedback – one that they can use it to improve. The tone of the feedback determines if you want to help him/her or point out their faults.

7. Humpty Dumpty had a great fall!

I think its more important to fall than to succeed. You learn a lot while falling (oops), fallen (sigh), trying to stand (urge) and standing to the challenge again (I can do it!). Also don’t spend time and energy explaining or reasoning out why you failed. Instead use this as an experience to avoid such mistakes in future.

8. Bad Appraisal

It’s no use crying over spilt milk. Get over it, act on your next steps. Based on my discussion with number of colleagues – peers, manager and organization leaders, they never recollect about their ratings/rankings. Not saying that you shouldn’t care about it. But what’s gone for the past year, cannot be changed. This ranking made them more determined to prove a point. Hence don’t let the rankings/ratings which I refer as “Moh Maya” bring you down. Focus on the next point instead!

9. Goal!

Identify your life goals. Stay focused and channelize all the efforts towards this one or two things you want to achieve in your lifetime. Also I find that it’s good idea to experiment when you have nothing to lose at the start of your career. Always weigh and see what you are sacrificing to achieve it and then decide its real worth.

10. Date with my GF v/s Work

Don’t try to mix personal and professional life. Keep your Work-Life-Balance healthy and do give the time your loved ones deserve. You’ll get lot of opportunities at work to become successful, but one miss at personal life, you’ll never get it back.

11. Extras

If you have reached this point, you are not bored and find some value in my post. So I think you deserve to know more from my experience. Which is why I am sharing the following tips I think are noteworthy, specific to –>

Company:

  • Know Your Company – Don’t they do a background verification on you when they hire you? On a serious note, try to know what your company does to earn the moolah, promoters or shareholders, its CSR initiatives, stock price, impact to the world – the more you know your company, more you’ll be attached to it.
  • Help your company products to improve by sharing the feedback, finding bugs and doing usability tests.

Team:

  • Its as critical to blend into the team as to stand out. Remember, you are a team member first!
  • Try to make your team successful, you’ll eventually become successful.
  • Respect the various cultural background of the team members and give enough space for your team partner to feel comfortable.

Personal:

  • Be independent and have an identity of yourself. You’ll be in a lurch, if the person (could be your manager) you are dependent on to speak for you, leaves the company.
  • Help all the people you can. When you fall down, you’ll have lot of hands to pull you back.
  • Talk less, Do more. Take initiatives to change the things you don’t like or that can be improved.
  • Read lot of books – non-fictional, management. It will help shape your outlook and attitude. Also don’t shy from reading self-help books.
  • Don’t judge or build perception. Instead try to know and reason out the situation to which he/she was subjected to.
  • Lastly you should follow your dreams. Don’t lose them. I mean literally too –> don’t lose your sleep over work! Work comes as soon as you finish it!!!

 

Hope it helps! It was an immense pleasure to share it with you all. :)

Do share your own experiences and feedback!

Regards,
Bhavik

FANTASTIC HAPPINESS HANDBOOK 2010

Got this nice forward. Thought of sharing this to you all ---

Hope you will enjoy the  very useful hand book. All the  forty  points are worth remembering while we all welcome the  New Year 2010.
Thank you 2009 for having made all of us sail through without any great trouble. Wish you a great new year 2010.       
                 "TIMELY & VERY HANDY 2 FOLLOW"
            A VERY VERY HAPPY 2010 IN ADVANCE
FANTASTIC HAPPINESS HANDBOOK 2010

Health:

1. Drink plenty of water.

2. Eat breakfast like a king, lunch like a prince and dinner like a beggar.

3. Eat more foods that grow on trees and plants and eat less food that is manufactured in plants.

4. Live with the 3 E's -- Energy, Enthusiasm, and Empathy.

5. Make time to practice meditation, yoga, and prayer.

6. Play more games.

7. Read more books than you did in 2009.

8. Sit in silence for at least 10 minutes each day.

9. Sleep for 7 hours.

10. Take a 10-30 minutes walk every day. And while you walk, smile.

Personality:

11. Don't compare your life to others'. You have no idea what their journey is all about.

12. Don't have negative thoughts or things you cannot control. Instead invest your energy in the positive present moment.

13. Don't overdo. Keep your limits.

14. Don't take yourself so seriously. No one else does.

15. Don't waste your precious energy on gossip.

16. Dream more while you are awake.

17. Envy is a waste of time. You already have all you need.

18. Forget issues of the past. Don't remind your partner with his/her mistakes of the past. That will ruin your present happiness.

19. Life is too short to waste time hating anyone. Don't hate others.

20. Make peace with your past so it won't spoil the present.

21. No one is in charge of your happiness except you.

22. Realize that life is a school and you are here to learn. Problems are simply part of the curriculum that appear and fade away like algebra class but the lessons you learn will last a lifetime.

23. Smile and laugh more.

24. You don't have to win every argument. Agree to disagree.

Society:

25. Call your family often.

26. Each day give something good to others.

27. Forgive everyone for everything.

28. Spend time with people over the age of 70 & under the age of 6.

29. Try to make at least three people smile each day.

30. What other people think of you is none of your business.

31. Your job won't take care of you when you are sick. Your friends will. Stay in touch.

Life:

32. Do the right thing!

33. Get rid of anything that isn't useful, beautiful or joyful.

34. GOD heals everything.

35. However good or bad a situation is, it will change.

36. No matter how you feel, get up, dress up and show up.

37. The best is yet to come.

38. When you awake alive in the morning, thank GOD for it.

39. Your Inner most self is always happy. So, be happy.

Last but not the least:

40. Please Forward this to everyone you care about

Top 50 Things To Do To Stop Global Warming

(NOTE: This article is taken as it was from http://globalwarming-facts.info/50-tips.html)

Global Warming is a dramatically urgent and serious problem. We don't need to wait for governments to find a solution for this problem: each individual can bring an important help adopting a more responsible lifestyle: starting from little, everyday things. It's the only reasonable way to save our planet, before it is too late.

Here is a list of 50 simple things that everyone can do in order to fight against and reduce the Global Warming phenomenon: some of these ideas are at no cost, some other require a little effort or investment but can help you save a lot of money, in the middle-long term!

  1. Replace a regular incandescent light bulb with a compact fluorescent light bulb (cfl)
    CFLs use 60% less energy than a regular bulb. This simple switch will save about 300 pounds of carbon dioxide a year.

  2. Install a programmable thermostat
    Programmable thermostats will automatically lower the heat or air conditioning at night and raise them again in the morning. They can save you $100 a year on your energy bill.

  3. Move your thermostat down 2° in winter and up 2° in summer
    Almost half of the energy we use in our homes goes to heating and cooling. You could save about 2,000 pounds of carbon dioxide a year with this simple adjustment.

  4. Clean or replace filters on your furnace and air conditioner
    Cleaning a dirty air filter can save 350 pounds of carbon dioxide a year.

  5. Choose energy efficient appliances when making new purchases
    Look for the Energy Star label on new appliances to choose the most energy efficient products available.

  6. Do not leave appliances on standby
    Use the "on/off" function on the machine itself. A TV set that's switched on for 3 hours a day (the average time Europeans spend watching TV) and in standby mode during the remaining 21 hours uses about 40% of its energy in standby mode.

  7. Wrap your water heater in an insulation blanket
    You’ll save 1,000 pounds of carbon dioxide a year with this simple action. You can save another 550 pounds per year by setting the thermostat no higher than 50°C.

  8. Move your fridge and freezer
    Placing them next to the cooker or boiler consumes much more energy than if they were standing on their own. For example, if you put them in a hot cellar room where the room temperature is 30-35ºC, energy use is almost double and causes an extra 160kg of CO2 emissions for fridges per year and 320kg for freezers.

  9. Defrost old fridges and freezers regularly
    Even better is to replace them with newer models, which all have automatic defrost cycles and are generally up to two times more energy-efficient than their predecessors.

  10. Don't let heat escape from your house over a long period
    When airing your house, open the windows for only a few minutes. If you leave a small opening all day long, the energy needed to keep it warm inside during six cold months (10ºC or less outside temperature) would result in almost 1 ton of CO2 emissions.

  11. Replace your old single-glazed windows with double-glazing
    This requires a bit of upfront investment, but will halve the energy lost through windows and pay off in the long term. If you go for the best the market has to offer (wooden-framed double-glazed units with low-emission glass and filled with argon gas), you can even save more than 70% of the energy lost.

  12. Get a home energy audit
    Many utilities offer free home energy audits to find where your home is poorly insulated or energy inefficient. You can save up to 30% off your energy bill and 1,000 pounds of carbon dioxide a year. Energy Star can help you find an energy specialist.

  13. Cover your pots while cooking
    Doing so can save a lot of the energy needed for preparing the dish. Even better are pressure cookers and steamers: they can save around 70%!

  14. Use the washing machine or dishwasher only when they are full
    If you need to use it when it is half full, then use the half-load or economy setting. There is also no need to set the temperatures high. Nowadays detergents are so efficient that they get your clothes and dishes clean at low temperatures.

  15. Take a shower instead of a bath
    A shower takes up to four times less energy than a bath. To maximise the energy saving, avoid power showers and use low-flow showerheads, which are cheap and provide the same comfort.

  16. Use less hot water
    It takes a lot of energy to heat water. You can use less hot water by installing a low flow showerhead (350 pounds of carbon dioxide saved per year) and washing your clothes in cold or warm water (500 pounds saved per year) instead of hot.

  17. Use a clothesline instead of a dryer whenever possible
    You can save 700 pounds of carbon dioxide when you air dry your clothes for 6 months out of the year.

  18. Insulate and weatherize your home
    Properly insulating your walls and ceilings can save 25% of your home heating bill and 2,000 pounds of carbon dioxide a year. Caulking and weather-stripping can save another 1,700 pounds per year. Energy Efficient has more information on how to better insulate your home.

  19. Be sure you’re recycling at home
    You can save 2,400 pounds of carbon dioxide a year by recycling half of the waste your household generates.

  20. Recycle your organic waste
    Around 3% of the greenhouse gas emissions through the methane is released by decomposing bio-degradable waste. By recycling organic waste or composting it if you have a garden, you can help eliminate this problem! Just make sure that you compost it properly, so it decomposes with sufficient oxygen, otherwise your compost will cause methane emissions and smell foul.

  21. Buy intelligently
    One bottle of 1.5l requires less energy and produces less waste than three bottles of 0.5l. As well, buy recycled paper products: it takes less 70 to 90% less energy to make recycled paper and it prevents the loss of forests worldwide.

  22. Choose products that come with little packaging and buy refills when you can
    You will also cut down on waste production and energy use... another help against global warming.

  23. Reuse your shopping bag
    When shopping, it saves energy and waste to use a reusable bag instead of accepting a disposable one in each shop. Waste not only discharges CO2 and methane into the atmosphere, it can also pollute the air, groundwater and soil.

  24. Reduce waste
    Most products we buy cause greenhouse gas emissions in one or another way, e.g. during production and distribution. By taking your lunch in a reusable lunch box instead of a disposable one, you save the energy needed to produce new lunch boxes.

  25. Plant a tree
    A single tree will absorb one ton of carbon dioxide over its lifetime. Shade provided by trees can also reduce your air conditioning bill by 10 to 15%. The Arbor Day Foundation has information on planting and provides trees you can plant with membership.

  26. Switch to green power
    In many areas, you can switch to energy generated by clean, renewable sources such as wind and solar. In some of these, you can even get refunds by government if you choose to switch to a clean energy producer, and you can also earn money by selling the energy you produce and don't use for yourself.

  27. Buy locally grown and produced foods
    The average meal in the United States travels 1,200 miles from the farm to your plate. Buying locally will save fuel and keep money in your community.

  28. Buy fresh foods instead of frozen
    Frozen food uses 10 times more energy to produce.

  29. Seek out and support local farmers markets
    They reduce the amount of energy required to grow and transport the food to you by one fifth. Seek farmer’s markets in your area, and go for them.

  30. Buy organic foods as much as possible
    Organic soils capture and store carbon dioxide at much higher levels than soils from conventional farms. If we grew all of our corn and soybeans organically, we’d remove 580 billion pounds of carbon dioxide from the atmosphere!

  31. Eat less meat
    Methane is the second most significant greenhouse gas and cows are one of the greatest methane emitters. Their grassy diet and multiple stomachs cause them to produce methane, which they exhale with every breath.

  32. Reduce the number of miles you drive by walking, biking, carpooling or taking mass transit wherever possible
    Avoiding just 10 miles of driving every week would eliminate about 500 pounds of carbon dioxide emissions a year! Look for transit options in your area.

  33. Start a carpool with your coworkers or classmates
    Sharing a ride with someone just 2 days a week will reduce your carbon dioxide emissions by 1,590 pounds a year. eRideShare.com runs a free service connecting north american commuters and travelers.

  34. Don't leave an empty roof rack on your car
    This can increase fuel consumption and CO2 emissions by up to 10% due to wind resistance and the extra weight - removing it is a better idea.

  35. Keep your car tuned up
    Regular maintenance helps improve fuel efficiency and reduces emissions. When just 1% of car owners properly maintain their cars, nearly a billion pounds of carbon dioxide are kept out of the atmosphere.

  36. Drive carefully and do not waste fuel
    You can reduce CO2 emissions by readjusting your driving style. Choose proper gears, do not abuse the gas pedal, use the engine brake instead of the pedal brake when possible and turn off your engine when your vehicle is motionless for more than one minute. By readjusting your driving style you can save money on both fuel and car mantainance.

  37. Check your tires weekly to make sure they’re properly inflated
    Proper tire inflation can improve gas mileage by more than 3%. Since every gallon of gasoline saved keeps 20 pounds of carbon dioxide out of the atmosphere, every increase in fuel efficiency makes a difference!

  38. When it is time for a new car, choose a more fuel efficient vehicle
    You can save 3,000 pounds of carbon dioxide every year if your new car gets only 3 miles per gallon more than your current one. You can get up to 60 miles per gallon with a hybrid! You can find information on fuel efficiency on FuelEconomy and on GreenCars websites.

  39. Try car sharing
    Need a car but don’t want to buy one? Community car sharing organizations provide access to a car and your membership fee covers gas, maintenance and insurance. Many companies – such as Flexcar - offer low emission or hybrid cars too! Also, see ZipCar.

  40. Try telecommuting from home
    Telecommuting can help you drastically reduce the number of miles you drive every week. For more information, check out the Telework Coalition.

  41. Fly less
    Air travel produces large amounts of emissions so reducing how much you fly by even one or two trips a year can reduce your emissions significantly. You can also offset your air travel carbon emissions by investingin renewable energy projects.

  42. Encourage your school or business to reduce emissions
    You can extend your positive influence on global warming well beyond your home by actively encouraging other to take action.

  43. Join the virtual march
    The Stop Global Warming Virtual March is a non-political effort to bring people concerned about global warming together in one place. Add your voice to the hundreds of thousands of other people urging action on this issue.

  44. Encourage the switch to renewable energy
    Successfully combating global warming requires a national transition to renewable energy sources such as solar, wind and biomass. These technologies are ready to be deployed more widely but there are regulatory barriers impeding them. U.S. citizens, take action to break down those barriers with Vote Solar.

  45. Protect and conserve forest worldwide
    Forests play a critial role in global warming: they store carbon. When forests are burned or cut down, their stored carbon is release into the atmosphere - deforestation now accounts for about 20% of carbon dioxide emissions each year. Conservation International has more information on saving forests from global warming.

  46. Consider the impact of your investments
    If you invest your money, you should consider the impact that your investments and savings will have on global warming. Check out SocialInvest and Ceres to can learn more about how to ensure your money is being invested in companies, products and projects that address issues related to climate change.

  47. Make your city cool
    Cities and states around the country have taken action to stop global warming by passing innovative transportation and energy saving legislation. If you're in the U.S., join the cool cities list.

  48. Tell Congress to act
    The McCain Lieberman Climate Stewardship and Innovation Act would set a firm limit on carbon dioxide emissions and then use free market incentives to lower costs, promote efficiency and spur innovation. Tell your representative to support it.

  49. Make sure your voice is heard!
    Americans must have a stronger commitment from their government in order to stop global warming and implement solutions and such a commitment won’t come without a dramatic increase in citizen lobbying for new laws with teeth. Get the facts about U.S. politicians and candidates at Project Vote Smart and The League of Conservation Voters. Make sure your voice is heard by voting!

  50. Share this list!
    Send this page via e-mail to your friends! Spread this list worldwide and help people doing their part: the more people you will manage to enlighten, the greater YOUR help to save the planet will be (but please take action on first person too)!

    If you like, you are free to republish, adapt or translate the list and post it in your blog, website or forum as long as you give us credit with a link to the original source.
    Thank you.

If you wish, you can download this page as PDF: print it (on recycled paper sheets, of course), stick it to your office/room walls, or send it to your friends!

Website is up !

Hi,

My webesite had been facing a lot of problems off late. Firstly my host (Softsys Hosting) changed the servers, wherein there was no backup of my site. 1 week passed before my friend Ruchir Shastri - who has provided with this hosting helped me out. The site data was back, thanks to him. And to be more reliable, I switched to a premium server, which Ruchir suggested. This created another problem - my previous control panel included Plesk, and now its HELM. It took me a while to understand the new control panel.

Now hopefully all the switching problems are gone now. And I'll be able to blog :)

Regards,

Bhavik Vora

Hats off to the people who made it possible for Australia to beat India

Hi,

Even though it's a tech blog, i'll like to say about Cricket, my fav sport ! I really want to "thank" the people who made it possible for Aussies to win the "historic" Test Match at Sydney Cricket Ground, Sydney, January 2-6, 2008  (Australia vs India, 2nd Test).

The 3 people are:

  • Mark Benson (Eng)
  • Steve Bucknor (WI)
  • 3rd Umpire: Bruce Oxenford (Aus)

Well you may wonder y is it so ! You know what, They have taken the most no. of catches, well even Stumpings and LBW wickets than the bowlers themselves. Also not to mention they also managed to score a century in form of Symonds ! The "best" Test match i've ever seen. Also hats of to Pontings team (read: Symonds) for creating a controversy of "nothing".

I wish we could afford to have such great people in our team. But we know we cant match their standards. We'll get off the pitch if we are out without waiting for Umpire's referral (which obv will be of no point). We stay calm while playing in front of 11+3 men team.

Words from CricBuzz.com -

"Well there you go. That is all over for India. Right from the word go, they were up against a stiff Australian side but when they took the field, they had other opponents to face as well. On Day 1, Australia were 50 odd for 2 when Ponting was given not out by umpire Mark Benson. The Indians overcame that and had the Australians reeling at 134 for 6. Some time later, Symonds was adjudged not out by umpire Steve Bucknor, again a clear edge which only Bucknor was unaware of. Some more time later, the third umpire joined the party, a stumping appeal was turned down against Symonds with his foot on the line. He went onto score his career best score and with another decision going in favour of him, a stumping appeal not even referred to the third umpire by Bucknor. Then comes the Indian innings, Jaffer was bowled off a no ball but it went unnoticed. Then came the Aussie second innings, Hussey was caught behind but given not out. He was out lbw some time later but given not out. Then came the final innings. Rahul Dravid was given out caught behind when the ball was nowhere close to the bat, Ganguly was given out despite Clarke having grassed the catch twice and Dhoni and RP Singh were at the wrong end of marginal decisions. It might seem like a case of sour grapes but had so many decisons not gone against them then perhaps India would have ended up with a 200 run first innings lead. Decisions go wrong as to err is human but the consistency, obviousness and timing of the decisions was so much against India, that they cannot stop themselves from feeling unlucky. "

On a serious note - Hats off to the Indian Team. I am proud to be an Indian :)

Regards,

Bhavik Vora

Welcome back !!!

Hi,

Finally after working for around 8 hours (is more than what it should have taken) to create a BlogEngine.NET theme in accordance with my website, I feel i am successful !

Well i had been facing some problems on this blog since past a month and dint find time to resolve it. Also i have lost all of my previous entries. I'll try and get those back later in few days.

For now, I am signing off. Please leave your comments about the theme.

UPDATE (Nov 20): Still some problem with the CSS and images too, I am trying to resolve it. Footer problem. dats it ! I guess I am finally done with all !

I'll make available the theme soon !

Thanking you all for keeping patience and faith (wtf ! Tongue out)

Bhavik Vora