Showing posts with label business. Show all posts
Showing posts with label business. Show all posts

Wednesday, July 20, 2016

Leaked: Donald Trump’s 2016 Cleveland RNC Nomination Acceptance Speech


Donald Trump is about to deliver his Republican National Convention acceptance speech to the world. How about a preview by way of a sneak-peak leak of that speech?

As a long-time computer programmer and software developer here in Cleveland, Ohio, I am not going to say how I came by this information, but I will simply post it here for your reading pleasure… at least the better parts...

The introductory stuff, chopped off for brevity, begins rather predictably... 
Thank you [to family, supporters,.... etc. etc…]. 
Thank you for making me your Republican nominee and I enthusiastically accept this nomination so I can now begin to Make America Great Again and Make America Safe Again, with your help. 
[...some more basic predictable intro stuff..., blah blah...]
Then the speech starts to get good!
My behavior throughout this election cycle has been truly appalling. Truly awful. Do I care? No. Not really.  Why should I?  I have intentionally said and done everything possible to demonstrate how completely broken American politics is. I needed to get America to wake up and vote for change. Melania even went as far as to appear to plagiarize portions of a speech originally written by Michelle Obama, just to gauge voter reaction and stir things up a bit. It was all planned. I am a brilliant businessman and an even more incredible politician because I know how this game works, and now I am going to use my natural gifts and business acumen to fix everything that is wrong with Washington politics.
Is he serious?!
Seems so...
I ran the calculations and have done exactly what was necessary for an “outsider” to be heard and to have a chance to lead this great country. This is how you win at business and at politics these days. Learn how the system works and use it to your advantage. This is what American politics has been reduced to. And this is because Washington insiders have taken over your democracy. American politics has been hijacked by the wealthy elite and corporate interests for decades now, and the only way to take on that establishment is to use their own tactics against them, without them knowing it. I have done it! Now you know! Time to tell all these insiders that their time is over and your time is here instead. Vote for me this fall and use this opportunity to take back your government and your political system. And, if you have even the slight doubts in voting for me, at least consider the fact that I am man enough admit that I have lied and distorted facts in order to be seen and heard and have a chance to represent you. Crooked Hillary will never admit her lies and misrepresentation and the fact that she is deeply entrenched in the Washington establishment political machine, will she?
OK, I see where this is going, I think.
So, how are we going to Make America Great Again and Make America Safe Again? Just like how I made my businesses and family successful. We are going to look at the numbers and the facts and do what it takes to get this country back on track. We do not have time to mess around with politics as usual any longer. It is time to get serious about fixing what is wrong in this country.
Trump, getting serious?  Could this be for real?
Let’s start with the government budget mess. I am a businessman. This country is essentially an enormous business. It is a giant business that we partake in, and a portion of our paychecks go to pay for protecting our freedom and our position of being the most powerful country in the world. But, a business must manage its revenue and its expenses. America spends more than it takes in, in a HUGE way… huge… it would be considered essentially bankrupt were it not for its ability to print money. We need to get our financial house in order. And no, we are not filing for bankruptcy, but rather we are going to address both our spending and our taxation. 
Guys like me are so wealthy due in large part to the favorable tax system here in the USA. And yet you constantly hear this political rhetoric about the need to cut taxes, when taxes are the revenue side of our government’s accounting system. We have an enormous federal deficit and debt, but yet for some reason we are supposed to ignore the revenue side of the equation and not charge taxes. Then again, we ignore the expense side of the equation too and spend crazy amounts on all sorts of insane stuff, but I will get back to that topic in a bit.
Could Donald Trump really treat America's budget like that of a business and be serious about both increasing revenue and cutting expenses?  I'll believe that when I see it. But, maybe. If I were to believe him.
For now, let me talk taxes, revenue. I hardly pay any taxes relative to my earnings. And, I’m not alone. Warren Buffett has pointed out repeatedly how he pays a lower tax-rate than his secretary. That’s great for us guys at the top, but not so good for the country’s coffers. Voters need to understand the math here. I have billions. Not just one billion, a few billion dollars. Warren Buffett makes me look rather poor though — that guy has like 20 times as much as me, something like 60 or 65 billion dollars. Do american voters even realize how much money a billion dollars is? 
Each billion I have is one thousand million. From what I read recently, 25% of american citizens do not even have a net worth of ten dollars to their name. So, if one of those 25-percent of people walks down the street and loses a dollar out through a hole in their pocket, they have just lost one tenth of their net worth. Ouch! A ten percent loss in one day makes for a bad day, but it can happen. For me to lose one tenth of my net worth, if I was ONLY worth one billion (which I am not, I have a few billion, I am quite wealthy,... very wealthy… but not quite like Buffett or Gates, those guys are crazy wealthy)... I would have to be walking down the street and lose a briefcase containing 100 million of my dollars! One hundred million dollars is mathematically no more significant to me than a dollar is to a quarter of the american population. 
Voters in this country need to grasp this disparity before they can understand why the only winners in this trickle-down ultra low tax-rate system, that is full of loopholes for the wealthy to exploit and tax-breaks which only benefits the top, are the top guys like me. If we want to make america great, we need to help everyone have a fighting chance to become great. So, stop voting against yourselves and start listening to me, a very successful businessman who understands numbers very well. Very well. 
Increasing taxes on the top, not to mention forcing US corporations to repatriate the TRILLIONS of dollars they are holding overseas and pay taxes, and pay taxes now or else be hit with fines, is how we are going to begin making america great again for the average american worker and small business owner. Forget this misdirection and smokescreen talk of job-killing-regulation,... the only thing killing jobs is the lack of tax incentive to keep people employed rather than simply piling up corporate profits in overseas bank accounts. Give tax breaks for employing people, not for hoarding cash and not putting it to work building up america.
Wow!  Trump, I'm with you on this stuff... I may just vote for you. And it continues to improve:
We have a system that is further rigged to deliver pay packages to CEOs of the big companies that are on average 300 times what a typical worker makes every year. So, right now, you can work your entire 30 year career with a company, and after all that time, you will be lucky to have made one tenth of what the top guy at your company makes in a single year. This needs to change. 
For america to be great, it must recognize that every american contributes to the success of guys like me and CEOs and everyone else at the top, and give them a better share of things. With our current tax system and income inequality, this is impossible. Or, if not impossible, there surely is no incentive to do so. 
The current tax system is telling me: take as much as possible for myself because there is no reason not to. So, ask yourself, if I can lose a suitcase containing $100 million dollars and lose the same one-tenth of my wealth as the person who only has 10 dollars to their name, why can’t I be expected to pay that into the tax system? Heck, I will still have $900 million dollars out of each billion left over to enjoy, and I tell you, I am still in a lot better shape that the average american with their nine dollars left in their pocket! I can buy whatever I want, whenever I want. Shouldn’t you, the american people, have a bit more in your pocket too?
And on and on... but, now to infrastructure and the spending-side of things...
And, we spend so much money, it is just insane. Where do I start… we spend it on things that do not deliver any return on investment. It’s like we are trying to be stupid with our cash. If you build a business, you invest where the money will generate more money… that’s why they call it investing. You build your infrastructure so that you can expand and move more products and services. You modernize to improve efficiency. 
But our government cannot even consistently invest in its roads and bridges, and wow, don’t even think about investing in anything like high-speed rail or any serious modernization. And what little we do spend on our infrastructure, especially relative to military spending, isn’t even spent in a way that ensures that the infrastructure lasts. I have seen old cast-iron or brick railroad bridges from the 1800s still standing, with little maintenance, throughout the world, but yet I have seen bridges here in the USA that are falling apart and having their concrete replaced after a mere few years. Can we really not build better bridges now that over one hundred years ago, so that we don’t keep wasting money on the re-building same thing over and over?

And, how about investing in education in a serious way? I’ll come back to this too in a bit.

A bit rambling, but sounds reasonable.
Ah, let's skip forward to immigration:
But first, I want to talk about Immigrants and immigration. My wife is an immigrant. Many great people I know are immigrants. And America’s growth and prosperity has outpaced the bulk of the rest of the world for the past eight years thanks in large part to its ability to attract foreign workers to join its fantastic pool of American talent when we need them. Why? Because everyone knows America is awesome, truly awesome, and they all want to come here to enjoy our American Dream. Who can blame them? And, we all benefit. The numbers don’t lie. 
We want the best educated and skilled people from around the world; who wouldn’t? You always want the best talent on your team. And, if we educated our own people better, our talent pool would be that much deeper. Let's do that to: let's invest in educating our young people.  But, even when we educate our own people well, and recruit the brightest from everywhere, we may find that we still need some additional workers or laborers to fill in the gaps in our employment pool that exist from time to time in our system, like when we build all our better bridges and roads and high-speed train systems and other times of increased labor needs. There will be plenty of work for everyone once I start things moving after I am in office. You watch.
Sounds like a lot to deliver.  But, OK.  Bring it on.  How about those controversial topics of gun control and such?
And, if you are worried about terrorism with any immigration, I have one question: why are you worried? How can anyone say we are not safe? We are the strongest country in the world, and will continue to be so. We spend more on our military than the next 7 highest spending countries combined. We have a million people spying on our own citizens to watch out for bad guys. 
How many people have died from terrorism on US soil in the past year? Any number is terrible. Truly awful. It is under 100 people even over this last year by my count, which includes the horrible Orlando night club attack of complete cowardice. And, my condolences go out to everyone and their families that were touched by terrorism. 
But, being a businessman and a numbers-guy, I really think the average american should be more concerned with how many people die from gun violence in America, prescription medicine deaths, and even automobile accidents. 100 people every single day, on average, are dying from gun violence in america, and that is not due to terrorism. We have nearly 40 people per day dying from prescription opioid overdoses in america (and that is just opioids… double that figure if you want to count ALL prescription-drug overdoses), and that number is rising. Last year 105 people also died in road traffic fatalities every single day of the year on average. The numbers do not lie: this campaign-of-fear being waged on america, the fear of terrorism in america, just seems crazy when we consider the fact that there are 100,000+ Americans dying every year from gun violence, prescription drug overdoses, and traffic deaths. But, we don’t spend 100’s of billions per year trying to prevent THOSE deaths.
Indeed.  Terrorism is seriously bad news, but when you look at the numbers inside the USA, how can you ignore that fact that for every death-by-terrorist there are one thousand other highly-preventable deaths by these other means?  Don't those lives matter too?

I surely agree with the next statement quite a bit:
The fact is, Washington and US politics are broken.
And, finally, after some rambling for a bit, comes the best part:
And, as for Mike Pence as my VP pick: sorry dude, you have to go. You were just a placeholder and another typical mainstream politician that represents more of the status quo… the only other true outsider in this race right now beside me is Bernie Sanders, so, guess what Mike Pence? You’re gone… outta here… from here on, it is Donald Trump and Bernie Sanders who together are going to usher in a wave of real change in America as we share the 2016 Republican ticket for President and Vice-President of the USA!
Hmmm....  that last part sounds a bit suspicious. I'm beginning to question the authenticity of this alleged Trump speech data leak. lol.

I want to thank my source of inspiration for this… the comic genius Lee Camp of RT America’s Redacted Tonight, and how Lee uses his extremely witty and intelligent comedy to point out the insanity in our political, financial, and social systems — topics including the 2016 election fraud incidents, civil rights violations, corporate control of our government, and so forth.  This was a long-form attempt at something like his "Headlines from the Future" segment.  I cannot compete with Lee Camp's brilliant comedy, but hopefully a few people find this "news" entertaining.

Monday, October 14, 2013

SQL Moving Average Query Techniques and Performance Comparison

SQL-Server Solutions to Moving-Average Query Requirements


Moving-Averages Overview

This article references future blog posts which present the source-code for several additional SQL-Server queries, functions, and stored procedures — these used to be hosted on my external Free SQL code library, which was migrated here in 2016/17. Among this set of SQL queries are a few pieces of code that address the topic of moving averages and approaches to calculating moving average values using only SQL.

Moving averages — and/or rolling averages, moving means, sliding averages, running averages, temporal averages, etc.  — are a common data requirement in these problem domains:
  • financial instrument pricing, and especially the analysis of financial time-series values and information: e.g., stock prices, commodity prices, interest-rates, etc. where it is very common to look at indicators like a 30-day or 90-day moving-average-price
  • operational indicators at a business: production and sales volume trends, error/defect rates trends, and so forth
  • economic indicators like unemployment and jobless claims, new home construction rates
  • environmental indicators like seasonal temperature trends, rainfall, snowfall, and so forth
  • and countless other applications where "smoothing" or "trending" or "momentum" is to be included in some analysis or reporting or charting.
Whether your moving-average needs are best served by SQL-only algorithms, as opposed to perhaps client-side number-crunching and/or non-SQL Server-side code (like .NET CLR procedures), is for you to decide, but with the techniques I have demonstrated, at least you can consider a Transact-SQL-only solution if you choose (and one that is set-based as opposed to relying on cursors).

SQL-only Solutions Compared

See my Set-based Moving-Averages SQL Example 1 page, as I will reference the techniques on that page in my discussion here.

That page and example includes execution-speed / performance comparisons between techniques also (run against the AdventureWorks sample database).  That page demonstrates three different approaches to solving (using only SQL-Server T-SQL) the moving average challenge using:
  1. my own custom approach to calculating a rolling average that takes advantage of some interesting features of Transact-SQL that, although may not work "forever" with every future release of SQL-Server, have worked fine from SQL-Server 2005 through SQL-Server 2008 and 2008r2 and SQL-Server 2012.

    The technique relies on CASE statements and a (so far, so good) predictable order-of-processing the values-assignments within the UPDATE statement where I use local-variables to maintain a "queue" of values as well as break-level-reset tracking information.  This code is quite speedy and flexible and easily adapted to related problem domains.

  2. an example of solving the same problem using a CTE (Common Table Expression) coupled with APPLY (CROSS APPLY / OUTER APPLY that are Microsoft SQL-Server specific extensions to ANSI SQL).  This approach is SLOW!

  3. A newer ANSI-SQL compatible solution that is available to you if you have SQL-Server 2012 or newer that implements the windowing functions using OVER and PARTITION BY.  This method is the simplest solution, is the fastest running, but requires SQL2012+ and also lacks the ability to easily change the "window size" (i.e., number of data-points the moving-average is based upon) without dynamic SQL.

Performance Results / Limitations Examined 

I have been very pleased with the performance of my custom solution to this problem and have used this approach (#1 above) for years now.  Sure, I could simplify my code using SQL-Server 2012's new OVER / PARTITION BY abilities while also gaining a performance boost.  But, until SQL-Server makes the PARTITION window-size (in the "ROWS BETWEEN integer_value_here PRECEDING AND CURRENT ROW" portion of the command) able to utilize a variable instead of a hard-coded integer value, this newest SQL method has limited value in my opinion.

My custom approach comes amazingly close to the native speed of the newer SQL-2012 windowing features, while also having the advantage of being able to handle a variable-window-size (which is perfect for requirements where you want to pass a moving-average-window-size value as a parameter to the procedure).

Notice that I hardly give the APPLY / CTE "solution" much thought.  I presented it as an "option" for a set-based solution to this problem, but its performance is awful and the APPLY is Microsoft-specific as well.  So, I might as well use my own custom approach that may rely on the specifics of MS T-SQL processing-order while gaining the advantage of speed and a rather simple-to-understand approach (as compared to the CTE/APPLY which I find not-readable or easily understandable by comparison).

Conclusion

There are certainly multiple ways to solve the rolling-average / moving-average problem using only SQL, and the choice is yours as to which approach best fits with your needs and situation.  I'd say that if you have a static-window-size and are using SQL-Server 2012 or newer, then the obvious choice is the newest OVER / PARTITION approach.  But, I personally have not run into rolling-average requirements that did not include a variable "window" (e.g., allowing a user to choose how many data-points, periods, etc to include in the average, as specified in a run-time query parameter).

Check out the other SQL queries, functions, and stored procedures I have in provided here on my blog for other related problems and solutions like running subtotals and much more.  I have made it all available as open-source-software (OSS) under a very permissive MIT License.  If you want to learn how to compute moving averages using only SQL, and solve other interesting problems within Microsoft Transact-SQL, this resource should provide some very useful information and ideas. Enjoy.


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.

Wednesday, July 17, 2013

Bountysource Open-Source Crowd-Funded Software : Mini-Review

Bountysource : Show me the Bounties!

Crowdfunding for OSS : Where are the "funds"?

Bountysource, which is being promoted as "the first crowdfunding platform dedicated to supporting open-source software" (OSS) in news releases today (about their seed round funding), is perhaps a semi-interesting concept, though from my quick look at the site has me questioning its merits on a few levels.  Being "first" does not mean it will succeed or even be useful.

The whole point of this site is supposedly to "accelerate open-source development" by offering "bounties" to get desired OSS project(s) or project-feature(s) implemented or OSS-issues/bugs fixed quicker.  Well, what I saw when quickly perusing the "projects" is that there is a large list of "projects" (where Bountysource probably just loaded a database with a list of popular OSS projects from Github and other places), but hardly any "funding" available for any of them.


No Global Search-Available-Bounties Feature?

Maybe I just cannot locate such a feature (if it exists), but it seemed like for a site called "BOUNTYsource" (key word: bounty) you'd be able as a site-user (potential developer) to quickly search all projects to see which ones had active bounties so that if you had skills to apply in hopes of being rewarded by those bounties that you could find such projects quickly and see if any were a "fit" for your skills. I could find no such search-by-bounty feature on Bountysource.  Seems quite odd.

Sure, you can "search" an individual-project for a bounty, but what is the point?... any bounties on a project are easy to see at an individual level, but the time to go through a bunch of projects one-by-one is just ridiculous (especially when that list of "projects", is like I mentioned earlier -- and apparent "dump" of popular project names, where most have no issues to work on listed anyhow).  I'd go further: what would really "accelerate development" of OSS projects would be the ability for a potential developer to search for all projects with bounties that required certain skill(s), but good luck with that for now -- such functionality apparently does not exist.

Not Much Bounty-Money Available

I suspect the reason for this (apparent) lack of search functionality is a simple one: they (Bountysource) do not want you being able to quickly see that there are VERY LOW TOTAL BOUNTY dollars available (in total) for all these supposed "bounties".   Maybe that will change over time, maybe not.  But, quickly perusing the most popular "featured fundraisers", the highest bounty amount I could find for anything was just under $10K USD, and that is a *standout*.

The Bigger Issues with this Concept

Aside from the bounty money thing, the site itself was super-slow (perhaps due to the press-release today?  search speed was terrible and/or timed-out for me) and the "chat" feature was useless... I saw a list of (supposed) logged-in people (perhaps 20 or 30) and asked a question or two... waited... waited... NOTHING.... useless.

But, the biggest issue has to do with whether this "bounty" approach to accelerating open-source-software development is even a "good thing" to begin with.  I understand that many OSS developers could sure use any funding they could get to help offset their invested time/cost (I for one develop OSS for "free" otherwise), but I can also see this leading to Bountysource becoming the next eLance or oDesk or such in its own right: i.e., pure garbage! Don't over-analyze that comparison too much as I realize this will be a bit different, but I do think it could end up with similar issues.

For one, I think there is likely to be a group of people that search the web for existing-code to simply copy/paste (with perhaps minor alterations) where possible to make a submission toward a bounty (in hopes of quick cash), and bring into question all sorts of copyright mess.  Hopefully I am wrong about that, but it seems inevitable.  There is going to have to be some code-plagiarism-detection of sorts or this will likely happen (and the day other developers find their code posted as a "solution" to a Bountysource item without their consent, things will get ugly).  The bottom line is that I can see how simple it will be for money to "corrupt" the entire open-source-software paradigm; hopefully that is not the case.

Either way, you may want to check the new service out and decide for yourself whether it is "good or bad" for OSS software development.  Who knows... maybe Bountysource will implement a useful search feature for developers to locate projects that may be something they'd consider working on for money, and in tandem maybe they will find a way to (try to) ensure that submissions are not substantially-copied-source-code/fixes/etc that others have published or own already.  I will admit there are times where I would gladly pay a "bounty" to get an issue in certain OSS software fixed, or a feature implemented quickly, if I could... but, most of the time I am able to fix things myself, submit the fixes, and/or simply be patient and wait for a reported issue to be fixed or implemented by the developer(s).

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.

Tuesday, October 25, 2011

Saving Money in Information Technology and the Data-Center

Green Technology : Energy-Savings Techniques

Saving Money by Reducing Energy Consumption

I was just reading the Computerworld top 12 green-IT organizations list for 2011, and after many pages of reading, it was clear that certain energy-savings strategies were quite common across the range of companies featured in the article. I am all for saving energy, as this not only reduces the carbon-footprint of an organization, but it also saves money!

Some of the techniques noted should spur ideas about how you and your technology organization can save money by focusing on being "green".  Here is a summary of how the top-12 companies made substantial strides in reducing their energy consumption through energy-savings initiatives that led to real and measurable financial cost savings too:

  • Virtualization: this is a significant savings opportunity for many of the companies featured in the roundup of green IT organizations.  Virtualization is moving beyond server and network virtualization and into the virtualization of desktops also, for some of these companies.  The ultimate objective of this push into virtualization is to consolidate (computing) workloads onto as few machines as possible and achieve very high physical-machine utilization rates.

    Allstate Insurance was featured for its ability to reduce its total computing server and device count by 3,000 units while realizing a cumulative energy-reduction of nearly 40% in the past several years. NBC Universal virtualized 60% of their physical servers and shut down 2,000 physical machines. Northrop Grumman posted substantial energy savings through widespread virtualization also, and they are considering thin-client desktops for further savings. Citigroup has gone as far as to require all new servers be virtual, unless physical servers are justified; this has reduced their power and cooling requirements by 73%.

  • Cooling system efficiency: modern data centers pack incredible amounts of computing power into confined areas, and as such they require substantial cooling systems (i.e., air-condition).  Kaiser Permanente was a focus company in this area, as they achieved energy-consumption savings across their three data centers that are nothing short of incredible, "cutting an eye-popping 7.2 million kilowatt-hours of power from overall data center operations [this year] -- and over $770,000 from power budgets."

    How did they do it? They focused on everything from sealing up air leaks (which provided the biggest win) and a sophisticated real-time monitoring system for measuring cooling system efficiency.  They were able to reduce cold-spots in the data center (which are signs of inefficiency) and avoid overprovisioning power distribution and cooling infrastructure in general.  NBC Universal was also mentioned for having implemented similar smart power distribution units and rack-level environmental and power metering sensors, allowing them to increase rack densities by as much as 200%.

  • Raising ambient temperature (in the data center): the IT group at KPMG was featured for its efforts, which included "raising the ambient temperature in the data center to improve efficiency by more than 5%, raising the temperature of the water in the cooling tower to improve efficiency by 5%".  Raytheon was also featured for how IT cut energy use in each telecommunications closet by 30% when it raised the temperature by 10 degrees Fahrenheit to 75 degrees

    One related news bit I did not see mentioned in this Computerworld article was how Dell has recently announced that some of their servers (currently the R610 1U and R710 2U varieties) are capable of running at what is essentially typical outdoor-ambient-air-temperatures (in nearly all of the USA, and nearly all year round).

    These run-hot-capable Dell products (and Dell, the company and the stock: NASDAQ:DELL) are worth watching, as the energy-savings implications are huge for these high-operating-temperature Dell servers. There are also Dell storage arrays, switches, and power-distribution units that are certified to run hot.  I expect more computers (especially servers) will end up being certified to run hot like this, which could vastly reduce cooling costs for IT facilities as ambient air temperatures could approach outdoor levels (as such, lower cost air-movement by way of fans vs. chillers could perhaps become the norm for much of any year). 

  • Blade-Server technology: KPMG was again featured for its migration to blade server technology, with "the average blade server consuming about 50% less power than a comparably configured rack-mounted server".  Other firms were mentioned for their push to increase rack computing densities through such means.

  • Data-Compression and storage de-duplication to reduce physical hardware required to house company data.  The finance firm State Street was noted for its efforts in this area where they reduced storage use by between 40% and 50%.  This should lead to about a similar percentage savings on both power and equipment costs related to storage.

  • Private Cloud Computing and High-Performance-Computing (HPC) Clusters were mentioned by some of the top-12 energy-saving firms. "Baker Hughes created a high-performance computing (HPC) cluster that incorporates wake-on-LAN technology. In this environment, machines are turned on -- or "woken up" -- via a network message, and the company can wake up machines for use in the HPC cluster as needed. This setup uses 40% less energy than a dedicated HPC pool."

  • Solar Panels have been installed by some of these firms (KPMG), and surely other type of alternative-energy will become more common in data-center planning in the future.  I didn't see any mention of things like backup power based on modern fuel-cell technology or micro-turbines and such, but I would expect that some of this is in play for various firms.

  • Telepresence to reduce travel. Various firms, including KPMG and Allstate, were mentioned for taking steps to reduce employee travel, not just locally, but nationwide inter-office travel as well.  Technology for streaming video and web-conferencing are employed to make this possible.

    To me, it seems incredibly obvious that one of the largest "green" moves any firm can make is to enable workers to work from home whenever possible.  Though, simply put, I do believe that many workers are just utterly incapable of managing their time and remaining focused while working at home as they let all the distractions of home interfere; this explains why, with all this modern technology that would make a vast number of jobs possible from home, there still is not widespread work-from-home opportunity.  It will probably require $10/gallon gasoline to make a substantial change in this area.

Tuesday, August 30, 2011

Embarcadero Delphi XE2 New Features of Interest

Embarcadero Delphi XE2 Review of New Features — VERY Interesting Features!

I have been anxiously awaiting the official Embarcadero Delphi XE2 release now that this RAD (Rapid Application Development) IDE and Component-Set are poised to bring about some of the most exciting changes in Windows (and cross-platform!) application development seen in a long time. Yes, Embarcadero (formerly Borland, Inprise, and Codegear branded) Delphi is finally stepping up the application-development game and introducing some exciting technology to address shortcomings in modern MS Windows business-software-applications development.

Although many will cite the most interesting new features as those being support for cross-platform development, Windows 64-bit, Amazon Cloud API, Native iOS support, for me the obvious "killer feature" is the new vector-based UI-development component suite and technology called "FireMonkey". The reason I choose this as the "killer feature" is because 1) I have felt that Windows-UI development has been rather "stale" for years when building *native* (compiled executable applications), and 2) this technology is what certainly makes large portions of other features (like cross-platform development) even possible, and finally 3) I consider this technology capable of building real mission-critical business applications

Delphi XE2 FireMonkey : Vector-based User-Interface Development

Delphi XE2 FireMonkey: Could it be a Disruptive Technology?

FireMonkey is the moniker Embarcadero has applied to their new scalable vector graphics based Graphical User Interface (GUI) framework that is leveraging the capabilities of modern GPUs (Graphics Processing Units) for hardware accelerated cross platform GUI’s. If that sentence did not make it obvious: this is BIG, people!

FireMonkey really could be the disruptive technology we have been waiting for with regards to developing compelling UI's for business applications. It is about time scalable vector-graphics melded with mainstream business applications (and yes, I am aware that Flash and Silverlight are vector-based technologies; I just still do not consider them to be something I want to build any large-scale enterprise applications with).

If Embarcadero is successful at marketing this vision of how modern UI's should be developed, we could be on the cusp of a huge shift in *native* application UI technology (note: I consider HTML5/JS advancements also disruptive, but in a different way and for a somewhat different target-market).

So, vector-based User Interfaces (UIs) are soon to be a reality for Delphi developers and the software applications they create (and therefore Microsoft Windows environments), but FireMonkey holds even more promise than simply modernizing our UIs — this technology is what will allow resulting UIs to now be cross-platform capable. FireMonkey provides UI elements that will ultimately look the same across the various deployment targets: 32-bit Windows applications for Windows 7, Windows Vista and XP and Server OS's... 64-bit Windows applications for Windows 7, Windows Vista and XP; Server 2003 and 2008... and even Apple OS X 10.6 and 10.7 applications and iOS 4.2+ applications. What? Apple? Since that cross-platform development tool news is going to be of substantial interest to many people, I will discuss that later in this blog;likewise you have taken note of the 64-bit reference which will also be discussed in more detail.

Delphi XE2 FireMonkey: Where did it Come From?

FireMonkey is based on VGScene/DXScene, which was created by KSDev (Eugene A. Kryukov), and then purchased by Embarcadero quite recently (late 2010 - early 2011). KSDev sold VG/DXScene as a VCL component package prior to the acquisition, and KSDev's final release on 1/13/2011was considered "feature complete".

KSDev marketed their components as: "a Delphi VCL library for WPF-like framework with advanced controls, styles, graphics and effects", with the core functionality being built around a powerful vector-engine (similar in concept to how Adobe Flash works) with modern features like real-time anti-aliased vector graphics, resolution independence, alpha blending, gradients and special visual filling,etc.

I actually looked into using DXScene / VGScene back over a year ago when I found myself, once again, thinking how outdated my Delphi GUI applications looked and how utterly annoying I found it that native executable Windows applications (in general), and the UI elements that made up these GUIs, did not SCALE easily when switching between various screen-sizes and pixel-densities, and that there was no easy way to give my applications the refinements to look more "modern" without purchasing a bunch of third-party controls. And, purchasing third-party controls to address the issue of modern "look" still did not resolve the issues with easy scaling of the UI-elements.

After looking at the KSDev stuff, I actually opted not to embrace their components for a few reasons. First and foremost (at the time) I considered them to be a high-risk "niche" component-set that I was unwilling to risk building mainstream applications for my customers with. I have seen all too many Delphi VCL component sets wither (think Rave Reports) and/or completely die-off over the years, and even if source-code is available, many component sets are just so specialized that it would take far too great of an investment to continue to use them in the event the developer "gave up" on them or failed to produce necessary bug-fixes and so on. KSDev had a neat thing going with their components, and thankfully Embarcadero has picked up that work and provided the credibility and reassurance I need to actually implement business-applications using that technology now in Delphi XE2!

Delphi XE2 FireMonkey: Is it Like X, Y, or Z?

This cross-platform application framework uses GPU-accelerated vector graphics to render UI elements, D2D/D3D (Direct-2D / Direct-3D) on Windows, and OpenGL on OSX. You can think of it as similar to Silverlight OOB or Jupiter (the new “application model” for Windows 8), or even Adobe Flash. When I consider the goals of Microsoft's "Jupiter", I have to wonder if perhaps FireMonkey is essentially the same thing... here is what a ZDNet article from early 2011 described Jupiter as:
Jupiter is going to be a new user interface (UI) library for Windows, built alongside Windows 8. It will be a thin XAML/UI layer on top of Windows application programming interfaces and frameworks for subsystems like graphics, text and input. The idea is Jupiter will bring support for smoother and more fluid animation, rich typography, and new media capabilities to Windows 8 devices.
Hmmmmm... sure sounds quite similar with regards to the end-result (the UI people see), though thankfully the FireMonkey implementation is not a pile of XAML and over-complexity that Microsoft always seems to come up with.

Instead, FireMonkey uses the familiar Delphi (object pascal) language and VCL (Visual Component Library) paradigm for its implementation, and compiles to native code. To me, being able to work with FireMonkey is just like working with any other VCL components, and honestly anything that keeps my from having to learn yet another Microsoft UI-technology-of-the-day is a plus (I just can not deal with XAML).

FireMonkey: Will Microsoft FUD Bury it Before it Takes Hold?

At least part of me is concerned that Microsoft will somehow work its usual FUD (Fear, Uncertainty, and Doubt) campaign against Embarcadero (with regards to FireMonkey) as they work feverishly to bring their own "Jupiter" vision and Windows-8 to market.

For all you LONG-TIME Delphi developers, do you remember how the Visual Basic vs. Delphi thing played out over a decade or more? Clearly Borland was (what should have been) light-years ahead in the RAD IDE and component-based Windows development tools/language space (especially in OOP that people could understand; unlike C++ which dominated mainstream "real" Windows apps prior to Delphi), but Microsoft worked very hard to convince developers (and corporate management) that investing in Delphi was a bad move... that Delphi was too risky,.. all the while working to "catch up" with Visual Basic and push that as the "solution" to corporate UI-development needs. I have used Delphi since version 2, and the fact is, Microsoft was not even remotely close to having anything as capable until perhaps the days of Delphi 2006.

As we all know in retrospect, Microsoft's strategy worked in a BIG way and only after burying Delphi and relegating it to the niche-market they fabricated through FUD did MS create a semi-decent (though wildly bloated) component set of DotNet and the reasonably nice C# language (which is clearly based on Delphi to some extent). I am concerned that somehow Microsoft will wage such a war again if they decide Embarcadero is a "threat"; or, do they even need to?

The fact is, Microsoft's decade+ campaign of marginalizing otherwise promising, and even superior, development languages and technologies has been so successful that Embarcadero has a monumental task ahead of it: convincing mainstream corporate developers to actually embrace this technology. Good luck with that!

There are so many "competing" priorities pulling at corporate IT-folks and budgets that I see this as a battle that is going the be VERY difficult to win without some serious willingness to put some flesh on the line and suck up some losses while doing "a Microsoft" and dumping the product out there en masse, and even at a potential loss, to foster widespread adoption so as to gain the all-important "critical mass" necessary to propel the product forward and create a self-sustaining win vs. a self-fulfilling-prophetic-loss situation (for lack of developer density, etc).

FireMonkey is also up against HTML5/JS hype, up against Silverlight/Flash and the forthcoming "Jupiter", and so many other competing technologies... how is it going to gain traction? When we (developers) search sites like Dice.com and see essentially ZERO postings for Delphi developer jobs (compared to oodles of C# or Silverlight or HTML5/JS jobs), what are we to do? 

Embarcadero best be thinking long-term and be willing to take a bit of "a hit" (financially) to gain a foothold, or the simple fact is: the niftiest technology in years for UI development may make little difference to market penetration and adoption. Get your marketing/sales team (especially the latter; since "marketing" is sales without responsibility for producing revenue) ramped up NOW Embarcadero, and have them start working some serious deals with software developers to get them to use this product! OK, enough said... on to more about this tech...

FireMonkey: Embrace it, and Embrace Changes to Your Existing Applications

FireMonkey is an entirely new framework for UI-development, and as such, it is incompatible with your current/traditional VCL-based UIs and you are not going to be having co-existence in the same application (i.e., if you want to port an existing application UI to the new FireMonkey technology, you will have to rewrite your GUI code).

This sure sounds a bit overwhelming, but I really think this gutsy move by Embarcadero is what will actually give FireMonkey a fighting chance — the technology is not encumbered by the burden of legacy support! This makes the implementation MUCH cleaner — we all can attest to how much we welcome the opportunity to write an application or component "from scratch" as compared to modifying a many-revision-old, widely used (and thus many possibilities to "break" something), piece of code. I expect this new code to be architecturally solid and much more ideal thanks to separating it from the older UI-VCL components.

FireMonkey Components are Containers

You will also have to get used to a bit of a paradigm shift with regard to how components are assembled, and I think it is another shift that is for the better and about time: FireMonkey components are all containers, meaning you can embed any component inside any other component. When you think about it, this makes total sense.

Something as simple as a button-component is composed by assembling 9 components that, when put together, produce what looks and behaves as a Button should. A FireMonkey Button consists of: a TLayout component to organize all control layout, (3) TRectangles for border, background and foreground color, a Label represents for the Button text, and then a group of four additional components (two each, for animation and effects).

The animations are going to give us the visual mouse over/out on the button (like we are used to seeing on websites for years), and the effects can occur on events like button-press, onfocus, etc and make even niftier things like "glow" effects happen and so on. This type of animation/effects ability is present throughout all of FireMonkey components thanks to the way these containers and component-buildups can be implemented.  I look forward to using this to "modernize" the look and feel of my applications, though we all need to keep in mind that this could be over-used quite easily.

You may also want to think about how to standardize the look/feel of your application elements, and thankfully FireMonkey implements what is a parallel to CSS Styles through their own FireMonkey "Styles". I am not yet sure how far these Styles can be pushed, but I am hopeful this first version is good enough for most things. I think about how CSS has gone through a lot of change as we push into CSS3 now, and I wonder if future iterations of Delphi XE3, XE4, etc will be extending the power of their own Styles just like how CSS keeps growing its abilities.

In some regards, these Delphi FireMonkey styles are quite a bit more advanced: you can implement things like blurs, animations, and so forth, via styles. Again I have some concern about pushing UI-glitz TOO far, but, no matter what, Styles should make standardizing and quickly updating the look-and-feel of applications a LOT easier!

Perhaps FireMonkey applications will be the advertising-force Embarcadero needs to gain further recognition: when users and developers start seeing native applications that are simply stunning, they may start to ask "what is that written in?" This could be a positive thing, but I also can imagine some applications getting so ridiculous with animating every last aspect of the UI that, when that previous question is asked, it will be with a bit of disdain or ridicule.

Hopefully we all use this power wisely :)


What about Non-Visual Components?

You may already be thinking: what about all my VCL components I use like TList, TStringList, etc.

Have no fear: these non-visual components will remain the same as what you are used to and will also be usable from your FireMonkey-based-UI applications. The fact is, if you have already done a decent job of separating your UI-implementations from the underlying event-code, database-interaction, and such, you may not have TOO difficult of a time updating your applications.

You are not going to have "data-aware" components like TDBMemo anymore under FireMonkey, but of course there is an alternative way of going about this. The new "LiveBindings" within the FireMonkey framework allow you to connect any type of data to any UI or graphical element in VCL / FireMonkey; consider this a mechanism for creating "live" relationships between objects and also between individual properties of objects. It has some serious potential!

I am excited by this feature, and look forward to seeing how far I can push these live-interrelationships. LiveBindings are going to allow you to do thing you can not do with existing data-aware controls too. And, LiveBindings are *not* just limited to FireMonkey controls (i.e., there is support for this technology in the "old" style VCL too as part of Delphi XE2 updates). You will be able to do things like bind the "Caption" property of a TLabel to the Field-values in a dataset (or the column-name, etc), and much more.

Since the "bindings" are accomplished using an expression-engine (vs. just simple hard-coded bindings) you can bind on evaluated-values. E.g., bind your label control's caption to an expression like TDBColumn.DisplayName + " column value is:" + dataset.field.valueAsString (pseudo-code used for example). You get the idea. It really is powerful.

But, that is not all... If you choose, you can implement bi-directional property-to-property bindings (which, sure sound like data-aware-like functionality). This bi-directionality implies something somewhat profound: it should be possible to consolidate UI-element-frameworks to no longer require those TDB...versions of each control (i.e., remove the need for "data-aware" versions of each control), since something like a Label can be bi-directionally "bound" and suddenly be that data-aware-control.

This is going to take some hands-on experience to get used to, but it is a significant step forward (and, should bring writing "data-aware" custom controls into the realm and reach of many more developers; I say this because I have always found writing TDBxyz data-aware custom components WAY too difficult!).

Note: I have read that the expression engine used by LiveBindings is available to us in our programs to evaluate any ObjectPascal expression dynamically at runtime; this should make for some interesting neat applications too!

Cross-Platform Native Applications using Delphi

OK, this topic certainly deserves some attention, especially from all of us that can still remember the days of Kylix, which was a nifty idea but one that failed miserably for all sorts of reasons (one being the simple fact it was not maintained at all after early releases). Well, with that memory pushed aside, let's think about the prospects of true cross-platform NATIVE-code deployment again.

As mentioned earlier, FireMonkey provides UI elements that will ultimately look the same across the various deployment targets: 32-bit Windows applications for Windows 7, Windows Vista and XP and Server OS's... 64-bit Windows applications for Windows 7, Windows Vista and XP; Server 2003 and 2008... and even Apple OS X 10.6 and 10.7 applications and iOS 4.2+ applications. In addition, there is some speculation that Android support and Linux will be forthcoming soon after the release of Delphi XE2 (hopefully as a free update!!)

The IDE Runs Only On Windows : but, you can deploy to other targets

It is not surprising that the Delphi XE2 RAD IDE runs only on Windows, though part of me wonders if Embarcadero will get around to converting the IDE to be FireMonkey-based (if even remotely possible?) and make the IDE run on any target-platform. Regardless, for now it is Windows only (as it always has been; aside from Kylix), and we developers will have to go through a few extra steps to compile and deploy applications to the Apple targets.

Delphi for Apple OSX/iOS

From what I have gathered via online discussions (I have not tested the Apple deployment stuff at all, nor do I have much initial concern for it even though long-term I expect to support Apple targets), Embarcadero / Delphi is apparently relying on the FreePascal Compiler (FPC) to compile code for deployment to other (non-Windows) target operating-systems. 

The FPC compiler will use the same source-code you have written for your Windows-based applications (that Delphi's compiler used to generate Windows binaries) and the FPC will generate binaries (i.e., native apps) that can be run an Apple / Mac computer and/or iOS device (i.e., single collection of source code yields multiple-platform-specific binaries, thanks to some FPC help).

There are also significant limitations with what all can be simply recompiled and deployed to the Mac. I am under the impression that outside of FireMonkey, substantial portions of the VCL will not be available on the Mac yet (I may be wrong). And, I really can not imagine some things EVER being supported on the iOS/OSX platform (especially some of the "native" database-access stuff).

You will certainly need to use FireMonkey for any UI you plan to have run on the Apple side of things, but in addition, I suspect there will be all sorts of other caveats regarding what will and will not "port" directly simply via a recompilation. Again, I see the Apple thing as a longer-term possibility for me. I'd be more intrigued with Linux deployment immediately (since I have Linux running in a Virtual Machine or two). Time will tell. I look forward to seeing what people are able to achieve on the Apple platform with Delphi XE2.

Delphi Applications for Cloud / Hosted Scenarios

I came across a sentence online somewhere stating that "Delphi and C++ applications can be deployed to Amazon EC2 and Windows Azure, with support for Amazon Simple Storage Service API, Queue Service, and SimpleDB." This is interesting, but I really do not know exactly what was needed to support this, and so far, I have not had the need for this.


Delphi XE2 64-Bit Support

Native 64-bit Windows applications are something that quite a few Delphi developers have clamored for over the past couple years, and apparently they are getting their wishes fulfilled. Delphi XE2 is to include support for Windows 64-bit machines, including a debugger and deployment manager. And, it looks rather easy to deploy an application as a 64-bit applicaition.

In the Delphi XE2 Project Explorer you will see a new node under each project where you can choose your "Target Platforms". By default, your existing projects are going to have a "target platform" entry that is ideal for deploying to 32-bit Windows. Next, you can add your new 64-bit Windows platform target node to the tree, select it, recompile, and voila!, you have a 64-bit executable.

I do not know how many developers really "need" 64-bit capabilities (like is necessary for addressing very large blocks of memory or working with 64-bit integers, etc), but now the capability is there and Delphi need not be considered lacking in this regard. You will have to do some (most likely) minor "code review" to make sure you to not have any code that is for some reason only 32-bit-safe; e.g., you are doing some bit-level manipulation shifting bits around in INTs, doing crazy things with pointers, etc. I do not expect most people will have significant work to do in this regard prior to 64-bit compiler and deployment use.


Delphi Reporting Components Update : Finally!
Goodbye Rave Reports (Junk!)

OK, I could not obtain 100% confirmation of this quite yet, but rumor has it that Delphi XE2 will include FastReport VCL 4 RAD Edition reporting tool — whether true or not, the fact is I refuse to invest ANY more time using Rave Reports (what a buggy pile of @#!@ that is an embarrassment that needed addressed; Nevrona's pathetic "support" and glacial pace of resolving any issues and bugs caused me and many others to become utterly fed up with the product and move elsewhere).

FastReports surely has to be a better option by a long-shot, as it is actively maintained and developed. Compare that to how Nevrona can not even update their *website* for years on end. I can not believe how long it took Embarcadero to move past Rave Reports... perhaps they made the stupid move (or Borland did) of signing some longer-term contract with Nevrona without any sort of "out" for them not meeting certain quality criteria, support criteria, etc. Who knows. But, I am excited by the prospect of having a good reporting tool (by default) included with Delphi!


Other New Features in Delphi XE2 Worth Noting

More details will emerge quite soon. In fact, I am supposed to listen to a Webinar about the product-launch tomorrow hopefully a near-term Delphi XE2 release-date is to be announced. And, I also hope the RTM (i.e., final, release-ready) version of Delphi XE2 is truly "ready" and not full of a bunch of annoying bugs.

My guess is that like most recent releases, there will be an update-pack available for it nearly as soon as it is officially "released"; hopefully it is solid enough to be truly prime-time ready. I have quite a few Delphi applications I want to update to take advantage of these new features ASAP.

I am not a big "DataSnap" user, but this release is supposed to have a fair amount of updates to that functionality. There are components and functionality related to that new "Cloud" stuff like TAzureQueueManagement, Amazon Simple Storage Service API, Amazon Queue Service API, Amazon SimpleDB API, and so on. I think the Documentation Insight is new (Delphi XML documentation tool) too.

Either way, there is a LOT of new stuff packed into this XE2 release, as already discussed. To me, the FireMonkey stuff alone is a HUGE chunk of functionality and makes me quite eager to start building some fantastic XE2-based applications leveraging these features.


Delphi XE2 — CONCLUSION: Enterprise Applications are Poised for a Major Update

As reported in this brief SD Times article and interview, Michael Swindell, senior vice president of product management for Embarcadero, seems to be clearly positioning Delphi XE2 and FireMonkey where I see it making the most sense: business applications:
“We know where we should be going with the experience of non-entertainment applications,” he said. [in reference to the fact that FireMonkey ships with about 200 user-interface controls that include GPU-powered scalable vector and 3D effects] 
[...] 
Swindell emphasized that FireMonkey is focused on heavy-duty business applications—not entertainment or advertising sectors, where rich Internet applications already are strong. To that end, FireMonkey introduces a feature called Live Binding, which lets developers bind any UI control or graphical element to any data source, he said. Native CPU application execution and data access allow FireMonkey applications to perform at a very high level, he added. 
[...] 
“We saw this as a gap and as where applications need to go,” Swindell said. “Companies continue coming out with 1990s-style Windows Forms applications and rolling their own frameworks. There hadn’t been anything out of the box to get [developers] there quickly and with a lot of power.”
I could not agree more with that concluding quite about the "gap" that existed. Being a business software developer, I am ready to address that gap and use Delphi XE2 to do so.

Here's hoping Delphi XE2 / FireMonkey gains some widespread adoption and ushers in an age of resurgence in Delphi software development!

Thursday, March 10, 2011

USA Trade Deficit : OPEC factor. How to reduce it!

Why are these constant and increasing trade deficits "unexpected"?  I am so sick of reading that type of headline, when it is so obvious that we (as a country) are not doing anything to alter our behavior in a way that would actually bring about long-term trade-deficit reductions.

The latest report I read on Bloomberg today was titled: "Trade Deficit in US Widened More Than Forecast in January".  I just laughed when I saw the title with the "more than forecast" (since economists constantly botch this), and as I read the article and encountered words like *unexpected*, it just reinforced my view of the USA and its inability to recognize a systemic risk to our way of life. Money is going out of here that is NEVER coming back, and it is doing so at such an astonishing pace that is is almost unfathomable.  But, we do not change.

I can not help but find myself getting very frustrated at the stupidity of this country racking up insane trade-deficits with China and OPEC (nations).  This latest report shows "The trade gap with China grew to $23.3 billion from $20.7 billion as imports rose and U.S. exports declined. The U.S. shortfall with OPEC nations widened to $9.9 billion as imports increased to the highest level since October 2008."  Well, when it comes to the sound-bite media, we always keep hearing about CHINA and trade deficits, well... what about OIL?

OK, can we please take note of how huge the OIL side of this equation is?  OPEC is like their own mega-country that is sucking a full 1/3 of the total China/Oil trade-deficit total.  This is an incredible sum going to fueling and heating our country.  We really need to do something to ween ourselves off this externally-sourced energy supply and stop the hemorrhaging before it gets worse.  And, it WILL get worse.  We never learn!  Do you remember the 2008 election promises to finally, this time, break our dependence on oil (as our dependence was killing us with $4/gallon++ gasoline back then)... and, here we are, after all those "this time will be different" (which I laughed at back then KNOWING it would not change)... it is still the same!  We are collectively moronic in our behavior.

Why did this become a politicized battle between the "right" and "left" in the USA?  This is a NATIONAL SECURITY ISSUE... our security is so at risk (over externally supplied energy) that is should scare the heck out of us, but it sure seems to not matter enough to address it.  If I were the President right now, I would address two issues at once: the budget, and this energy issue (and jobs too).  The "untouchable" military budget needs to be partially-redirected toward National Security in the form of building out an internally-sourced-energy infrastructure that will make us more secure.  If it is the only way to allocate funds to such a massive effort, so be it!  Who else has 1/2-Trillion/year budgets to tap into?

We need to work on updating our power grid and DE-CENTRALIZING our power-generation.  I do NOT mean "clean coal" (which is bull@#$!) or other net-carbon-intensive energy production, but rather a distributed series of solar, wind, biofuels (non-food-competing) and the like, all tied into a smart-grid and using superconducting-wire to save the 50% efficiency loss we suffer currently on the grid.

I keep seeing all sorts of advertisements from OIL companies saying how they are working on biofuels, solar, geothermal, etc. And, who better to work on these things?  They have the distribution abilities for the liquid-fuels and gases - like those that would result if we use solar/wind to create hydrogen for widespread use, or methane captured from bio-production, or bio-diesel, etc.  They have the drilling expertise to do large-scale geothermal wells to tap massive heat-stores deep underground.  They even have the wind/solar (companies like BP have pretty good sized solar-production and wind-farm investments already).  They have the rig-builders for erecting massive off-shore windfarm platforms. What they perhaps need is a darn-good incentive to really make the move to these things: give it to them!  We are draining $120BB/year out of the USA just for oil!  Funnel that into alternatives and the incentivising of alternatives (i.e., massive tax-breaks and credits).

Wake up people... if we refuse to tackle the massive China trade-deficit issue, let's at least target the oil issue. And, perhaps some more GREEN jobs would be available to help the unemployment picture at the same time!??  This country is otherwise to remain totally messed up!  $10 BILLION PER MONTH is going out (on oil), and not coming back. $120BB/year!

Do you realize how much eco-friendly-power-generation capacity, and how many JOBS related to that, we could be had for $120 billion per year? WOW! With solar arrays approaching $1/Watt (heck, lets call it $2/watt for high-estimate)... we could purchase, in ONE YEAR, 60 GIGAWATTS worth of solar capacity just with what we would have spent on oil!! Holy cow! And, wind is cheaper than solar, generally!  Realistically we can not realize that level of watts/dollar, as the issue of supporting infrastructure requirements come into play, but we can sure implement a LOT of capacity.  And, this is capacity that keeps paying us back year-after-year (have you heard the term "renewable"?!)

Let us put our drilling-crews to work boring some mega-geothermal projects; let's get those rig-builders building off-shore platforms for large-scale wind-turbines (these oil guys are VERY experienced at building large platforms in water of all depths!), let's get some of our unemployed people back to work by connecting an up-to-date power-infrastructure, building and erecting solar/wind systems, and implementing biofuels facilities.  Now!

Are we otherwise trying to prove that we are a culture that has lost all sense of reality and reason, and show that we can live in denial forever?  From what I constantly see in action, I would swear this to be the case.  Collectively we stand by and watch our standard of living erode as we all whine about it, but yet we also continually vote for politicians that will not stand up and do anything substantial to change our ways.  I am an American, and I want to live in an America that wants to show it has the vision and drive to right itself and do so in a manner worthy of world recognition.  We have the talent.  Let's put that talent to work freeing ourselves of this foreign-energy addiction and constant money-suck that is jeopardizing our way of life.

Thursday, December 16, 2010

Education vs. Income : China proves Bernanke wrong

If you find the current economic situation in America disheartening, and you want to understand "why" things are the way the are with regards to high unemployment and the massive disparity in wealth between the upper few and the rest, do not listen to Federal Reserve chairman Ben Bernanke: he is out of touch with reality! He may be a very smart guy, but he seems to be missing some blatant truths about what is going on at a macro-level in the USA and worldwide.

One of Bernanke's favorite "reasons" for the ills of this economy is: education. I watched him on a TV interview last week where he cited educational differences as one of the core determining factors between the have and have-not groups. I personally beg to differ Mr. Bernanke, and a morning story on CCTV (China Central Television) backed my position completely...

When it comes to Education vs. Income, it is just what I keep saying: a standard supply/demand curve sets salaries and earnings; that is all, nothing more. Education used to place you in a supply-constrained-group; not anymore.


China proves Bernanke wrong...China just proved it. The college-educated Chinese citizens were, just a couple years ago, on average making 4 times what the blue-collar factory workers were making in China. But, China is now experiencing an abundance of persons with degrees in accounting, engineering, technology, etc... and, those same college-educated persons are now making on average only 2 times the blue collar wages. The CCTV news show discussed how it is purely a matter of supply/demand for both sectors (white/blue-collar) that is forcing this narrowing in wages. 

China currently has an increased need for "low skill" labor, which has pushed the wages for the low end up while the college-educated job rates slow, stagnate, and decrease relative to the other group.


OK, Bernanke... how is the USA any different?There is a global glut of educated workers. As such, global wage-equalization is underway.

Makes you want to run out and get an MBA, doesn't it? NOT.

This premise that Chairman Bernanke makes, that lack of education is limiting incomes, is simply absurd in today's global economy. Sure, education *helps*, but it will not help beyond the point where supply exceeds demand for any one group of skilled labor - including college-educated labor.


SUPER-MACRO-EXAMPLE
The fact is, if EVERYONE on the planet had a college degree, and everyone had similar intelligence to back that degree, there would still be a need for "unskilled" labor in factories and in less desirable positions. And, who is going to serve up the Starbucks coffee in the morning... you got it: a college-educated person. And, pay differences are going to emerge like always, with stratification that does not reward education, but rather rewards being lucky enough to get one of the better jobs. 

There will still be the group on Wall Street that rewards themselves handsomely for doing nothing more than moving money around (electronically) and taking a "cut" and calling themselves brilliant investment bankers, private equity managers, and hedge-fund barons. It will have nothing to do with their education... just their position in society that allows them to siphon off huge amounts of cash from the productivity of everyone else in society.

Oh, wait... I just described the current economy in America!

What is REALLY wrong with the economy?
Bottom line: Bernanke needs to wake up and see the real issues of what is going on with the world economy and why this recession is now a supposed "jobless recovery". It has little to do with education. I, and many other people, know people with exemplary employment records and fantastic education credentials (including advanced degrees) that are unable to get work. 60-Minutes did a story where they featured a large roomful (100s) of the unemployed persons in Silicon Valley that were, predominantly over 40 and when asked what education-levels they had obtained, the majority of hands in the room were raised at "Masters" level and a large percentage were still raised at "doctorate/PhD" level.

Bernanke: how can we expect you to HELP this economy when you clearly do not understand the macroeconomic forces at play? Or, are you fully aware and just want simple excuses for the underlying mess that will never be addressed?

That underlying mess I refer to is an economy where:
  • large numbers of college-educated persons can not find employment commensurate with their training or skills; 
  • a *few* at the top of the economic food-chain, or the "top" as they have defined it to be, sit back funneling all the productivity out of this country via their instantaneous intraday flash-trading on Wall Street, whether for the banks they work at or the hedge funds and private equity firms and so forth; 
  • there is "no inflation", but yet the volatile food-and-energy group, and any other thing that one truly *needs*, only goes up in price, and goes up faster than "inflation"; commodity prices are surging worldwide, yet there is "no inflation"... sure!; 
  • there is no way for people to get any return on savings, though we always here how the USA got into this if from "lack of savings". Great, so now anyone who saves can look forward to .1% (yes, a tenth of a percent) or thereabouts on a "savings account" while large banks hit the same people up for 15+% on their credit-card interest rates. That is a 15,000% difference between what "savings" earn and what revolving-debt costs; need I say more? 
  • it is nearly impossible to find ANY USA-MADE ITEMS AT STORES anymore. Period. I search to no avail. How am I to "stimulate the economy" (in the USA) if I can not find a way to spend my money on an item that would employ US workers? It gets worse every day. 
  • Corporate America is moving jobs out of here as fast as they can... whether to dodge environmental code in the USA or to avoid the cost of benefits here or any other potential liability of having workers in the USA, they are rushing to China and other low-cost suppliers because our laws make it easy for them to do so. 
  • IP (Intellectual Property) rights are only enforced when violations affect the largest of the large companies; aside from that, anyone starting a business these days will likely see their work stolen, cloned, or otherwise reproduced within a few months of product-launch, and there will be no repercussions. You will create a new product only to see a cheap Chinese knock-off on the market in no time. So, starting a product/business in the USA becomes even more foolish, and thus jobs do not stay here. 
  • Tax-code that favors the highest-wealth people and our government that is "owned" by those people: I am sick of hearing things like "the uncertainty over taxes is preventing corporations from hiring"... GIVE ME A BREAK. There is no uncertainty! It is certain that, at worst case, taxes will revert to pre-Bush-tax-cut-levels... and, anything else is just a better case. How is a 2yr extension of a tax-cut going to lead to anything beyond another supposed "uncertainty" at the end of THAT 2yr period? Ludicrous argument! 
  • And, we borrow money by the Trillions to pay for the implementation and materialization of the list I just enumerated!


Conclusion
I could continue enumerating all the (real) issues with the economy, but it will make no difference unless some people with influence start standing up to fix this mess.  And, fixing it is not just extending a tax-cut that favors the top one or two percent of the population.  Fixing it requires some serious change.

If we do not start creating jobs to provide educated workers with opportunity in-line with their skills, things are only going to get worse.  And, when China is already showing signs of a glut of educated workers, get ready for further wage-pressures here in the USA and even more unemployment among those educated persons that Bernanke seems to think do not exist in large enough quantities already.

Tuesday, November 30, 2010

SSN Theft : OK if "not knowingly"; RIAA theft: "not knowing" not valid excuse.

I began today reading the various news headlines, and I soon encountered an article in particular that made me think: YOU MUST BE JOKING!

Essentially, courts are ruling that, in some cases, STEALING SOCIAL-SECURITY NUMBERS is "OK".  What the @#??!

Here is an excerpt from the article that you may find very enlightening:

"Is using a forged Social Security Number -- but your own name -- to obtain employment or buy a car an identity theft crime? Lately, U.S. courts are saying it's not.
The most recent judicial body to take on the issue, the Colorado Supreme Court, ruled last month that a man who used his real name but someone else's Social Security number to obtain a car loan was not guilty of "criminal impersonation," overturning convictions by lower courts.
That follows a ruling last year by the U.S. Supreme Court that a Mexican man who gave a false SSN to get a job at an Illinois steel plant could not be convicted under federal identity theft laws because he did not knowingly use another person's identifying number. The ruling overturned an opinion by a federal appeals court in St. Louis -- and contradicted earlier findings by circuit courts in the Southeast, upper Midwest and the Gulf states."

So, if you are planning to steal (or, "borrow") another person's SSN#, just make sure you do not "knowingly" do it, and it is suddenly not such a bad crime; or, so says our various courts.

But, is there any consistency to what our courts are saying with regard to theft these days?
Read on, and prepare to be sick...

HYPOCRISY EXEMPLIFIED:The SSN-stealing story made me recall another story from just a day earlier about how The U.S. Supreme Court declined to hear the first Recording Industry Association of America (RIAA) file sharing case to cross its desk: a case that tested the so-called “innocent infringer” defense to copyright infringement.


Definition Note: an "innocent infringer", with regard to Copyright law, is someone who does not know they are committing copyright infringement.

Why do I bring this up?  Well, as I see it, this RIAA case (against someone who has supposedly NOT KNOWINGLY broken the law), has an outcome that stands in stark contrast to the outcome for someone stealing (or, supposedly "not knowingly" using) another person's Social Security Number for their benefit.  And, what is the penalty in each case: steal an SSN unknowingly, avoid prosecution.... unknowingly violate laws as you download some songs from the Internet and invoke the wrath of the RIAA, and pay $750 per song as your penalty.

Am I the only one that sees the sick hypocrisy in all this?
Here is another excerpt from the article discussing the RIAA court battle I refer to:
"The case, which one [Supreme Court] justice voted to hear, leaves undisturbed a federal appeals court’s decision in February ordering a university student to pay the Recording Industry Association of America $27,750 for file-sharing 37 songs when she was a high school cheerleader.
The appeals court decision reversed a Texas federal judge who, after concluding the youngster was an innocent infringer, ordered defendant Whitney Harper to pay just $7,400, or $200 per song. That’s an amount well below the standard $750 fine required under the Copyright Act for each violation.
[...]
A Texas federal judge had granted Harper the innocent-infringer exemption to the Copyright Act’s minimum fine, because the teen claimed she did not know she was violating copyrights. She said she thought file sharing was akin to internet radio streaming.
The 5th U.S. Circuit Court of Appeals, however, said she was not eligible for such a defense, even though she was between 14 and 16 years old when the infringing activity occurred on LimeWire. The reason, the appeals court concluded, is that the Copyright Act precludes such a defense if the legitimate CDs of the music in question carry copyright notices."
Wow,... what a pile of #$^*!  This RIAA case and legal conclusion is especially a pile of dung when reviewed in the context of how the "not knowing" defense has been applied to SSN-theft SUCCESSFULLY - proving that SSN numbers are less important than downloaded music, because that is what certain businesses and lobbyists have had decided for us.

I guess that all I need to do is write a copyright notice on my SSN card that states: "If someone other than I uses this SSN#, they are violating identity-theft laws and in addition they are violating my copyright and owe me $750 in addition to actually damages incurred".  The fact that they never SEE this notice (just as someone without the Music CDs in question in this RIAA case will never SEE the notice), is irrelevant: they have violated my notice, and I can collect, right? (doubtful: I have no recording industry behind me)

This makes me think: the government should re-print SSN cards now, and include a copyright notice on them, and charge everyone who steals Social Security Numbers a fine for copyright violation (as a form of revenue-raising, since they obviously will not enforce identity-theft laws).

LEGAL LESSONS LEARNEDSo, what have we learned from this? In summary, we can conclude that: it is OK for ignorance of the law to be a valid legal defense, so long as the ignorance led to a CORPORATION BENEFITING from the ignorance; whereas, if a corporation or organization representing a conglomeration of businesses or otherwise excessively wealthy people (like the RIAA does for the recording and motion-picture industry and its artists), then you can suddenly NOT plead ignorance of the law, even if you truly did not knowingly break the law.

Industries that need cheap labor [and get it by exploiting the illegal-alien labor pool] can benefit from the rulings that SSN-theft is not identity theft if done "without knowing" and for the purpose of employment or such.  The recording industry can benefit from the ruling that someone downloading copyrighted works "without knowing" is still guilty of theft because the downloader should have first read the copyright notice on the original CD or movie label (the label never in their possession) prior to downloading -- i.e., there is NEVER a case where someone can "not knowingly" violate copyright law.

Am I the only one that sees the insanity in this?

Wednesday, March 11, 2009

Software Bloat: Acrobat Reader Executable Size Growth over the years

Does this image say it all? Since I develop various software applications that, among other things, create reports in Adobe's Acrobat / PDF format, I tend to keep quite a few versions of Acrobat reader around for testing my program output with. And, I just could not help laughing when I looked at my file-server's Acrobat Reader executable programs directory, where, since 1997, I have accumulated versions of Acrobat Reader 3.2, 4.0, 5.0, 6.01, 7.05, 8.12, 9.0, and now the newest addition of Acrobat Reader 9.1

Check out the Software Bloat factor in Acrobat Reader over the years:


What started as a simple utility to display PDF files (Portable Document Format files from Adobe), has grown from an under 4Megabyte (MB) installation program to a whopping 42MB installation for Adobe Acrobat Reader 9.1 - which now includes things like Adobe Air and Acrobat.com and all sorts of other ridiculous crap.

I find this all crazy... how a PDF-Reader application can grown 10-TIMES in size (for the installer executable download) in a period of 12 years. Sure, it is no worse than Microsoft Windows or most other major applications that also seem to grow by orders of magnitude over the years, but why?

Is there really that much more functionality in the applications these days to justify this explosive file-size increase, or is it lazy software develoment, a lack of tuning, a lack of focus on clean and efficient code and re-use, or a combination of all the above? It is just hard to accept (for me) why a program designed to allow me to view PDF files on any computer must require a 40MB Download (I will not even get into how insanely large the post-installation size-requirements for this application are!).

I remember the days when I had an entire operating system (on a TRS-80) running in a mere 32K of RAM with simple word-processing programs, games, and the like. Sure, those programs were much simpler, and did not have modern GUI desktops and flash, but the entire OS AND PROGRAMS ran in 1/1000th the memory that this latest Acrobat Reader intallation program download is. Unreal.

This begs the question: what will Acrobat Reader 10 be like, or Acrobat Reader 11, or Acrobat Reader 12, or Acrobat Reader 13, or Acrobat Reader 14, etc... will we hit a ONE GIGABYTE download for their future PDF reader eventually? Given the history, file sizes have gone up to nearly 11-times their size in about the same number of years, and the version numbers at about 1 for every 2 years... so, in a decade, expect a 1/2-GB install of Acrobat Reader 14! It is coming! And, you will be using it (note: I use Acrobat Reader nearly daily; many people do)

Wednesday, January 21, 2009

Allstate, American Funds : Misleading Advertising

Even after all the current financial market and investment related issues that have swept the market, I keep encountering advertising and marketing propaganda from investing, insurance, banks, and related financial companies that are nothing short of misleading - if not plainly incorrect or impossible.

Allstate (Allstate Insurance Company - NYSE:ALL)
The first example of misleading advertising I want to point out is from Allstate Insurance Company / Allstate Life Insurance Company. I was reading the February 2008 issue of National Geographic, and noticed the Allstate advertisement that occupied the entire back cover of the magazine.

This advertisement was about women, and how the average woman spends 11 years out of the workforce taking care of family - and, how this left the average woman without enough retirement money, due to missed earnings and corresponding missed 401K contributions during the same time. I am OK with this argument in concept, but where it fails is the specific numbers that Allstate provides in the advertisement. I challenge them to show me some real statistical proof of this following statement they make:

"Unfortunately, those 11 years out of the workforce put a woman even further behind, costing her an average of $659,139 in earnings."
YEAH, RIGHT! What a ridiculous statement or assertion! So, Allstate, you are trying to tell me, and the rest of the population, that the average working woman is making $60,000 per year!? This is impossible. And this utterly false statement follows a sentence (of your own writing) where you state in the same ad: "Fact is, women are still earning less than me do...". So, by that same logic, Allstate is telling us that the average man obviously earns substantially more than $60,000 per year!? ABSOLUTE FABRICATION.

Let me at least cite a source for my own assertion that Allstate is utterly full of it with this misleading ad of theirs. How about information from the US Census Bureau:
In 2007, the median annual household income rose 1.3% to $50,233.00 according to the Census Bureau. The real median earnings of men who worked full time, year-round climbed between 2006 and 2007, from $43,460 to $45,113. For women, the corresponding increase was from $33,437 to $35,102.
Now, could it be that the primary distortion that Allstate is using to inflate their case for whatever product/services they are selling has to do with the use of AVERAGE vs. MEDIAN. Allstate is asserting that women, on average, make nearly twice as much per year as the MEDIAN earnings for women. But, if that is their game (using Average vs. Median), it is just that - a statistical abuse to mislead.

Fact is, if you throw Oprah's earnings, and those of a few other top 1%+ earners, the AVERAGE earnings are skewed substantially. But, the true likelihood that an "average" woman in America is missing out on making $66,000 per year is statistically incorrect. I guess Allstate did not feel that 11 years of missed earnings, times the median of $35,000 (for a total of $385,000) was shocking enough to sell their product. Sure sounds like a lot of money to me, but I guess that it sounds so much better to throw out a number twice that high instead.

This is quite typical of so many financial service advertisements in America. Abuse statistics, or use statistics misleadingly, all in hopes of selling more of your products. And you wonder why people lose faith in your companies and products, especially as of late, financial industry.

American Funds
Next, I was reading over the latest American Funds Investor magazine from Fall/Winter 2008. American Funds is generally a decent mutual fund company from what I can gather, but I take issue with the fact that they, in their attempts to sell people on their products and services and the concept of long-term investing in general, make rather optimistic assumptions to say the least - especially given the current stock market meltdown.

My particular issue with their latest magazine / pamphlet has to do with their little push for College-Savings plans (i.e., 529 college savings plans) and how to build up funds for your childrens' college education. They show a graph of how, if you contribute $100/month for 18 years during your kid's childhood, that it can grow to an amount between $39,000 and $48,000 by the end of that period (taxable vs. tax-free savings respectively).

OK, that all sounds great, UNTIL you read the bull @#$! below the graph about how "this example assumes an 8% annual rate of return (compounded monthly) for both investments". EIGHT PERCENT AVERAGE RETURN PER YEAR OVER 18 YEARS - GEE, THAT IS JUST A BIT AGGRESSIVE! Wake up American Funds! The stock market is FLAT over the past decade now. Where are you making an average of 8%? If you can GUARANTEE me such returns, I will have you manage all of my money.

This is not an OLD issue of the magazine... it is current... and yet it ignores that simple fact that there will not be such huge returns available anywhere for years to come, barring massive inflation to go with it, and/or devaluation of our currency embedded in such numbers. It just is not going to happen. And, it has not happened (past tense) either looking at the numbers for the past decade or more. Consider the Nasdaq, that was around 5000 points a decade ago, and now sits around 1500. And, you surely are not making 8% in government bonds, notes, T-Bills, or bank accounts.

Summary
I am so sick and tired of these ridiculous advertisements that make, via assumptions, the case that you will essentially realize some fantastic pile of cash after a set period of time by using interest-rates and rates-of-return that are essentially unachievable (certainly not realizable as an AVERAGE of any sort). This is not just an issue with Allstate or American Funds, but nearly ALL financial service companies - I see this abuse of statistics and math constantly.

I guess companies just can not sell their products by making the only clear and honest statement they can, which is: SAVE MONEY, AND YOU WILL BE IN BETTER FINANCIAL SHAPE THAN THOSE WHO DO NOT, BUT WE HAVE NO WAY TO TELL YOU HOW MUCH BETTER. That just doesn't sound good enough... people want that chart showing that, if they save, they will be "rich" or have a huge pile of cash in the future.

Forget that stuff people... just start saving, and once you have established a decent record of saving, then you can start focusing on average-returns and projections if you still feel the need. But, projections are nearly meaningless; it is your ability to save that matters most.