5/21/2009

Too Big to Fail?

The argument is familiar. Just like AIG and General Motors, California says it is too big to fail.

And once again, I say: LET IT FAIL. Let’s stop the bullshit, printing fake money so we can try to pump life into zombie banks, insurers, automakers, and states – all at taxpayer expense. Let’s talk about inflation for a moment. Let’s talk about letting the markets correct themselves, painful as that may seem to be.

Zombie

I’ve watched a few of those Zombie movies. And I know that you cannot stop the Zombies by appeasing them with money. The only way to stop them is to chop off their heads. The fiscal equivalent is to let the big insurers, banks, automakers – and even states, take bankruptcy and reorganize. It’s not the end of the world, and it isn’t the taxpayer’s mandate to shore up institutions who don’t understand basic fiscal responsibility.  Don’t we remember “The Boy Who Cried ‘Wolf’”?

Inflation is seldom defined. Inflation is simply  a decline in the value of money. This simple definition gives us insights into what causes inflation and why we might be concerned about it. It also provides insight into how we attempt to measure inflation.

Milton Friedman was famous for pointing out that inflation is  a monetary phenomenon. If the amount of goods stays the same and the monetary authority increases the amount of money, then it will take more money to buy the same amount of goods, which means that prices will rise. That’s the classic definition; it is as objective as gravity.

This is why we frequently define inflation as  “prices rising”. This  should make it clear that inflation cannot be caused by monopolies, or unions,  or decreasing taxes. It is always caused by the supply of money rising faster than the supply of goods.

If the supply of goods falls but the amount of money in “circulation” remains the same, then we can have the same effect, so it is possible for a restriction in production to cause inflation if the monetary authority does not decrease the money supply to match the reduction in production. Think OPEC, although they haven’t really been very successful.

Inflation, unchecked, can become hyperinflation:

Hundred_billion_dollars_and_eggs

The above is a Zimbabwean 100 Billion Dollar note, along with the number of eggs it can currently purchase. With hyperinflation, the currrency becomes effectively worthless and the population resorts to the use of other currencies or barter.

The Federal Government attempts to measure inflation through the use of various indices. The most popular of these is the Consumer Price Index (CPI). The basic idea is to see how much a basket of goods cost in a base period, currently 1982-84, and compare it to today’s cost of the same market basket.

Right away you can see some problems with this. For example, a 1982 computer will not be the same as a 2009 computer. An iPhone won’t be in the 1982 market basket at all,  whereas it might well be in the typical market basket today.

As prices of some goods rise and the prices of other goods fall the average consumer will gravitate towards the goods with falling prices and away from goods with rising prices. Since some government payments, such as Social Security, are indexed to the CPI, there is some political interest in how this measure is determined as well. For this and other reasons, the Government has been known to “tinker” with these formulas.

Economists recognized some time ago that the Federal Reserve was increasing the amount of money as a mechanism to solve the credit crisis, which was to a certain extent caused by prior Fed policy, and warned that we would be seeing a rise in inflation as a result.

We aren’t seeing “much inflation” – yet. Gold, oil, etc – a little bit.  But it can take years for the effects of the current ENORMOUS monetary expansion to be felt in the general economy. Sooner or later, especially when and if the current slowdown turns into a recovery – you will begin to see the effects. We’ve created more money in the first 100 days of the Obama Administration than was spent to finance the entire Iraq War from 2003 to 2008.

monetarybase

A look at the adjusted monetary base of the US shows that we have created a nearly 40% growth rate in money supply in the last 12 months. Clearly, this meets the definition of future inflation.

Not only that, but we are coming out of the bottom of the lowest solar activity in decades. Once Solar Cycle 24 gets moving and we see more sunspots and solar radio activity, this 11 year cycle tends to exacerbate inflationary pressures. Interest rates go up, commodity prices go up, and “inflation” goes up. The British economist Ralph Hawtrey wrote "It is after depression and unemployment have subsided that inflation becomes dangerous."

Bailout Mania

Taxpayer bailouts are a terrible mistake. They would subsidize the shoddy management practices of the corporate bureaucrats at General Motors, Ford and Chrysler, and would reward the intransigent union bosses who have made the UAW synonymous with inflexible and anti-competitive work rules.

Bailouts of U.S companies, banks, and insurers also would be a mistake, as would bailouts of homeowners, states or any other constituency. If politicians genuinely want to help the economy, they should focus on reducing the burden of government, not increasing it. The reason why California is in such trouble is because it has too much government and not enough income to pay for it. California doesn’t need a bailout. It just needs to learn to balance it’s checkbook  like you and I do.

So, what can you do to protect yourself? Well you can buy oil and gold, and other commodities. Mining stocks may be better than pure gold since they pay great dividends. There are also oil drilling trusts that behave similarly. And, don’t expect the stock market to make any major moves up. Right now, it’s ready for another major decline.

Don’t shoot the Messenger.

5/19/2009

Visual Studio 2010 Beta 1 – and Install Fix

Recently Microsoft made Visual Studio 2010 available to MSDN Universal subscribers, and will shortly make it available to the general public as well. Previously this had only been available as a closed MVP limited CTP downloadable on Connect.

Visual Studio 2010 provides some really attractive advances, particularly in the area of dynamic languages (F# now being a full-fledged Visual Studio language choice), Workflow (with a brand new workflow engine), Cloud computing (Azure), and – for Silverlight developers – not only is there now a full interactive drag-and-drop designer window, but you can choose whether you want to develop with Silverlight 2 – or Silverlight 3 – all from the same IDE!

I’ve installed this on my primary development desktop machine alongside Visual Studio 2008, and while it hasn’t been long enough (only 2 days) to make firm determinations, so far I have not seen any “interferences” from having both products installed at all.

If you are interested in a detailed rundown of all the new features of Visual Studio 2010, go here. There is also a main Documentation page online that has walkhthroughs, code samples, and much more.

A FIX FOR .NET FRAMEWORK 1.0 ISSUES

On my laptop, Visual Studio 2010 and the .NET Framework 4 Beta installers failed, claiming that I had to remove .NET Framework 1.0 first. Unfortunately for me, it would not uninstall.  Aaron Stebner to the rescue, once again! This Microsoftie knows more about installer issues than God, I swear!  You can download his “.NET Framework Cleanup Tool”, run it, and it will take care of everything. Once that is done, you will be able to install Visual Studio 2010 and the .NET Framework 4.0 Betas.

5/08/2009

PDF – Portable Document Format, my butt!

I was trying to print out the Silverlight riaservicesoverviewpreview.pdf and, like so many other PDF files, it came out with missing letters that were blank and basically, thanks to Adobe’s bullshit marketing, I invested 116 pages worth of dead trees and printer ink to get a totally useless document. If you’re like me (and I suspect there are a lot of us) you will often print out this kind of  stuff so you can sit in bed before you go to sleep and take out your hellacious yellow highlighter and mark up a document that you are studying.

Well! So much for that. Not only that, but Adobe’s latest version of Reader is bloated software that takes up a lot of resources, and they’re now using it to “Package” Adobe Air and whatever other gobbledegook they think I should have, that bears NO FYOOKIN’ RELATION to viewing and printing documents. I don’t have a choice anymore. If I refuse to accept the Air Installation, I CANNOT HAVE THE FREE ADOBE READER, unless i want to go find an older version without the mandatory “baggage”.  And if I download some “reader alternative”, then when I go to some site that wants me to download a PDF, it doesn’t detect that I have Adobe Reader installed, and I’m sunk.

Microsoft offers some “Free” versions of their developer software (for example, Visual Studio Express, and SQLEXPRESS) that are very full featured. But they DON’T DELIVER BAGGAGE as a condition of using the software!

I am really getting sick of this shit! If you want to promote a portable document format and a free reader for it, then DO SO! But Do it right, and nothing more. Don’t use it as a vehicle for promotion of irrelevant “features”. Don’t hand me some bullshit software that I didn’t ask for,  and force me to install it just so I can be able to read and print your high-falutin’ format. PDF was originally designed for something quite different than what it’s being used for now. It was originally for preserving format for printing documents. Now, it’s become totally bastardized.

There are plenty of other formats you can use. RTF is readable and printable by virtually every word processing program available, not just Microsoft Word. It preserves the formatting and embedded images very nicely, and when I print it, I don’t get missing letters in my words that fail to print. XPS, which Microsoft “invented” is another good format, and there are others. What I don’t want is products that create new processes “Adobe Updater” for example, that hog resources on my machine and slow up the works.

Adobe Updater, Apple Mobile Device Service, Google Update,  ITunes, Zune, and half a dozen other offenders are now appearing in my Task Manager processes list. Did I ask for this CRAP? Did anybody tell me they were going to install it? NOT!

But the bottom line, to me, revolves around the concept of using what is promoted as  an “open format” to cram extra “stuff” down the consumer’s throat (Adobe Air, for example), and to have third party “PDF gadgets” that may  either create invalid or corrupt PDF files that turn out to be useless for printing. For example, my Microsoft Word 2007 program offers a “Save as PDF” option. What guarantee do I have that the result will print without errors? What validation is available to make sure it “works correctly”? Do I even know if it came from Microsoft, or some other vendor? We DO NOT have open standards for document rendering, display and printing, to the contrary of what you may be hearing. When a true open standard for portable documents emerges – without all the BS baggage -  I’ll be the first to support it. PDF doesn’t make it, in my opinion. The problem is --everybody wants open standards – as long as it is “theirs”!  I say, BULLSHIT! Open standards means everybody uses it willingly – whether they invented it, or not. The standard is published, everybody signs on, and that’s the end of it! Period! And there should be reference applications that embody ONLY the standard, with NO BAGGAGE!

Why do you Silverlight RIA guys feel compelled to save this stuff in PDF format? You certainly aren’t doing me any favors. BIG FAIL. Sorry, pals! Do no evil.

A Tour Through Microsoft Silverlight 3 RIA Services

The main focus of Silverlight RIA Services is to provide an easy-to-use infrastructure for service-enabling Silverlight Applications, sharing of common entity classes, and performing bi-directional work with data in your Silverlight applications. Controls can be made “data aware”, and you can save a lot of time by not having to write a lot of code to be able to work with data from the server. RIA services also provides an easy way to hook in ASP.NET Membership, Role, and Profile providers to your Silverlight application, and to enable the UserContext on Silverlight controls.

Once you grasp everything that Silverlight RIA Services offers, you will see that developing data-aware LOB applications with Silverlight has just been made an order of magnitude easier. You will be able to spend your time focusing on what you want your application to do instead of spending a lot of tedious time to put in the plumbing just to get to “first base”. Silverlight RIA Services already gives you all the plumbing, and it works great.

RIA Services is composed of 12 distinct  namespaces that all work together to provide a rich data model and plumbing framework for enterprise Silverlight applications:

 

System.ComponentModel.DataAnnotations Contains data Model extension metadata attributes and classes, Validation Attributes
System.Web.DomainServices Contains DomainService  and DomainServiceContext  and related classes / attributes
System.Web.DomainServices.LinqToEntities LinqToEntities related classes and ObjectContext extensions
System.Web.DomainServices.LinqToSql LinqToSql Domain Service and DataContext extensions
System.Web.DomainServices.Tools Custom MsBuild tasks to create Silverlight Client working proxy
System.Web.Ria DataServiceFactory and SilverlightApplication control for Silverlight RIA applications
System.Web.Ria.ApplicationServices User, Authentication and Profile classes to enable Membership, Roles, and Profiles
System.Web.Ria.Data AssociatedEntities, CodeProcessor, DataServiceResult for communicating data between service and client
System.Windows.Controls DomainDataSource and related classes
System.Windows.Data Descriptors and collections for grouping and sorting data
System.Windows.Ria.ApplicationServices Authentication, Login and User related classes
System.Windows.Ria.Data DomainClient, DomainContext, Entity and related classes

RIA Services provide three modalities – Framework, Tools, and Services.  Framework components support best – practices patterns for writing application logic and validation so that it can be easily used on the presentation tier. Tools add to existing Visual Studio capabilities by linking the client and mid-tier projects in a single solution and by enabling smart code generation in your Silverlight client projects. Services utilize the patterns to support commonly used capabilities such as authentication and user settings management.

.NET RIA Services focus on the end-to-end use of data. It may be retrieved through a Data Access Layer (DAL) of your choice. It can be shaped for use in the presentation tier and annotated with suitable metadata for validation and access control. The new framework components support data and metadata flow across tiers through a controlled set of operations.

There have been a number of additions and “last minute” downloads that didn’t quite make the MIX ‘09 presentation. If you want to get started with Silverlight RIA services, here are some very good links:

RIA Services Feedback Forum

What is Silverlight RIA Services?

RIA Services – from vision to architecture

Silverlight Store SEO Example

RIA Services Walkthrough Sample

Silverlight Business Application template files

Classifieds Sample

UPDATE!

Finally, here is the main info page for the May 2009 Preview. Be sure to get the PDF as well!

I also have an article at  eggheadcafe.com on  using Membership, Roles and Profile with RIA, and I intend to publish at least one additional article soon.

NOTE: In the Business Application via Template files, it states that you must have SQLEXPRESS installed to use the built-in Authentication service. This is not 100% true. You can use regular SQL Server and any database you want, as long as you have run the ASPNET_REGSQL utility on it. Then just do this in your connectionStrings section of web.config:

<connectionStrings>
    <remove name="LocalSqlServer"/>
    <add name="LocalSqlServer" connectionString ="server=(local);database=YOURDATABASENAME;Integrated Security=True"/>

5/01/2009

Hacking – and the Least Privileges Doctrine

Recently we had a forum moderator (which people we pay a nice monthly stipend) get into some issues with drug abuse problems. This individual had to be checked into a rehab clinic to get himself straightened out.  While I was aware of him having these issues in the past, I was not aware that this person was still having such problems. But the bigger problem is that the correct security policy was not 100% in place, and that is 100% my responsibility.

Long story short, due to a lack of security enforcement on our part, my site account and all my articles and such ended up getting deleted. I had to restore them from a most recent database backup. Not a very big deal, but certainly an annoyance.  Needless to say, we now have a new Forum Moderator.

The definition of Principle of Least Privilege is fairly simple and easy to comprehend. The idea is that users will be given only the privileges absolutely necessary to perform any given task. This might be configuring their computer, browsing the Internet, running a financial application, or sending e-mail. Or it could be the permission set you give a Forum Moderator on a web site you run.  You might have also heard the term Least Permission, which is very similar to the Principle of Least Privilege.

When you have employees or contractors who have been given the responsibility to do a certain job, it is extremely important to grant them ONLY the permssions to do that job, and nothing more. Studies show that the majority of hacking attacks are “inside jobs” – meaning that it is usually the work of a disgruntled employee, or even one who is mentally unstable.

Companies, organizations, and others who run websites, databases, or other information stores that could possibly be compromised would do well to examine this doctrine and ensure that they are following it.

Sadder, but a lot wiser…