Tuesday, July 19, 2011

How-to: Shutdown Windows 2008 without Logging In First

Windows 2008 / 2008r2 Server
Enable Shutdown Option on Logon Screen

Display the Shutdown / Restart Option on Login (Log On) Screen

Since I tend to run a lot of software development virtual machines, I quite often want to start up, and shut-down, various instances of operating systems with as little additional effort (and wasted time) as possible. Windows 2008 (and 2008r2) is one of my Microsoft development operating-system platforms that I interact with, especially for hosting SQL-Server 2008 / 2008r2 on. And, since SQL-Server 2008 will gracefully startup and shutdown automatically as the underlying Windows 2008 operating system starts and stops, I have no "need" to truly "Log In" (logon) to the OS Desktop via CTRL-ALT-DEL logon process for most occasions.

As such, I always want the option of shutting down the Windows 2008 server without logging in; but, it turns out that thanks to a default security policy, the shutdown option is not available on the logon screen unless we make changes to the Local Security Policy to allow the shutdown button to show on the the login page.

Procedure to Enable Shutdown-on-Logon Screen

This is what we WANT to have available after we press the CTRL-ALT-DEL key combination (or, CTRL-ALT-INS when running within a VMware virtual machine):


Now, to get to where the options above are present at log on, we must take the following steps (click on image for larger views)...


Run this : gpedit.msc -- this will launch the Local Group Policy Editor (the .MSC file-extension tells you that we are working with a Microsoft Management Console Snap-in Control File)

Now, once the Local Group Policy Editor is displayed, Navigate to the proper sub-tree, which is: Computer Configuration, Windows Settings, Security Settings, Local Policies, Security Options, Shutdown.  On the right-side/pane of the screen, scroll down to the Policy labeled "Shutdown: Allow system to be shut down without having to log on" and change the value of this Security Setting column to be "Enabled".


Once you have saved this, the next time you reboot your server, you will be presented with the shutdown options on the Windows 2008 log on screen (as shown in the image I inserted at the beginning of this section) that will allow you to perform a shut down or restart without the need to login to the desktop first.  This is a HUGE time-saver for me, and I hope it saves you some time also.

Friday, July 15, 2011

Enable Copy / Paste in ESXi 4.1 Virtual Machine : VMware vSphere Client 4.1

Enable Copy / Paste in ESXi 4.1 / vSphere 4.1 Guests - VMware Virtual Machines


vSphere 4.1 Copy/Paste options : Change of Default Behavior

This is one of those changes that was implemented "for security reasons", where an existing behavior and capability (with ESXi 4.0 / vSphere 4.0 and earlier) suddenly seems to no longer work for you: you simply want to Copy/Paste to and/or from your Guest Virtual Machine like you had been doing prior to your ESXi 4.1 upgrade, but suddenly that "feature" is no longer working.

After some digging, you will find that VMware posted a KB about this stating: "Starting with vSphere 4.1, the Copy and Paste options are, by default, disabled for security reasons.". OK, lovely... so, let us go about "fixing" it (i.e., restoring our copy/paste option for a particular virtual machine and/or turning it on by default for all our VMs).

SIDE NOTE: I wrote a blog about How to Upgrade VMware ESXi 4.0 to 4.1 recently, if you have yet to do so and want to get some experience before upgrading to ESXi 5.0 / vSphere 5.0.

VMware ESXi / vSphere 4.1 Enable Guest Copy/Paste Operations

I included a quick visual (screenshot with markups) showing you how this looks in the vSphere 4.1 client software application.


This screen shows how you modify the settings for a single virtual machine. You can see that I have just chosen to "Edit Settings..." on a (stopped) virtual machine, where I have then gone to the "Options" tab, selected "General", and clicked the "Configuration Parameters..." button, whereby the form (that I marked up above) is shown.  To add the two entries we need (as pictured: click picture to zoom in), simply click the "Add Row" button (twice in total as we do this), and add these entries (name : value pairs):

  • isolation.tools.copy.disable : false
  • isolation.tools.paste.disable : false
Then click OK to exit this screen, and OK again to exit the edit-settings screen.  Power up your virtual machine, open a console window to it, and once your guest operating system is up and running, you should find that you can now copy and paste between your host and guest(s).

VMware ESXi / vSphere 4.1 Enable Guest Copy/Paste DEFAULT (for all VMs)

What do you do if you have a LOT of virtual machines to make this change for? I figure the break-even threshold for going about the "bulk enable" method as I am about to describe is probably more virtual-machines than I had (less than 10), but there is a solution for enabling copy/paste by default. NOTE: this requires gaining access to the the ESXi Server Console as "root" (if you do not know how to do this, see that link I provided above for upgrading ESXi 4.0 to ESXi 4.1 -- it will walk you through this step).

Once you have access to the server console, you need to open the /etc/vmware/config file using a text editor and add these entries to the file (which should look very familiar after the discussion above):

  • isolation.tools.copy.disable="FALSE"
  • isolation.tools.paste.disable="FALSE"

Save and close the file. You will see the effect of the newly enabled Copy / Paste options only after you restart or resume your virtual machine(s).


Note: According to VMware, these options (both methods described, from what I gather) do not persist after an upgrade. If you upgrade to a newer version after enabling these options, the changes are lost and you may have to re-enable them. That may be a PITA, but at least there is a way to fix the copy/paste, and that is all I care about really :)


Thursday, July 14, 2011

How to set default form font Delphi 2010

Delphi 2010: How to set Default Font for New Forms

Delphi 2010: Great IDE, but a DefaultFont fix needed!

I use Embarcadero Delphi 2010 (formerly Borland Delphi and/or CodeGear Delphi) for developing various Microsoft Windows®-based applications, and I generally love the IDE (Integrated Development Environment) for this RAD (Rapid Application Development) tool and object-oriented-development language and visual-component-library platform. But, once in a while I find some frustrations that just have to be dealt with the old-fashioned way: a registry-hack (or series of them)!

The latest need for a "fix" came when I moved from Delphi 2010 on Windows XP to using Delphi 2010 on Windows 7.  The old Delphi form-designer default form-font I was accustom too while under XP was Tahoma, which was just fine... but, according to Microsoft:
Users interact with text more than with any other element in Microsoft® Windows®. Segoe UI (pronounced "SEE-go") is the Windows system font. The standard font size has been increased to 9 point.
So, I get Delphi 2010 installed on Windows 7 x64 (64-bit environment) and go about a quick test of creating a new VCL Forms Application — and, for some reason I just rather expected the Default Font for Delphi 2010 to be Segoe UI 9-point... well, that is just not the case.  So, how could I make Segoe UI the default font for Delphi?  It should have been a simple single-entry into the registry (like it used to be in earlier Delphi versions), but no, that no longer works. Instead, the following sequence of registry changes must be implemented...

Registry Edits to Change Delphi 2010 Default Form Font

We start by navigating to the proper Windows Registry location (using REGEDIT). See the picture (click for larger version if needed)...

I began by adding a new key under HKEY_CURRENT_USER\Software\Codegear\BDS\7.0 called FormDesign (notice: no space in name); this is not to be confused with the existing key called "Form Design".

Then, in the existing "Form Design" key (the one with a space in it), edit the value for "Embedded Designer" and set it to False. NOTE: the default font fix we are implementing here will not work unless you turn the embedded-designer off — apparently this is thanks to a bug in Delphi 2010.


Now, within that NEW FormDesign key (the one without a space!), add a key/value(string type) pair as show in the next image. This key has the name DefaultFont and an associated string value that contains your desired default font-name, font-size, and even style (e.g., you could append the word bold to this) — in this example, I wanted Segoe UI 9-point (to fit with Microsoft's Windows-7 standard font guidelines). Notice how if the font-name you choose to use has a *space* in it, you MUST enclose the font-name in double-quotes as shown or the Delphi UI will not implement your default font. There is no space anywhere else in the line I show (i.e., no space after separating comma, etc.)


In the next image, I have shown a screen print of the Delphi 2010 Object Explorer showing the Font property values for a brand new form. you can see that my newly specified default Font-Name and Font-Size are taking effect in the Delphi 2010 IDE, albeit with the caveat that the form-designer is not currently "embedded" (since we had to turn off the embedded-designer to get this to work. You can toggle the embedded-designer back on (registry value = True) when you want to edit forms in the usual non-free-floating-form-editor layout. And, once you have your new form(s) created/saved, you can certainly set the embedded form designer to its default for good if you want (don't worry -- your new default font values are persisted when you save a form and will not change).


Updating Existing Forms to new Default Form Font

To quickly update any existing forms, and the controls / components contained on them, I simply did this:

  1. Created a new empty form (with my new Segoe UI 9-point, from new defaults)
  2. Opened up an existing form that needed its look updated; select-all; copy...
  3. Back on my new empty form, I pasted all the copied items.  Now, assuming you have a font-inheritance-hierarchy that supports what is going on (i.e., ParentFont property = True), your pasted controls should reflect that new look.
  4. Make adjustments for new visual size-differences, etc. in my layout.
  5. Close the old (original) form; name the new form to what the old was and save the new unit with the name of the old.  (note: I have everything under version-control; I suggest having this or some other means for rolling-back if you experience issues).
Enjoy!




Thursday, May 05, 2011

SQL-Server Algorithms : Set-Based Running Subtotals, Moving Averages, and more.

Being an avid Microsoft SQL-Server developer, I love creating interesting algorithms for solving common business requirements — especially stored procedures and user-defined-functions that exploit the relational database strengths of set-based operations.

[UPDATE: JAN-2017] I moved all the free source code for SQL-Server, that I had previously published on another website of mine, onto this blog, and here is a link that searches this blog for all SQL postings.

Set-Based SQL Procedures Overview
I have implemented, using only set-based algorithms (i.e., no database cursors), functionality that many would consider "impossible" without cursors and without dynamic SQL; as such, these techniques may be intriguing and/or useful to other SQL-Server developers, especially web-based applications that need to be secure from SQL-injection attacks.  There is no dynamic-SQL used and no cursors used to implement these algorithms — seriously

The following table provides links to the various free source code for the stored procedures I have published under the terms of the MIT License (for freeware) on my company website's free source code library.  All of these techniques have been tested and developed using Microsoft SQL-Server versions: SQL Server 2005, SQL Server 2008, and SQL Server 2008r2.

SQL Server Set-Based Running Subtotals (i.e., Row-Level Accumulators)
SQL Server Set-Based Running Subtotals (i.e., Row-Level Accumulators) for Delimited-list Accumulator Functionality
SQL Server Parameterized GROUP BY Without Using Dynamic-SQL : The "impossible" is possible.
SQL Server Parameterized ORDER BY without Dynamic-SQL - Example 1
SQL Server Parameterized ORDER BY without Dynamic-SQL - Example 2 - With ASC/DESC by Column abilities
SQL Server Set-Based Moving Averages (without Cursors, self-joins, or sub-selects) - Example 1
SQL Server Set-Based Moving Averages (without Cursors, self-joins, or sub-selects) - with Break-Level Resets
SQL Server Set-Based Running String Accumulator with Break-Level Reset

There are also some related MS SQL-Server stored procedures and functions on the main-page of the "library" including routines and functions for splitting and parsing strings, padding numbers to fixed-width, accumulating totals of values within comma-delimited strings, comparing nullable columns, and more.  I also posted a series about tuning very large SQL-Server databases for anyone dealing with massive database performance-tuning issues.

I hope you find SQL-Server set-based algorithms, stored-procedures, and functions helpful when tackling common business-requirements.  I have used the SQL running-subtotals and moving-averages to implement some neat financial data modeling and analysis software (everyone is used to moving-average stock-prices and such, right?), and the order-by operations without dynamic-SQL have been quite handy on websites (preventing potential security issues associated with dynamic-SQL and SQL-Injection attacks).


Continue to read this Software Development and Technology Blog for computer programming articles (including useful free / OSS source-code and algorithms), software development insights, and technology Techniques, How-To's, Fixes, Reviews, and News — focused on Dart Language, SQL Server, Delphi, Nvidia CUDA, VMware, TypeScript, SVG, other technology tips and how-to's, plus my varied political and economic opinions.

Monday, May 02, 2011

VMware ESXi 5.0 Release Features of Interest

I am a rather ardent fan of VMware (Public, NYSE:VMW) computing hardware virtualization products, especially VMware Workstation and VMware vSphere ESXi (a "bare iron" virtualization product). As a software developer, these tools give me the ability to maintain many simultaneous testing environments on any given desktop or server I employ for writing, testing, or deploying software — a huge time and cost saver for me.

-----------------------------------------------------------------------------------------------------------
UPDATE (2011-07-20): VMware has released their official guides to What's New in ESXi 5.0 and vSphere 5.0 since this blog was first written, and I have now written a followup blog (to this one) about the New Features in VMware ESXi 5.0 and vSphere 5.0 that goes into much more detail about certain aspects of the products and the new features.  But, I did not necessarily repeat every bullet-point from this initial post, so you may find some nice info on this page also.

-----------------------------------------------------------------------------------------------------------


The most recent official release of VMware's vSphere ESXi server virtualization / hypervisor product — a free bare-metal hypervisor — was version 4.1 (with update 1), though VMware ESXi 5.0 is nearing on the horizon now, and promises to introduce some features I have been longing for.  In case you need help migrating from 4.0 to 4.1 (in preparation for the upcoming 5.0 release), I wrote a blog about How to Upgrade VMware ESXi 4.0 to 4.1 recently.

I find version 4.x of ESXi to be quite capable for most of my needs, but there were a couple features in the Workstation virtualization product that I wanted to see on my server (via ESXi).  Some early feature-set "leaks" and "rumors" are hitting the technology blogs and other technology news sites now, and if what I am reading comes to fruition in the vSphere 5.0 version of the ESXi hypervisor, I will be quite pleased.
Note: I may not be the "typical" ESXi user, since I do not necessarily use the platform for all its enterprise-grade features, but I doubt I am alone in my using ESXi as a sort of "big brother" to my VMware Workstation desktops.  I am a software developer and SQL-Server database aficionado, and this leads me to using my Server platforms for what is a mix of enterprise-level database-design/testing in addition to actually writing software inside VM's hosted on vSphere ESXi.  I need some of the large-CPU-count limits and memory-size limits the product offers as well as its support for some more enterprise-grade hardware, but I also like features (introduced in v4.x) that included high-resolution graphics for my "server" VMs so that I could enjoy screen-real-estate when editing large blocks of code and testing software sporting robust GUIs.
New Features to Expect
So, with the above in mind, client-connected USB devices are something I would really like to see in the VMware ESXi 5.0 new features, as there are times I am using my server with ESXi to test some software that interacts with a USB-based product — be it a USB printer, USB scanner, USB camera, USB memory-stick, or USB external hard-drive.  From what I am reading, this feature is coming in vSphere 5.0!  In addition, some other noteworthy vSphere 5 / ESXi 5 features that are being talked about include the following (with the ones I listed first being of most interest to me):
  • USB 3.0 device support — to me, this is a "must have" while on the topic of USB-connectivity these days.  I have seen first hand how much faster (than USB 2.0) my USB 3.0 is for large file-transfers to my Seagate FreeAgent GoFlex external USB 3.0 drive (using a Buffalo USB 3.O add-in card).  There is no comparison... the USB 3.0 is many multiples faster, and large-file transfers are done in a fraction of the time; as such, having this available within my ESXi 5.x virtual environment would be wonderful!
  • Smart card reader support for VMs — again, this is complements my desire for more "workstation-like" features when I need them. 
  • Swap to SSD (Solid State Disk)  — this should be really nice for speed-improvements.  I do not know the details, but I am a fan of SSD devices and their speed.  I blogged about my Intel X-25M benchmark results in a desktop I use for software development, and the SSD products have only gotten better, faster, and more affordable since then.  Being able to perhaps cache portions of frequently-accessed data using an SSD (much cheaper than RAM), will be nice indeed.
  • Apple Mac OS X Server 10.6 "Snow Leopard" guest OS support — this is a nice-to-have for me, as I have been wanting to play with more Apple code without necessarily purchasing an Apple server.
  • Non hardware-accelerated 3D graphics for Windows Aero support — again, a nice-to-have from where I stand, if I want to test Windows 7 guests on ESXi under certain circumstances
  • a new browser-based vSphere Client — what I find most interesting with this is that it may be *extensible*, which would perhaps make it easier for open-source (OSS) add-ons of things like free backup software for ESXi 5.x and similar much-desired functionality.  I look forward to seeing how truly extensible this product is, especially as a software-developer that would love to write some handy plug-ins for things I commonly desire.
  • iSCSI user interface support  — this could be interesting too.  I have been just starting to play with FreeNAS and NexentaStor and their iSCSI support and capabilities.  Anything that makes it easier to integrate this type of functionality with ESXi is welcome by me.
  • Support for 2TB+ LUN  — in this day and age of ever-increasing data and storage requirements, coupled with ever-cheaper storage, the existing 2TB LUN limit seems a bit dated.  So, being able to provision for very, very large storage requirements is sure to help with things like massive databases and the like.  I personally do not keep any "test databases" of that size laying around, but I can see the day coming where I may want to do so for performance testing, benchmarking, and similar optimization work.  I have some multi-hundred-gigabyte SQL-Server databases for testing some of my algorithms on, so perhaps the multi-TB threshold is coming (though, I am not sure if the native OS will support that anyhow? hmmm...)
  • 512 VMs  — I am not near that limit by any means, but I could see this making some sense if and when my vision of "a VM per application" ever comes to fruition; that is a vision I have written about elsewhere... perhaps I will publish it here soon.
  • 160 CPUs and 2TB of RAM!  uhh... wow!  Sounds nice, and wish I had such a system just for "kicks".
  • 32 vCPUs per VM
There were plenty of additional enterprise-focused features talked about on the web (for vSphere 5), but most of them will not be very applicable to me.  I will keep my eye out for more "official" release information from VMware, and once some of these rumors/leaks of new features can be confirmed, I will surely write about them (and/or test them out and write about them).  Stay tuned.

Something Amiss: Nvidia CUDA support in ESXi / vSphere?
I did not read anything about VMware implementing support for Nvidia CUDA technology in vSphere5 / ESXi 5.  I sure hope they are considering this, as I see parallel-computing with CUDA as a major and serious technology trend that can not be ignored, and that should be available to server-applications.  I have written a few blogs about CUDA-enabled graphics cards and the potential they offer us software-developers that can leverage the power of the many-GPU-cores for parallel operations; this is an emerging trend in high-powered software that needs to be more accessible via virtual machines.

The last time I researched whether there was any way to make the NVidia graphics cards and their CUDA processors available to ESXi virtual machines, I found that you were out of luck.  Even attempts to use an Nvidia CUDA card as a "pass through" device (to ESXi) would not work.  Basically, unless VMware implements (in their hypervisor) something to allow the CUDA processing architecture capabilities to be accessed through server-based virtual machines, any applications that implement such features will have to run outside of a VM.  

With server vendors offering dedicated parallel-compute modules (implemented using NVidia cards), there is bound to be more and more demand for VM support of CUDA.  Financial firms, medical technology, engineering firms, and other large corporations are embracing CUDA-based applications development, and this surely must translate into demand for CUDA-enabled virtual-machine infrastructures.  So, I sure hope this is addressed in v5 if not in a subsequent "point release" of ESXi 5.1 or 5.2 (though, it is a rather substantial feature for a dot-release perhaps).

I am waiting anxiously to see how EXSi CUDA support is addressed in upcoming releases.  Aside from that, ESXi 5.0 looks rather promising so far.

Wednesday, April 27, 2011

VariCAD 2011 : 2D & 3D CAD Software Update Release

If you are a CAD (computer-aided-design) hobbyist or professional, you will be pleased to know that VariCAD has just released another update to their very capable and affordable 2D (two dimensional) and 3D (three dimensional) CAD Software program.  I fall into the former group (hobbyist and self-declared "inventor"), and I really enjoy being able to create 3-dimensional models of my various "inventions" and ideas.

When I shopped around for *reasonably* priced CAD software with powerful 3D-modeling features, VariCAD was the one offering that really stood out (read my prior Blog where I review VariCAD and discuss my trials of competing free and affordable 3D CAD products) to me after evaluating quite a few competing CAD products — so I bought it.
2011-04-18 — VariCAD 2011 1.x RELEASE SUMMARY: this latest releae includes numerous improvements to the 2D drawing functionality portion of VariCAD. This latest VariCAD 2011 release contains rebuilt and significantly better DWG/DXF interface, new or changed 2D functions, better support of 2D NURBS objects (splines), significantly improved user interface and improved STEP input. Available for Linux and Windows platforms (32bit and 64bit also).

Pen and graph-paper can only take you so far when planning out even moderately complex engineering or product-design projects, and the time-savings and accuracy that is obtainable with software like VariCAD can easily make the price well worth the investment.

VariCAD Example : Real-Life Time/Cost Savings
One of my more recent VariCAD 3D-layout projects that saved me a TON of time was, of all things, designing an optimal heating and air-conditioning (HVAC) ductwork system for a planned new geothermal system install at my residence.  I started out taking measurements with a tape measure and then sketching some ideas on paper, but I was soon overwhelmed with overlapping duct trunk-lines that had all sorts of multi-dimensional constraints on their placement (especially due to immovable walls); it quickly became apparent that pencil and paper could not ensure success on this project — VariCAD to the rescue!

Geothermal Ductwork Planning in 3D

As the above VariCAD 3D scene rendering from one view/perspective demonstrates, this was a rather complex ducting plan to implement, and the color-coding of various trunk lines in VariCAD (for supply air and return air that would feed out and into the 6-ton WaterFurnace geothermal unit) saved the day and kept me from going insane as I tried to visualize how this would all work.  I also placed a couple gray slabs into the drawing to remind myself of where I was passing through immovable walls, and this really helped with the visualization process too.

This 3-D CAD software mockup of how the proposed geothermal ducting could be implemented gave me the confidence I needed to know that if the project moved forward, it would work as planned — this is a confidence I could not have otherwise had, as the scene was just too darn complex to visualize with simple hand-drawn orthographic sketches or *attempts* at 3D.  This model was created to-scale, and everything that worked in the CAD software would work in reality because of the accuracy the CAD software brought to the problem at hand.  The bottom line here is that a $600 piece of software avoided what could have been countless hours of expensive reworking of ductwork "on the fly" from a lack of proper planning.

So, if you have any desire to expand your abilities as a home-improvement expert or hobbyist, perhaps the latest VariCAD 2D/3D CAD software (which has free 30-day trial) may be for you also.  I found the software INCREDIBLY USEFUL as an individual that wants to ensure the best outcome for home-improvement projects, and I can only imagine how wonderful a tool like this would be to professional ductwork installers (especially where re-configuring existing ductworks for geothermal, etc. is happening).  I can see this being used as a marketing tool also, so customers can visualize what it is you (the contractor) brings to the table and plans to implement.

Geothermal ductwork-planning in 3D is just one of the many uses I have found for this software. VariCAD 2011 furthers my appreciation for the cost-savings and time-savings that design-automation software can offer, and I have many more projects in the works that I am and will be using VariCAD to perform 2D and 3D CAD layout for.  I find myself quickly going straight to the computer when I have ideas to "sketch out" now, thus bypassing paper/pen altogether.   Hopefully you find this software to be equally useful and valuable.

UPDATE (2013): I have continued to use VariCAD 2012 and VariCAD 2013 and love the product.  Additional features and enhancements have come along to make an already great product even better.  Give it a try, and if it just "clicks" with you, productivity is bound to follow.

Continue to read this Software Development and Technology Blog for computer programming articles (including useful free / OSS source-code and algorithms), software development insights, and technology Techniques, How-To's, Fixes, Reviews, and News — focused on Dart Language, SQL Server, Delphi, Nvidia CUDA, VMware, TypeScript, SVG, other technology tips and how-to's, plus my varied political and economic opinions.

Thursday, April 21, 2011

Politics of Green Energy : Propagating Ignorance via Ideology

Humans are hopelessly spiraling toward their own demise — thank politics for speeding the process!  For being the supposed smartest animals on the planet, we sure do everything in our power to prove our ability to ignore fact in favor of ideological beliefs and opinion.  Science and technological advancement is wonderful: as long is it does not surface data that challenges the merits of our individual pursuits — especially the pursuit of "profit".

I am so completely disgusted with the politics of green-energy (or should I say the politicization of green-energy, and the outright disregard for fact — a nice way of saying "lies") as propagated by proponents of existing, carbon-intensive, and ecologically destructive sources of energy.  As is with most ideologically-driven hyperbole, hypocrisy runs rampant throughout the "logic" employed to "defend" what should be nearly indefensible positions for the continued push to use fossil fuels while global CO2 levels soar in direct relation to the combustion of those fuels.

Let me begin by recognizing the fact that not ALL "right leaning" (Republican / conservative / etc) backers agree with the illegitimate position that humans are not responsible for climate change.  In fact, some very noteworthy Republicans, conservative business-leaders, and wealthy individuals are very adamant in their promotion of green energy and ending the human self-destruction that is occurring as a result of fossil-fuels consumption.  But,...

I just read this article about how Americans are split on what is causing global climate change; and, you perhaps you already guessed how they are split: right down political-party lines!  If you consider yourself a Republican (i.e., conservative) you are statistically almost certain to believe the rhetoric spewed by party leaders that push concepts proven utterly false... things like blaming "natural causes" for climate change.  Again, this is PROVEN false, PROVEN!  But, politics make proof become "proof"; science that does not reinforce a politically-motivated position is suddenly just "science"; and so on.

Never mind the fact (and transcripts that back it up from the Bush/Cheney era) that the Republican party's entire strategy for exploiting their political base (to keep carbon-intensive energy running full-steam ahead) was to simply create DOUBT.  It worked.  Many of their followers only needed the slightest suggestion of "doubt" that climate change was due to human activities; they now had what the party leadership desired most: a "position" to cling to regardless of all the true evidence and science to the contrary.  This self-engineered doubt is all they continue to need to reject the fact that human activity is plunging this world into a state of unprecedented CO2 buildup and associated climate change.

Never mind the fact we can use the carbon isotope-typing to analyze atmospheric CO2 concentrations and determine that the CO2 came directly and unequivocally from human activity and the burning of plant-sourced matter (i.e., coal, oil, natural gas) and NOT from things like volcanoes and other ridiculous explanations (whose CO2 emissions produce a different isotope signature).  All the proof just becomes "proof" when ignorance is reinforced via ideology.  It truly is a shame, as we will all pay the price for this ignorance regardless of our political affiliations.

Perhaps we should get to the root-cause of this politicization of climate-change and the creation of any alternative "theory" of climate-change: MONEY!  That's right... like every human activity that goes contrary to common-sense and proof that an activity is bad for us as a whole, money lies at the root of this discussion.  The foot soldiers (i.e., the political masses) that quickly render their backing (by way of votes) to those pushing a particular agenda that is contrary to scientific evidence will likely realize little, if any, economic gain by lending their support to those at the top.  But, there are certainly many individuals and corporations that stand to profit handsomely if we continue to ignore human-induced climate change and continue to embrace CO2-intensive energy sources.

There is a lobbying force (i.e., money) that is intent on keeping their carbon-based cash-cow pumping out not just more money but also more CO2, and they will do anything to continue to ensure they have the votes to protect them and their climate-altering activities; all courtesy of ideological splits among the populace.  Their hope is that you turn off your brain and embrace the ideological ignorance that continues to reign supreme — never mind the fact that we are creating what is likely to be irreversible damage to this planet we all live on.  Never mind that no amount of money will ever make up for the fact that we will have doomed the planet in the process.
 
Now, let us discuss some of that hypocrisy that always accompanies such ideology.  One of the first things we hear is that going green is "too expensive".   Sure, wind and solar and geothermal may appear relatively expensive compared to other energy sources when the cost of environmental-destruction is left out of the equation, but when included, green alternatives are VERY competitive, and they are increasingly becoming more efficient and more competitive at the same time CO2-producing energy is, and will continue to be, increasingly expensive if the true costs of CO2 emissions are considered in the equation.  Solar technology is rapidly evolving and becoming cheaper and more efficient; wind turbines are becoming larger, more efficient, and thus more competitive also.

And, when considering the true cost of burning fossil fuels and the cost (via environmental damage and alteration from CO2 and other toxic emissions), the worst CO2 offender is COAL burning power plants.  The coal industry knows this and knows they have to create yet another lie to sell the public and get the votes to keep their profits rolling in, so they have coined this "clean coal" concept as their solution.  Sounds great does it not?  "Clean" coal.  Sure.  Wonderful.  But, then there is the fact that there is NO SUCH THING and not a single coal-burning power plant is in existence that is not emitting CO2.  And, to capture CO2 from coal-burning is EXPENSIVE and it takes MORE energy (as much as 1/3 of the total fuel burnt generating power will go to power sequestration if we are to capture all the CO2 produced from the plants) and an insanely complex infrastructure to implement.  This WILL end up on your electric bill!  And, of all the insane and desperate acts that humans could undertake, "clean coal" (and similar carbon-capture schemes) ranks number one.  Investing in such a dead-end is not "investing"... it is flushing money; but, for as long as you are willing to flush it into the coffers of the coal-industry, they will willingly take it.

Next there is the "clean" natural gas crowd.  Sure, it produces 1/2 the CO2 emissions as coal burning, but where is that gas coming from and what emissions are involved in the acquisition of that "clean" natural gas?  Watch the movie Gasland for starters and you will soon understand that this is anything but a "clean" fuel... hydraulic fracturing technology is what is enabling this (lie known as) "clean" natural gas, and it is causing widespread release of hydrocarbons and chemicals into the air and groundwater.  But, money rules the world and the natural gas boom throughout the USA is producing enough cash to retain the number of votes they need to continue this toxic energy pursuit.

We do not have the resources to waste on existing dead (and deadly) technologies while the remainder of the world passes us by with renewables.  As we flush our money (or, should I say other people's money - since so much of our money is *debt*) down the drain on carbon-intensive energy production, we are flushing our future simultaneously.  The politics of energy production are making us waste valuable time and money on unsustainable carbon-based technologies when we could be truly investing (where spending our money will produce a return in the longer term and not just go, quite literally, up in smoke as we burn carbon-fuel sources instead).

Please consider the true cost of carbon-based energy sources in any comparison to green-energy that you make.  Take time to understand the science behind energy production (and associated emissions).  And, get the facts about how much power is hitting this planet every day just in the form of sunshine, which we CAN easily harness for our power needs.   There is an amazing abundance of alternative energy available to us; what is not available in abundance is the propagation of this fact and the associated facts about human activity causing global climate change and CO2 rise.   I sure hope humans can overcome political ideology before it is too late.