<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CU4NSHg5fCp7ImA9WxNUF0U.&quot;"><id>tag:blogger.com,1999:blog-5430866</id><updated>2009-11-09T11:26:39.624-05:00</updated><title>Peter Bromberg's UnBlog</title><subtitle type="html">Pete's comments on .NET, politics, humor, and everything else wrong in the world.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://petesbloggerama.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>527</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/blogspot/lGrQ" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;CE4NQH0zfyp7ImA9WxNWGUg.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-171522485481948349</id><published>2009-10-17T16:15:00.001-05:00</published><updated>2009-10-19T06:49:51.387-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T06:49:51.387-05:00</app:edited><title>When Unit Tests aren’t Enough</title><content type="html">&lt;p&gt;Unit Testing of your work is generally accepted as the mark of a professional developer. However – have you thought about what happens when you make a boo-boo on the &lt;u&gt;tests you create&lt;/u&gt;? &lt;/p&gt;  &lt;p&gt;You guessed it – everything goes to hell in a handbasket. If the tests are flawed, they aren’t really telling you anything.&amp;#160; &lt;/p&gt;  &lt;p&gt;Sometimes it can be better (and faster)&amp;#160; to create an old-fashioned, Windows Forms test harness to exercise your “stuff”. &lt;/p&gt;  &lt;p&gt;Right now, I’m working on a complex project with many dozens of classes – more of them every single day. Often we are asked to make changes to many of these classes. When I do these, all I need to do is fire up my Winforms Test Harness and press one of the buttons. I can have breakpoints in the code at strategic places, and I can view the end result in a DataGridView that’s on the form. Sure, you can do that with a unit test, but then what you’re doing is “testing a test”.&lt;/p&gt;  &lt;p&gt;Unit Tests are definitely the way to go, but sometimes just being a Duct Tape Programmer solves the problem more easily.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-171522485481948349?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=00A_aUEfEK8:osITCbMbBCk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/00A_aUEfEK8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/171522485481948349/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=171522485481948349" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/171522485481948349?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/171522485481948349?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/00A_aUEfEK8/when-unit-tests-arent-enough.html" title="When Unit Tests aren’t Enough" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/10/when-unit-tests-arent-enough.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YER3sycSp7ImA9WxNWGEo.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-334388595538698421</id><published>2009-10-17T06:01:00.001-05:00</published><updated>2009-10-18T09:11:46.599-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-18T09:11:46.599-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="BAILOUT" /><category scheme="http://www.blogger.com/atom/ns#" term="FED" /><category scheme="http://www.blogger.com/atom/ns#" term="BANKING" /><title>Why the FED has turned the banking system into the Living Dead</title><content type="html">&lt;p&gt;Treasury Secretary Tim Geithner and Federal Reserve Chairman Ben Bernanke have denoted that the recession is over. Now that the DJIA has broken the 10,000 mark, we can expect to&amp;#160; have full confidence that economic growth is here to stay.    &lt;br /&gt;    &lt;br /&gt;But the credit markets are in a lot worse condition than some indexes&amp;#160; suggest.&lt;/p&gt;  &lt;p&gt;Buried within the October 3, 2008 bailout bill, which set up the Troubled Asset Relief Program (TARP), was a provision permitting the Fed to pay interest on bank reserves. Within a week, the Fed implemented this new power and&amp;#160; essentially converted bank reserves into more government debt.&lt;/p&gt;  &lt;p&gt;As the fed funds rate hovers around zero and existing loans in technical default continue to sit in bank portfolios, why should banks make new loans when they can make money for free with the government? &lt;/p&gt;  &lt;p&gt;They can now borrow from the Fed and&amp;#160; earn a huge spread by borrowing virtually unlimited amounts of money for nothing and simply lend that same money back to the Treasury. &lt;/p&gt;  &lt;p&gt;In sum, the banks now have no incentive to lend. Most of them still have a significant amount of bad loans sitting on their books that they don't want to recognize as nonperforming. If&amp;#160; banks were to recognize these bad loans, all the write-downs could force them into bankruptcy. &lt;/p&gt;  &lt;p&gt;So what Bernanke and friends have created is a banking system consisting of the living dead – Banks that suck money out of the system, and which have not made significant new loans to the small to mid-size business sector since the Bailout was enacted. It’s just like in one of those “Zombie” movies. The only problem is – it’s for real.&lt;/p&gt;  &lt;p&gt;A few multinational banks like Citigroup are “too big to fail”.    &lt;br /&gt;Credit spreads in the markets reflect the relatively risk-free nature of these large companies, which now have de facto government guarantees.&lt;/p&gt;  &lt;p&gt;But this protection doesn't apply to smaller banks, some of which are being shut down by the FDIC (over 100 so far in 2009). These smaller banks have done most of the lending to the many small and medium-sized businesses that do most of the hiring in our economy.&amp;#160; &lt;/p&gt;  &lt;p&gt;According to ADP’s August employment report, large businesses lost 60,000 jobs, and employment at medium-sized and small businesses declined by 116,000 and 122,000 jobs in August alone. According to Ann Lee, writing in the Wall Street Journal, small businesses,&amp;#160; (employing&amp;#160; from one to 49 people) account for 48 million jobs in the U.S., and medium-sized businesses ( 50 to 499 employees)&amp;#160; account for 42 million jobs. Large businesses account for just 17 million – only about 20 percent of jobs.&lt;/p&gt;  &lt;p&gt;Without access to capital, these small and medium-sized businesses will continue to lay off&amp;#160; employees, creating a cycle of shrinking consumer credit and demand similar to the Japanese “lost decade” of the 1990’s.&lt;/p&gt;  &lt;p&gt;Bernanke and friends have architected this upside-down, zombie-like banking system with their ill-conceived Keynesian solutions. Is it any wonder that elected representatives like Ron Paul (one of the few in Congress that actually understand voodoo economics) want legislation to abolish the Fed?&lt;/p&gt;  &lt;p&gt;We should be questioning whether our current banking system actually makes any sense. Rather than giving capital to businesses with real products and services, Wall Street now plays a government-backed Ponzi scheme, enriching bankers' pockets at everyone else's expense. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-334388595538698421?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=FNKcg8iyXAA:CBCVev_vksI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/FNKcg8iyXAA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/334388595538698421/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=334388595538698421" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/334388595538698421?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/334388595538698421?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/FNKcg8iyXAA/why-fed-has-turned-banking-system-into.html" title="Why the FED has turned the banking system into the Living Dead" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/10/why-fed-has-turned-banking-system-into.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAMQno4eCp7ImA9WxNXFkQ.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-8646872705792565329</id><published>2009-10-04T07:42:00.001-05:00</published><updated>2009-10-04T17:03:03.430-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-04T17:03:03.430-05:00</app:edited><title>Doomed to Repeat History?</title><content type="html">&lt;p&gt;William O’Neil, in his excellent book “How to Make Money in Stocks”, has a chapter on the media, news, and market psychology. In this section he has taken the charts of the Dow Industrials from 1921 through 1942, and overlayed on this a chart of the NASDAQ Composite from February 1992 through March 2009, and indexed the data so that the charts both start at 100:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_8b9UPLwuM3g/SsiYHqwqeMI/AAAAAAAAAP8/rM5gFHwx_6o/s1600-h/1929%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1929" border="0" alt="1929" src="http://lh4.ggpht.com/_8b9UPLwuM3g/SsiYHy1Yh3I/AAAAAAAAAQA/XKwiGH7EkYY/1929_thumb%5B1%5D.jpg?imgmax=800" width="566" height="396" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;What is remarkable about this chart is that the two time periods are almost exact duplicates. O’Neil used the NASDAQ for comparison with the 1929 era as it trades more volume now than the NYSE and represents more entrepreneurial companies. The reason history repeats in this amazing manner is that the markets are made up of millions of people acting almost 100% on human emotions.&lt;/p&gt;  &lt;p&gt;You can see two important history lessons from just looking at the above chart:&lt;/p&gt;  &lt;p&gt;1. This isn’t 1929 right now in October, 2009 – its&amp;#160; Oct 1939.&lt;/p&gt;  &lt;p&gt;2. The market (according to history) is not going to be very exciting for a long time – denoting a very sluggish economic recovery that may last years.&lt;/p&gt;  &lt;p&gt;So if history really does repeat itself, then what was happening in 1939?&amp;#160; Hitler kept saying he was only interested in peace. By 1938, Britain and France negotiated with Hitler and tried to appease him by making concessions. Britain thought they had a peace agreement with Hitler. Crowds cheered. But in Parliament, Churchill said “We’ve suffered a defeat”. No one believed Churchill. In 1939, World War II began and within just two weeks, Germany rolled right through France.&lt;/p&gt;  &lt;p&gt;Today, Iran is a sponsor of terrorist organizations. It will have nuclear weapons very soon, and already has the missiles to deliver nuclear warheads. Even though, just like Hitler, it keeps saying it only wants peace.&lt;/p&gt;  &lt;p&gt;We should never underestimate partisan blindness in Washington or in the mainstream media where, “If the Bush Administration did it, it must be wrong”. The Bush Administration kept us safe from additional attacks for over seven years. Too many people refuse to acknowledge that such benefits have costs, even if that means having no more secrecy when making international phone calls, being delayed at airports, and so on.&lt;/p&gt;  &lt;p&gt;There are a growing number of threats that can destroy us.&amp;#160; The Roman Empire lasted a lot longer than the United States, yet it too was destroyed. Millions of lives were blighted for centuries after, because the barbarians who destroyed Rome, much like the fanatic Islamic fundamentalists of Iran, Al-Quaida and the Taliban,&amp;#160; were incapable of replacing it with anything at all comparable.&lt;/p&gt;  &lt;p&gt;Once suicidal fanatics have nuclear bombs, that is the point of no return. Israel completely understands this. Unfortunately, the Liberal President and Congress now in office do not. in &lt;em&gt;The Media Elite&lt;/em&gt;, Rothman and Richter interviewed 240 top journalists and staffers at the New York Times, the Wall Street Journal, Washington Post and the news departments of four major TV networks. 85% of these top journalists were found to be Liberal and voted Democratic in all of the last major elections.&lt;/p&gt;  &lt;p&gt;Emmy Award winner Bernard Goldberg spent almost 30 years with CBS News. His book &lt;em&gt;Bias&lt;/em&gt; shows in detail how network television has provided one-sided news with little balance or fairness. This kind of bias in the media jeopardizes freedom. It completely misrepresents the de facto equality of left vs right in the general population. Some of my Liberal friends mock FOX News as being “right wing”. The fact is, FOX is closer to the center than all the other networks. They’re all so far left, it makes FOX “look like” it’s right wing. But frankly, I’m not a fan of &lt;u&gt;any&lt;/u&gt; network news organization and that includes FOX News.&lt;/p&gt;  &lt;p&gt;There are no concessions we can make that will buy off these hatred-filled terrorists. Obama’s apologetic, self-humiliating policy of appeasement does not work. What these maniacs want is our being brought down in humiliation. This kind of hatred is not familiar to most Americans&amp;#160; but what happened on 9/11 should give us a clue – and a &lt;u&gt;very clear warning&lt;/u&gt;. Iran and North Korea, along with various terrorist groups, represent a clear and present danger to world peace and stability that hasn’t been seen since Nazi Germany 70 years ago. &lt;u&gt;If we do not defeat them we will suffer dire consequences&lt;/u&gt;, and&amp;#160; it will only be because we cannot learn the lessons of history and do not realize how absolutely grave the threat really is.&lt;/p&gt;  &lt;p&gt;I sure hope President Obama is not remembered in history for being the guy who allowed Iran and North Korea to threaten and blackmail the free world with weapons of mass destruction; who allowed the Taliban and Al Queda to be emboldened by our pitiful weakness in Afghanistan. But currently, things aren’t looking very promising. The next election is simply too far away for me.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-8646872705792565329?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=QjnpkMk3gN8:o0tEWwMUc8s:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/QjnpkMk3gN8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/8646872705792565329/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=8646872705792565329" title="19 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/8646872705792565329?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/8646872705792565329?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/QjnpkMk3gN8/doomed-to-repeat-history.html" title="Doomed to Repeat History?" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">19</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/10/doomed-to-repeat-history.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEERXY9fSp7ImA9WxNXE0g.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-6633722743537557991</id><published>2009-09-28T15:43:00.001-05:00</published><updated>2009-09-30T18:16:44.865-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-30T18:16:44.865-05:00</app:edited><title>On Less is More</title><content type="html">&lt;p&gt;Thelonius Monk once said “Wrong is Right”. I say, “Less is More”. All too often we as software developers do data collection of one sort or another, often storing results in a database table or tables, and we suffer from self-induced overkill. &lt;/p&gt;  &lt;p&gt;We collect too much data, data that we probably will not need. Or, instead of storing the same data and simply updating it’s count on a unique column value via an Insert or Update SQL statement, we end up storing hundreds of unique rows that, because of the data collection overkill we’ve engineered, take up lots of space but don’t really contribute to the “cause”.&lt;/p&gt;  &lt;p&gt;In addition (and I have certainly been guilty of this) we store our data in database tables that are not normalized, thereby exacerbating the situation. We end up with wide tables with a lot of columns that are inefficient.&lt;/p&gt;  &lt;p&gt;It is often much easier (and simpler) to start out with a minimalist approach. Less is More. If we determine at a later point that we actually do need “More”, we can always add that later. I believe it is easier to add needed features to a well-thought-out basic design than to remove stuff later. It’s human nature.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-6633722743537557991?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=EgZsBASo9I4:U4z-eq3-3a8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/EgZsBASo9I4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/6633722743537557991/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=6633722743537557991" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6633722743537557991?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6633722743537557991?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/EgZsBASo9I4/on-less-is-more_28.html" title="On Less is More" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/09/on-less-is-more_28.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IDRX84eip7ImA9WxNXEEw.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-7779564728191899836</id><published>2009-09-26T19:30:00.001-05:00</published><updated>2009-09-26T19:32:54.132-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-26T19:32:54.132-05:00</app:edited><title>Acer Aspire One Netbook Restore Windows 7</title><content type="html">&lt;p&gt;Recently my Acer Aspire One Netbook with Windows 7 on it crapped out. I have no idea why, but if you’ve got a netbook, then you know that to reconstitute everything you need to do it from a bootable USB Stick, because there isn’t any “DVD” drive on these little puppies.&lt;/p&gt;  &lt;p&gt;I tried a number of solutions that I found online, but the only one that worked for me was the following:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1) insert your USB stick (4GB or higher).&lt;/p&gt;  &lt;p&gt;2) FORMAT – NTFS&lt;/p&gt;  &lt;p&gt;3) Copy the contents of the Windows 7 DVD onto the USB stick.&lt;/p&gt;  &lt;p&gt;4) Set your netbook BIOS to Boot from “USB HDD” as the first option.&lt;/p&gt;  &lt;p&gt;5) Boot off the USB, let Windows 7 setup come up, and do a new installation (the “Repair my computer” option only comes up if you run Windows setup from an existing instance of Windows 7, which I couldn’t get).&lt;/p&gt;  &lt;p&gt;6) Install Windows 7.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;NOTE: during the install, WIndows 7 needs to reboot. You need to change your BIOS settings on the netbook to now let it boot from the netbook’s hard drive, NOT the USB stick, or you will go in circles.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This may seem overly simplistic, but it worked for me. Of course, since you have a new windows 7, you’ll need to install all your favorite software.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-7779564728191899836?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=rzsek2BWXh8:SxabZR1N8EM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/rzsek2BWXh8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/7779564728191899836/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=7779564728191899836" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/7779564728191899836?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/7779564728191899836?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/rzsek2BWXh8/acer-aspire-one-netbook-restore-windows.html" title="Acer Aspire One Netbook Restore Windows 7" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/09/acer-aspire-one-netbook-restore-windows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YMRXY4eyp7ImA9WxNXEEw.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-757728100832490133</id><published>2009-09-26T19:26:00.001-05:00</published><updated>2009-09-26T19:26:24.833-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-26T19:26:24.833-05:00</app:edited><title>Acer Aspire One Windows 7 Restore</title><content type="html">&lt;p&gt;Recently my Acer Aspire One Netbook with Windows 7 on it crapped out. I have no idea why, but if you’ve got a netbook, then you know that to reconstitute everything you need to do it from a bootable USB Stick, because there isn’t any “DVD” drive on these little puppies.&lt;/p&gt;  &lt;p&gt;I tried a number of solutions that I found online, but the only one that worked for me was the following:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1) insert your USB stick (4GB or higher).&lt;/p&gt;  &lt;p&gt;2) FORMAT – NTFS&lt;/p&gt;  &lt;p&gt;3) Copy the contents of the Windows 7 DVD onto the USB stick.&lt;/p&gt;  &lt;p&gt;4) Set your netbook BIOS to Boot from “USB HDD” as the first option.&lt;/p&gt;  &lt;p&gt;5) Boot off the USB, let Windows 7 setup come up, and do a new installation (the “Repair my computer option only comes up if you run Windows setup from an existing instance of Windows 7, which I couldn’t get).&lt;/p&gt;  &lt;p&gt;6) Install Windows 7.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This may seem overly simplistic, but it worked for me. Of course, since you have a new windows 7, you’ll need to install all your favorite software.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-757728100832490133?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=FCqsxC_TTRU:du2Rpsj3ccE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/FCqsxC_TTRU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/757728100832490133/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=757728100832490133" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/757728100832490133?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/757728100832490133?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/FCqsxC_TTRU/acer-aspire-one-windows-7-restore.html" title="Acer Aspire One Windows 7 Restore" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/09/acer-aspire-one-windows-7-restore.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEEQns5eyp7ImA9WxNRGUs.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-8106288878705766330</id><published>2009-09-13T07:52:00.001-05:00</published><updated>2009-09-14T16:43:23.523-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-14T16:43:23.523-05:00</app:edited><title>Online Plagiarism and what you can do about it</title><content type="html">&lt;p&gt;Lazy, unethical people who republish RSS feeds and similar content and surround it with advertising for profit abound. In general this is an annoyance, but you probably can’t do much about it.&amp;#160; However where I believe this “crosses the line” is when somebody deliberately copies all of&amp;#160; your original content, removes all identifying links and author attribution, and then republishes this wholesale on their site or blog for expected profit. &lt;/p&gt;  &lt;p&gt;This happened to me recently. This person, &lt;a href="http://hexillion.com/samples/WhoisXML/?AutoHTML=1&amp;amp;query=tusforyou.com" target="_blank"&gt;Calla Degennaro&lt;/a&gt;, residing in Larchmont N.Y.:&lt;/p&gt;  &lt;h5&gt;Calla M Degennaro    &lt;br /&gt;7 Rebeau Dr    &lt;br /&gt;Larchmont, NY 10538-1337    &lt;br /&gt;(914) 834-0236&lt;/h5&gt;  &lt;p&gt;--&amp;#160; republished not one -- but two of my articles written and originally published on&amp;#160; eggheadcafe.com, without permission:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://tusforyou.com/fluent-nhibernate-automapping/" href="http://tusforyou.com/fluent-nhibernate-automapping/"&gt;http://tusforyou.com/fluent-nhibernate-automapping/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;and&lt;/p&gt;  &lt;p&gt;&lt;a title="http://tusforyou.com/silverlight-3-note-taker-app-with-local-storage/" href="http://tusforyou.com/silverlight-3-note-taker-app-with-local-storage/"&gt;http://tusforyou.com/silverlight-3-note-taker-app-with-local-storage/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can see that this person has carefully removed all identifying traces of where the articles originated and who wrote them, but kept 100% of the content, completely unaltered. They even downloaded my zipped code sample files and re-hosted them!&lt;/p&gt;  &lt;p&gt;What can you do about this? Well, Copyscape.com has some good guidelines:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Look for contact details on the offending site and send a polite message asking for the material to be removed. If there are no contact details available, try emailing &lt;code&gt;webmaster@&lt;/code&gt; the domain. &lt;/li&gt;    &lt;li&gt;Use a &lt;a href="http://www.whois.sc/"&gt;Whois&lt;/a&gt; service to find out the website owner's name and telephone number and contact them directly. Enter the domain name in the search box and the contact information should appear towards the bottom of the page. &lt;/li&gt;    &lt;li&gt;Contact the web hosting company used by the site and inform them of their customer's abuse. This information is also available through a &lt;a href="http://www.whois.sc/"&gt;Whois&lt;/a&gt; search. &lt;/li&gt;    &lt;li&gt;Send a formal 'Cease and Desist' letter notifying the offending party that they must remove the stolen content from their site. Some sample letters are available on the web. &lt;/li&gt;    &lt;li&gt;File a notice of Digital Millenium Copyright Act (&lt;a href="http://www.gseis.ucla.edu/iclp/dmca1.htm"&gt;DMCA&lt;/a&gt;) infringement with search engines such as &lt;a href="http://www.google.com/dmca.html"&gt;Google&lt;/a&gt; and &lt;a href="http://www.seologic.com/faq/dmca-notifications.php"&gt;others&lt;/a&gt; to have the offending site removed from their search results. &lt;/li&gt;    &lt;li&gt;If you need proof of infringement, you can use the &lt;a href="http://web.archive.org/"&gt;Internet Archive&lt;/a&gt; to show that the content appeared on your site at an earlier date than it appeared on the offending site. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;How to file a DMCA notice with Google:&lt;/h3&gt;  &lt;p&gt;&lt;a name="notification"&gt;&lt;b&gt;Infringement Notification for Web Search and all other products&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To file a notice of infringement with us, you must provide a written communication (by fax or regular mail -- not by email, except by prior agreement) that sets forth the items specified below. Please note that you will be liable for damages (including costs and attorneys' fees) if you materially misrepresent that a product or activity is infringing your copyrights. Indeed, in a recent case (please see &lt;a href="http://www.onlinepolicy.org/action/legpolicy/opg_v_diebold/"&gt;http://www.onlinepolicy.org/action/legpolicy/opg_v_diebold/&lt;/a&gt; for more information), a company that sent an infringement notification seeking removal of online materials that were protected by the fair use doctrine was ordered to pay such costs and attorneys fees. The company agreed to pay over $100,000. Accordingly, if you are not sure whether material available online infringes your copyright, we suggest that you first contact an attorney.&lt;/p&gt;  &lt;p&gt;To expedite our ability to process your request, please use the following format (including section numbers):&lt;/p&gt;  &lt;p&gt;&lt;b&gt;1.&lt;/b&gt; Identify in sufficient detail the copyrighted work that you believe has been infringed upon (for example, &amp;quot;The copyrighted work at issue is the text that appears on http://www.legal.com/legal_page.html&amp;quot;) or other information sufficient to specify the copyrighted work being infringed (for example, &amp;quot;The copyrighted work at issue is the “Touch Not This Cat” by Dudley Smith, published by Smith Publishing, ISBN #0123456789&amp;quot;).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;2.&lt;/b&gt; Identify the material that you claim is infringing the copyrighted work listed in item #1 above. &lt;/p&gt;  &lt;p&gt;FOR WEB SEARCH, YOU MUST IDENTIFY EACH SEARCH RESULT THAT DIRECTLY LINKS TO A WEB PAGE THAT ALLEGEDLY CONTAINS INFRINGING MATERIAL. This requires you to provide (a) the search query that you used, and (b) the URL for each allegedly infringing search result.&lt;/p&gt;  &lt;p&gt;For example, suppose (hypothetically) that you conducted a search on google.com using the query &amp;quot;google&amp;quot;, and found that the third and fourth results directly link to a web page that you believe infringes the copyrighted text you identified in item #1 above. In this case, you would provide the following information:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Search Query:      &lt;br /&gt;google&lt;/p&gt;    &lt;p&gt;Infringing Web Pages:&amp;#160; &lt;br /&gt;www.infringingwebsite.com       &lt;br /&gt;directory.infringingwebsite.com &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you are sending a large number of URLs in one removal request, please also send an electronic copy of the notice to removals at google dot com.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;3.&lt;/b&gt; Provide information reasonably sufficient to permit Google to contact you (email address is preferred).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;4&lt;/b&gt;. Provide information, if possible, sufficient to permit Google to notify the owner/administrator of the allegedly infringing webpage or other content (email address is preferred).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;5.&lt;/b&gt; Include the following statement: &amp;quot;I have a good faith belief that use of the copyrighted materials described above as allegedly infringing is not authorized by the copyright owner, its agent, or the law.&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;6.&lt;/b&gt; Include the following statement: &amp;quot;I swear, under penalty of perjury, that the information in the notification is accurate and that I am the copyright owner or am authorized to act on behalf of the owner of an exclusive right that is allegedly infringed.&amp;quot;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;7.&lt;/b&gt; Sign the paper.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;8.&lt;/b&gt; Send the written communication to the following address:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Google, Inc.      &lt;br /&gt;Attn: Google Legal Support, DMCA Complaints       &lt;br /&gt;1600 Amphitheatre Parkway       &lt;br /&gt;Mountain View, CA 94043&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; OR fax to: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;(650) 963-3255, Attn: Google Legal Support, DMCA Complaints&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Please note that in addition to being forwarded to the person who provided the allegedly infringing content, a copy of this legal notice will be sent to a third-party which may publish and/or annotate it.&amp;#160; As such, your letter (with your personal information removed) will be forwarded to Chilling Effects (&lt;a href="http://www.chillingeffects.org"&gt;http://www.chillingeffects.org&lt;/a&gt;).&amp;#160; You can see an example of such a publication at &lt;a href="http://www.chillingeffects.org/dmca512/notice.cgi?NoticeID=861"&gt;http://www.chillingeffects.org/dmca512/notice.cgi?NoticeID=861&lt;/a&gt;.&amp;#160; A link to your published letter will be displayed in Google's search results in place of the removed content.&lt;/p&gt;  &lt;p&gt;The above is courtesy of Google’s information page. Now the nice thing about getting a DMCA notice honored by google et. al. is that when somebody makes a search that would bring up the offending content, they get to see the notice instead – a double whammy!&amp;#160; If they are hosting Google Adsense ads, that account can get pulled too. So, it’s possible to &lt;u&gt;really put the hurt to these crooks&lt;/u&gt;.&amp;#160; I’ve already taken the first step with our friend Degennaro. The next step will be a DMCA filing.&amp;#160; Online plagiarism is a crime. It’s one thing to republish somebody’s original work with a link back to the source. But the above example is where I draw the line. Hope this helps.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-8106288878705766330?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=M7CNu8ox88I:81ReE8xYhik:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/M7CNu8ox88I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/8106288878705766330/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=8106288878705766330" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/8106288878705766330?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/8106288878705766330?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/M7CNu8ox88I/online-plagiarism-and-what-you-can-do.html" title="Online Plagiarism and what you can do about it" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/09/online-plagiarism-and-what-you-can-do.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4ARnk8fSp7ImA9WxNRGUk.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-6741040651106249327</id><published>2009-09-12T11:19:00.001-05:00</published><updated>2009-09-14T10:59:07.775-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-14T10:59:07.775-05:00</app:edited><title>Where’s Reaganomics?</title><content type="html">&lt;p&gt;Washington has attacked the current economic downturn with Keynesian economics - the theory that you fight an economic downturn by pumping money into the economy to &amp;quot;encourage demand&amp;quot; and &amp;quot;create jobs.&amp;quot; The result? The longest recession since World War II — 21 months —&amp;#160; with no clear end in sight. The government&amp;#160; borrowed close to a trillion dollars out of the private economy —&amp;#160; yet it has done squat to increase incentives for investment and entrepreneurship. &lt;/p&gt;  &lt;p&gt;In February 2008, Bush cut a deal with congressional Democrats to pass a $152 billion Keynesian stimulus bill based on countering the recession with increased deficits. The central feature was a tax rebate of up to $600 per person.&amp;#160; It had no significant effect on economic incentives. In fact, looking back a year, it was a joke.&lt;/p&gt;  &lt;p&gt;Learning nothing from this, Barack Obama came back in February 2009 to support a $787 billion, purely Keynesian stimulus bill. Congress, like lemmings, followed along with barely a whimper.&lt;/p&gt;  &lt;p&gt;Even the tax-cut portion of that bill was Keynesian. The key feature was a $400-per-worker tax credit, which, again, has no significant effect on economic incentives. The lessons learned are so obvious, yet they still “don’t get it”: &lt;u&gt;printing money and throwing it at the banking system or the consumer doesn’t create economic growth!&lt;/u&gt; It just creates bigger and bigger DEFICITS. And you know what? &lt;u&gt;Somebody is going to have to pay the piper&lt;/u&gt;. It may not be next year, it may not be for a decade or more- but make no mistake, we WILL PAY for what we’ve done here.&lt;/p&gt;  &lt;p&gt;The Obama administration is now claiming success because of the slowdown in economic decline. Last month, only 216,000 jobs were lost, and the economy declined by only 1% in the second quarter. Based on this rhetoric, it looks like Obama expects to get credit for anyone who still has a job!&lt;/p&gt;  &lt;p&gt;The fallacies of Keynesian economics &lt;u&gt;were exposed decades ago&lt;/u&gt; by &lt;a href="http://en.wikipedia.org/wiki/Friedrich_Hayek" target="_blank"&gt;Friedrich&lt;/a&gt; Hayek and &lt;a href="http://en.wikipedia.org/wiki/Milton_Friedman" target="_blank"&gt;Milton Friedman&lt;/a&gt;. Ronald Reagan's decision to dump Keynesianism in favor of supply-side policies—which emphasize incentives for investment—produced a 25-year economic boom. That boom ended as the Bush administration proceeded to abandon every single component of Reaganomics, one by one, culminating in Treasury Secretary Henry Paulson's atavistic Keynesian stimulus in early 2008. &lt;/p&gt;  &lt;p&gt;Stephen Moore of the Cato Institute stated that &amp;quot;no act in the last quarter century had a more profound impact on the US economy of the eighties and nineties than the Reagan tax cut of 1981.&amp;quot; He claims that Reagan's tax cuts, combined with an emphasis on federal monetary policy, deregulation, and expansion of free trade created a sustained economic expansion &lt;u&gt;creating America's greatest sustained wave of prosperity ever&lt;/u&gt;. Sure, mistakes were made. But the lesson was clear nonetheless.&lt;/p&gt;  &lt;p&gt;Obama showed up in&amp;#160; 2009 operating under the scenario that none of this history ever happened. Suddenly national economic policy is back in the 1930s. Instead of the change voters thought they were getting, Obama has &lt;u&gt;quintupled Bush's 2008 Keynesianism&lt;/u&gt;. &lt;/p&gt;  &lt;p&gt;The result is the continuation of the economic policy disaster we have suffered since the end of 2007. Obama promised that his stimulus would prevent unemployment from climbing over 8%. It jumped to 9.7% last month. Some 14.9 million Americans are unemployed, another 9.1 million are stuck in part-time jobs and can't find full-time work, and another 2.3 million looked for work in the past year and never found it. That's a total of 26.3 million unemployed or underemployed, for a “real” unemployment rate of 16.8%. Personal income is also down. &lt;/p&gt;  &lt;p&gt;Having rejected Keynesianism in favor of fiscal restraint, France and Germany now see &lt;u&gt;economic growth return&lt;/u&gt; in the second quarter this year. India, Brazil and even China are enjoying growth as well. Canada enjoyed job growth last month. But the U.S. still seems stuck in “Keynesian Stinkin’ Thinkin’”.&lt;/p&gt;  &lt;p&gt;U.S. economic recovery and a permanent reduction in unemployment can &lt;strong&gt;only come from private, job-creating investment&lt;/strong&gt;. Nothing in the Obama economic recovery program, or in the previous Bush 2008 program, offers that. &lt;/p&gt;  &lt;p&gt;To produce long-term economic growth we will require a fundamental change in economic policies — lower, not higher, tax rates; reliable, low-cost energy supplies, not higher energy costs through cap and trade; and no unreliable alternative energy that can survive only on &lt;u&gt;costly taxpayer subsidies&lt;/u&gt;. Healthcare reform is an even bigger problem – and based on its Obama Administration track record so far, it appears that Congress really doesn’t yet have a clue as to the negative economic impact of the legislation in its current form.&lt;/p&gt;  &lt;p&gt;Once you add in the interest on the growing debt because of the persistent deficits, federal expenditures in 2083, according to the CBO, could range &lt;u&gt;anywhere between 44 and 75 percent of GDP.&lt;/u&gt; That’s &lt;u&gt;completely unsustainable&lt;/u&gt; and what it means is coming defaults on Treasury debt and social program payments such as Medicare and Social Security. You cannot “inflate your way out” of the current situation, and there’s no way to raise taxes by enough to do it either. We’ve dug ourselves into an untenable economic hole through sheer STUPIDITY!&lt;/p&gt;  &lt;p&gt;Unfortunately, Obama and his advisors seem to be wedded to his political talking points, and his ideological tunnel vision seems to be permanent. So don't expect any policy changes. Expect an eventual return to 1970s-style economic results instead – higher inflation and sluggish (if any) economic growth. Is it any wonder that 70,000 unhappy people – Democrats, Republicans, Libertarians and Independents – protested in Washington DC today? You asked for it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-6741040651106249327?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=W59EejrJiWk:L14aLLX8zOI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/W59EejrJiWk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/6741040651106249327/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=6741040651106249327" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6741040651106249327?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6741040651106249327?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/W59EejrJiWk/wheres-reaganomics.html" title="Where’s Reaganomics?" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/09/wheres-reaganomics.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEMRnw4eCp7ImA9WxNRFk8.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-6886872449417957239</id><published>2009-09-10T17:44:00.001-05:00</published><updated>2009-09-10T17:44:47.230-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-10T17:44:47.230-05:00</app:edited><title>DON’T FORGET</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_8b9UPLwuM3g/SqmBXZxZ6BI/AAAAAAAAAP0/eoHu7pn7orw/s1600-h/9-11wtc.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="9-11wtc" border="0" alt="9-11wtc" src="http://lh3.ggpht.com/_8b9UPLwuM3g/SqmBXqAXANI/AAAAAAAAAP4/2FBTin4UoQM/9-11wtc_thumb.jpg?imgmax=800" width="317" height="342" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And don’t forget the meaning of the word LIBERTY.&lt;/p&gt;  &lt;p&gt;ServicePeople, Thank you for your service to our country!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-6886872449417957239?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=ezPs5ruHSYw:cVV4SrJLulo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/ezPs5ruHSYw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/6886872449417957239/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=6886872449417957239" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6886872449417957239?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6886872449417957239?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/ezPs5ruHSYw/dont-forget.html" title="DON’T FORGET" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/09/dont-forget.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cDSXg9cSp7ImA9WxJbFkw.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-7307096766303080506</id><published>2009-07-26T07:24:00.001-05:00</published><updated>2009-07-26T07:24:38.669-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-26T07:24:38.669-05:00</app:edited><title>Windows Keyboard / Explorer Shortcuts</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Windows system key combinations&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;F1: Help &lt;/li&gt;    &lt;li&gt;CTRL+ESC: Open &lt;strong&gt;Start&lt;/strong&gt; menu &lt;/li&gt;    &lt;li&gt;ALT+TAB: Switch between open programs &lt;/li&gt;    &lt;li&gt;ALT+F4: Quit program &lt;/li&gt;    &lt;li&gt;SHIFT+DELETE: Delete item permanently &lt;/li&gt;    &lt;li&gt;Windows Logo+L: Lock the computer (without using CTRL+ALT+DELETE)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Windows program key combinations&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;CTRL+C: Copy &lt;/li&gt;    &lt;li&gt;CTRL+X: Cut &lt;/li&gt;    &lt;li&gt;CTRL+V: Paste &lt;/li&gt;    &lt;li&gt;CTRL+Z: Undo &lt;/li&gt;    &lt;li&gt;CTRL+B: Bold &lt;/li&gt;    &lt;li&gt;CTRL+U: Underline &lt;/li&gt;    &lt;li&gt;CTRL+I: Italic&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Mouse click/keyboard modifier combinations for shell objects&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;SHIFT+right click: Displays a shortcut menu containing alternative commands &lt;/li&gt;    &lt;li&gt;SHIFT+double click: Runs the alternate default command (the second item on the menu) &lt;/li&gt;    &lt;li&gt;ALT+double click: Displays properties &lt;/li&gt;    &lt;li&gt;SHIFT+DELETE: Deletes an item immediately without placing it in the Recycle Bin&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;General keyboard-only commands&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;F1: Starts Windows Help &lt;/li&gt;    &lt;li&gt;F10: Activates menu bar options &lt;/li&gt;    &lt;li&gt;SHIFT+F10 Opens a shortcut menu for the selected item (this is the same as right-clicking an object &lt;/li&gt;    &lt;li&gt;CTRL+ESC: Opens the &lt;strong&gt;Start&lt;/strong&gt; menu (use the ARROW keys to select an item) &lt;/li&gt;    &lt;li&gt;CTRL+ESC or ESC: Selects the &lt;strong&gt;Start&lt;/strong&gt; button (press TAB to select the taskbar, or press SHIFT+F10 for a context menu) &lt;/li&gt;    &lt;li&gt;CTRL+SHIFT+ESC: Opens Windows Task Manager &lt;/li&gt;    &lt;li&gt;ALT+DOWN ARROW: Opens a drop-down list box &lt;/li&gt;    &lt;li&gt;ALT+TAB: Switch to another running program (hold down the ALT key and then press the TAB key to view the task-switching window) &lt;/li&gt;    &lt;li&gt;SHIFT: Press and hold down the SHIFT key while you insert a CD-ROM to bypass the automatic-run feature &lt;/li&gt;    &lt;li&gt;ALT+SPACE: Displays the main window's &lt;strong&gt;System&lt;/strong&gt; menu (from the &lt;b&gt;System&lt;/b&gt; menu, you can restore, move, resize, minimize, maximize, or close the window) &lt;/li&gt;    &lt;li&gt;ALT+- (ALT+hyphen): Displays the Multiple Document Interface (MDI) child window's &lt;b&gt;System&lt;/b&gt; menu (from the MDI child window's &lt;strong&gt;System&lt;/strong&gt; menu, you can restore, move, resize, minimize, maximize, or close the child window) &lt;/li&gt;    &lt;li&gt;CTRL+TAB: Switch to the next child window of a Multiple Document Interface (MDI) program &lt;/li&gt;    &lt;li&gt;ALT+&lt;var&gt;underlined letter in menu&lt;/var&gt;: Opens the menu &lt;/li&gt;    &lt;li&gt;ALT+F4: Closes the current window &lt;/li&gt;    &lt;li&gt;CTRL+F4: Closes the current Multiple Document Interface (MDI) window &lt;/li&gt;    &lt;li&gt;ALT+F6: Switch between multiple windows in the same program (for example, when the Notepad &lt;b&gt;Find&lt;/b&gt; dialog box is displayed, ALT+F6 switches between the &lt;strong&gt;Find&lt;/strong&gt; dialog box and the main Notepad window)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Shell objects and general folder/Windows Explorer shortcuts&lt;/h5&gt; For a selected object:   &lt;ul&gt;   &lt;li&gt;F2: Rename object &lt;/li&gt;    &lt;li&gt;F3: Find all files &lt;/li&gt;    &lt;li&gt;CTRL+X: Cut &lt;/li&gt;    &lt;li&gt;CTRL+C: Copy &lt;/li&gt;    &lt;li&gt;CTRL+V: Paste &lt;/li&gt;    &lt;li&gt;SHIFT+DELETE: Delete selection immediately, without moving the item to the Recycle Bin &lt;/li&gt;    &lt;li&gt;ALT+ENTER: Open the properties for the selected object&lt;/li&gt; &lt;/ul&gt;  &lt;h6&gt;To copy a file&lt;/h6&gt; Press and hold down the CTRL key while you drag the file to another folder.   &lt;h6&gt;To create a shortcut&lt;/h6&gt; Press and hold down CTRL+SHIFT while you drag a file to the desktop or a folder.   &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;General folder/shortcut control&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;F4: Selects the &lt;strong&gt;Go To A Different Folder&lt;/strong&gt; box and moves down the entries in the box (if the toolbar is active in Windows Explorer) &lt;/li&gt;    &lt;li&gt;F5: Refreshes the current window. &lt;/li&gt;    &lt;li&gt;F6: Moves among panes in Windows Explorer &lt;/li&gt;    &lt;li&gt;CTRL+G: Opens the Go To Folder tool (in Windows 95 Windows Explorer only) &lt;/li&gt;    &lt;li&gt;CTRL+Z: Undo the last command &lt;/li&gt;    &lt;li&gt;CTRL+A: Select all the items in the current window &lt;/li&gt;    &lt;li&gt;BACKSPACE: Switch to the parent folder &lt;/li&gt;    &lt;li&gt;SHIFT+click+&lt;b&gt;Close&lt;/b&gt; button: For folders, close the current folder plus all parent folders&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Windows Explorer tree control&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Numeric Keypad *: Expands everything under the current selection &lt;/li&gt;    &lt;li&gt;Numeric Keypad +: Expands the current selection &lt;/li&gt;    &lt;li&gt;Numeric Keypad -: Collapses the current selection. &lt;/li&gt;    &lt;li&gt;RIGHT ARROW: Expands the current selection if it is not expanded, otherwise goes to the first child &lt;/li&gt;    &lt;li&gt;LEFT ARROW: Collapses the current selection if it is expanded, otherwise goes to the parent&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Properties control&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;CTRL+TAB/CTRL+SHIFT+TAB: Move through the property tabs&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Accessibility shortcuts&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Press SHIFT five times: Toggles StickyKeys on and off &lt;/li&gt;    &lt;li&gt;Press down and hold the right SHIFT key for eight seconds: Toggles FilterKeys on and off &lt;/li&gt;    &lt;li&gt;Press down and hold the NUM LOCK key for five seconds: Toggles ToggleKeys on and off &lt;/li&gt;    &lt;li&gt;Left ALT+left SHIFT+NUM LOCK: Toggles MouseKeys on and off &lt;/li&gt;    &lt;li&gt;Left ALT+left SHIFT+PRINT SCREEN: Toggles high contrast on and off&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Microsoft Natural Keyboard keys&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Windows Logo: &lt;strong&gt;Start&lt;/strong&gt; menu &lt;/li&gt;    &lt;li&gt;Windows Logo+R: &lt;strong&gt;Run&lt;/strong&gt; dialog box &lt;/li&gt;    &lt;li&gt;Windows Logo+M: Minimize all &lt;/li&gt;    &lt;li&gt;SHIFT+Windows Logo+M: Undo minimize all &lt;/li&gt;    &lt;li&gt;Windows Logo+F1: Help &lt;/li&gt;    &lt;li&gt;Windows Logo+E: Windows Explorer &lt;/li&gt;    &lt;li&gt;Windows Logo+F: Find files or folders &lt;/li&gt;    &lt;li&gt;Windows Logo+D: Minimizes all open windows and displays the desktop &lt;/li&gt;    &lt;li&gt;CTRL+Windows Logo+F: Find computer &lt;/li&gt;    &lt;li&gt;CTRL+Windows Logo+TAB: Moves focus from Start, to the Quick Launch toolbar, to the system tray (use RIGHT ARROW or LEFT ARROW to move focus to items on the Quick Launch toolbar and the system tray) &lt;/li&gt;    &lt;li&gt;Windows Logo+TAB: Cycle through taskbar buttons &lt;/li&gt;    &lt;li&gt;Windows Logo+Break: &lt;strong&gt;System Properties&lt;/strong&gt; dialog box &lt;/li&gt;    &lt;li&gt;Application key: Displays a shortcut menu for the selected item&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Microsoft Natural Keyboard with IntelliType software installed&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Windows Logo+L: Log off Windows &lt;/li&gt;    &lt;li&gt;Windows Logo+P: Starts Print Manager &lt;/li&gt;    &lt;li&gt;Windows Logo+C: Opens Control Panel &lt;/li&gt;    &lt;li&gt;Windows Logo+V: Starts Clipboard &lt;/li&gt;    &lt;li&gt;Windows Logo+K: Opens &lt;strong&gt;Keyboard Properties&lt;/strong&gt; dialog box &lt;/li&gt;    &lt;li&gt;Windows Logo+I: Opens &lt;strong&gt;Mouse Properties&lt;/strong&gt; dialog box &lt;/li&gt;    &lt;li&gt;Windows Logo+A: Starts Accessibility Options (if installed) &lt;/li&gt;    &lt;li&gt;Windows Logo+SPACEBAR: Displays the list of Microsoft IntelliType shortcut keys &lt;/li&gt;    &lt;li&gt;Windows Logo+S: Toggles CAPS LOCK on and off&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Dialog box keyboard commands&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;TAB: Move to the next control in the dialog box &lt;/li&gt;    &lt;li&gt;SHIFT+TAB: Move to the previous control in the dialog box &lt;/li&gt;    &lt;li&gt;SPACEBAR: If the current control is a button, this clicks the button. If the current control is a check box, this toggles the check box. If the current control is an option, this selects the option. &lt;/li&gt;    &lt;li&gt;ENTER: Equivalent to clicking the selected button (the button with the outline) &lt;/li&gt;    &lt;li&gt;ESC: Equivalent to clicking the &lt;strong&gt;Cancel&lt;/strong&gt; button &lt;/li&gt;    &lt;li&gt;ALT+&lt;var&gt;underlined letter in dialog box item&lt;/var&gt;: Move to the corresponding item&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-7307096766303080506?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=oXkD2evL3kk:D4_yMEkl_DY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/oXkD2evL3kk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/7307096766303080506/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=7307096766303080506" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/7307096766303080506?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/7307096766303080506?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/oXkD2evL3kk/windows-keyboard-explorer-shortcuts.html" title="Windows Keyboard / Explorer Shortcuts" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/07/windows-keyboard-explorer-shortcuts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEDRH89eyp7ImA9WxJWEUw.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-3792309336196520707</id><published>2009-06-10T16:18:00.001-05:00</published><updated>2009-06-15T19:54:35.163-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-15T19:54:35.163-05:00</app:edited><title>The Role of Government</title><content type="html">&lt;p&gt;In my &lt;a href="http://petesbloggerama.blogspot.com/2009/05/too-big-to-fail.html" target="_blank"&gt;“Too Big to Fail?”&lt;/a&gt; post, I talked a little about the unprecedented&amp;#160; monetary expansion we have entered. Perhaps it’s time to expand on this topic. In 2007, the federal deficit was 1.2 percent of G.D.P. Two years later, more than a year into a serious&amp;#160; economic crisis it is 13% of GDP -- more than twice the size of the next largest deficit since World War II -– the&amp;#160; projected deficit is the result of a year when the federal government, at taxpayers' expense, has acquired enormous stakes in the banking, auto, mortgage, health-care and insurance industries. The average historical deficit is about 2.5% of GDP.&lt;/p&gt;  &lt;p&gt;With the ill-conceived government reactions to the financial crises, and the economic downturn that has followed, the unfunded liabilities of various federal programs -- such as Social Security, pensions, Medicare and Medicaid -- are over the $100 trillion mark. With U.S. federal tax receipts at about $2.4 trillion, this level of debt virtually&amp;#160; guarantees higher interest rates, huge tax increases, and -- partial default on some government promises.&lt;/p&gt;  &lt;p&gt;Beginning in early September 2008, the Bernanke Fed made an abrupt turnaround and radically increased the U.S.&amp;#160; monetary base -- currency in circulation, member bank reserves held at the Fed, and vault cash -- by a little less than $1 trillion. The Fed totally controls the monetary base by purchasing and selling assets in the open market. By making&amp;#160; such a radical move, the Fed signaled a 180-degree turnaround in its focus from an anti-inflation position to an anti-deflation position. The stimulus bill passed by Congress early in the Obama Administration added almost another $1 trillion.&lt;/p&gt;  &lt;p&gt;This percentage increase in the monetary base is the largest increase in the past 50 years -- by a factor of 10! (See chart, courtesy of Laffer Associates) This is so far outside the realm of our experiences that historical comparisons become meaningless. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_8b9UPLwuM3g/SjAjFy2FX9I/AAAAAAAAAPs/WvXAvlxYIfM/s1600-h/ED-AJ638A_laffe_NS_20090609175213%5B3%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="ED-AJ638A_laffe_NS_20090609175213" border="0" alt="ED-AJ638A_laffe_NS_20090609175213" src="http://lh5.ggpht.com/_8b9UPLwuM3g/SjAjGBQkm4I/AAAAAAAAAPw/9rac6sgOX2U/ED-AJ638A_laffe_NS_20090609175213_thumb%5B1%5D.gif?imgmax=800" width="346" height="321" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It's difficult to estimate the magnitude of the inflationary and interest-rate consequences of the Fed's actions because we simply haven't ever seen anything like this, ever.&amp;#160; To date what's happened is potentially far more inflationary than were the monetary policies of the 1970s, when the prime rate peaked at 21.5% and inflation hit the low double digits. Gold prices went from $35 per ounce to $850 per ounce, and the dollar collapsed on the foreign exchanges. &lt;/p&gt;  &lt;p&gt;When the Fed is no longer able to monetize this kind of expansionary monetary policy by selling Treasury securities, we face a brand new kind of financial collapse. Once again, I say “Let them fail”.&amp;#160; The markets are much better and more efficient&amp;#160; at sorting out these kinds of excesses than any kind of government intervention, no matter how well-intentioned. You are going to have job losses in either case – as we are seeing right now. Even with all the so-called “stimulus”, the unemployment rate has continued to rise throughout the first half of 2009. All that has resulted is you and I are a lot poorer, because somebody is going to have to pay the Piper!&lt;/p&gt;  &lt;p&gt;Andrew Klavan has one of his&amp;#160; “culture” videos about “Why are Conservatives so Mean” that really brings this concept home:&lt;/p&gt;  &lt;p&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/sC6MnwknfmU&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/sC6MnwknfmU&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;My regret is that fiscal conservatives waited until after Mr. Obama got elected to rediscover their “small government” principles. This is INEXCUSABLE.&lt;/p&gt;  &lt;p&gt;What we’re being left with is a huge bill that our generation cannot possibly pay, and a Socialist –style economy that would make our forefathers turn over in their graves. Let Them Fail! What am I talking, Greek?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-3792309336196520707?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=L9ctTPFEAl0:CnUvbHQ4s7w:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/L9ctTPFEAl0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/3792309336196520707/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=3792309336196520707" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/3792309336196520707?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/3792309336196520707?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/L9ctTPFEAl0/role-of-government.html" title="The Role of Government" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/06/role-of-government.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEEQXY7cSp7ImA9WxJQFkk.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-36356736083654675</id><published>2009-05-21T19:38:00.001-05:00</published><updated>2009-05-29T20:40:00.809-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-29T20:40:00.809-05:00</app:edited><title>Too Big to Fail?</title><content type="html">&lt;p&gt;The argument is familiar. Just like AIG and General Motors, California says it is too big to fail.    &lt;br /&gt;    &lt;br /&gt;And once again, I say: &lt;u&gt;LET IT FAIL&lt;/u&gt;. 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.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_8b9UPLwuM3g/ShaNwyreroI/AAAAAAAAAPU/t80rAOju-LE/s1600-h/Zombie%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Zombie" border="0" alt="Zombie" src="http://lh3.ggpht.com/_8b9UPLwuM3g/ShaNxKKY-EI/AAAAAAAAAPY/PiDvJaf9gOI/Zombie_thumb.jpg?imgmax=800" width="244" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;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 &lt;u&gt;chop off their heads&lt;/u&gt;. 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.&amp;#160; Don’t we remember “The Boy Who Cried ‘Wolf’”?&lt;/p&gt;  &lt;p&gt;Inflation is seldom defined. Inflation is simply&amp;#160; a &lt;u&gt;decline in the value of money&lt;/u&gt;. 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.&lt;/p&gt;  &lt;p&gt;Milton Friedman was famous for pointing out that inflation is&amp;#160; a &lt;u&gt;monetary phenomenon&lt;/u&gt;. 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 &lt;u&gt;objective as gravity&lt;/u&gt;.&lt;/p&gt;  &lt;p&gt;This is why we frequently define inflation as&amp;#160; “prices rising”. This&amp;#160; should make it clear that inflation cannot be caused by monopolies, or unions,&amp;#160; or decreasing taxes. It is &lt;u&gt;always caused&lt;/u&gt; by the supply of money rising faster than the supply of goods.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;Inflation, unchecked, can become hyperinflation:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_8b9UPLwuM3g/ShaPbl7mAgI/AAAAAAAAAPc/GJNOyLQHroY/s1600-h/Hundred_billion_dollars_and_eggs%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Hundred_billion_dollars_and_eggs" border="0" alt="Hundred_billion_dollars_and_eggs" src="http://lh3.ggpht.com/_8b9UPLwuM3g/ShaPbpp2WgI/AAAAAAAAAPg/vHD5vq-M2PE/Hundred_billion_dollars_and_eggs_thumb.jpg?imgmax=800" width="242" height="164" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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. &lt;/p&gt;  &lt;p&gt;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,&amp;#160; whereas it might well be in the typical market basket today. &lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;We aren’t seeing “much inflation” – yet. Gold, oil, etc – a little bit.&amp;#160; 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 &lt;u&gt;first 100 days of the Obama Administration&lt;/u&gt; than was spent to finance the entire Iraq War from 2003 to 2008. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_8b9UPLwuM3g/ShbFwbAS0RI/AAAAAAAAAPk/DOxa7UX1XMQ/s1600-h/monetarybase%5B2%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="monetarybase" border="0" alt="monetarybase" src="http://lh3.ggpht.com/_8b9UPLwuM3g/ShbFwkjOQ1I/AAAAAAAAAPo/cgVdE7vC8z0/monetarybase_thumb.gif?imgmax=800" width="240" height="162" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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 &amp;quot;It is after depression and unemployment have subsided that inflation becomes dangerous.&amp;quot;&lt;/p&gt;  &lt;h3&gt;Bailout Mania&lt;/h3&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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&amp;#160; like you and I do.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;Don’t shoot the Messenger.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-36356736083654675?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=uceG4n3D4-M:CWslT4kZ_W4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/uceG4n3D4-M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/36356736083654675/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=36356736083654675" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/36356736083654675?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/36356736083654675?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/uceG4n3D4-M/too-big-to-fail.html" title="Too Big to Fail?" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/05/too-big-to-fail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYMSX4-fCp7ImA9WxJRGE4.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-4266157606792999498</id><published>2009-05-19T09:48:00.001-05:00</published><updated>2009-05-20T09:36:28.054-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-20T09:36:28.054-05:00</app:edited><title>Visual Studio 2010 Beta 1 – and Install Fix</title><content type="html">&lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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 &lt;u&gt;choose whether you want to develop with Silverlight 2 – or Silverlight 3&lt;/u&gt; – all from the same IDE!&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;If you are interested in a detailed rundown of all the new &lt;a href="http://msdn.microsoft.com/en-us/library/bb386063(VS.100).aspx" target="_blank"&gt;features of Visual Studio 2010, go here&lt;/a&gt;. There is also a &lt;a href="http://msdn.microsoft.com/en-us/library/dd410112(VS.100).aspx" target="_blank"&gt;main Documentation page online&lt;/a&gt; that has walkhthroughs, code samples, and much more. &lt;/p&gt;  &lt;h3&gt;A FIX FOR .NET FRAMEWORK 1.0 ISSUES&lt;/h3&gt;  &lt;p&gt;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.&amp;#160; Aaron Stebner to the rescue, once again! This Microsoftie knows more about installer issues than God, I swear!&amp;#160; You can download his &lt;a href="http://blogs.msdn.com/astebner/pages/8904493.aspx" target="_blank"&gt;“.NET Framework Cleanup Tool”&lt;/a&gt;, 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.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-4266157606792999498?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=tnc0lX7R5f8:lw4ktXQsqP8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/tnc0lX7R5f8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/4266157606792999498/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=4266157606792999498" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/4266157606792999498?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/4266157606792999498?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/tnc0lX7R5f8/visual-studio-2010-beta-1.html" title="Visual Studio 2010 Beta 1 – and Install Fix" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/05/visual-studio-2010-beta-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIHQnw6cSp7ImA9WxJREE0.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-4185213640343101479</id><published>2009-05-08T21:40:00.001-05:00</published><updated>2009-05-10T20:15:33.219-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-10T20:15:33.219-05:00</app:edited><title>PDF – Portable Document Format, my butt!</title><content type="html">&lt;p&gt;I was trying to print out the Silverlight &lt;a href="http://download.microsoft.com/download/F/B/8/FB8CA635-296B-487F-965C-8148F08B5319/riaservicesoverviewpreview.pdf" target="_blank"&gt;riaservicesoverviewpreview.pdf&lt;/a&gt; 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 &lt;u&gt;totally useless document&lt;/u&gt;. If you’re like me (and I suspect there are a lot of us) you will often print out this kind of&amp;#160; 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.&lt;/p&gt;  &lt;p&gt;Well! So much for that. Not only that, but Adobe’s latest version of Reader is &lt;u&gt;bloated software&lt;/u&gt; 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”.&amp;#160; 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.&lt;/p&gt;  &lt;p&gt;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!&lt;/p&gt;  &lt;p&gt;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,&amp;#160; 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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;Adobe Updater, Apple Mobile Device Service, Google Update,&amp;#160; 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!&lt;/p&gt;  &lt;p&gt;But the bottom line, to me, revolves around the concept of using what is promoted as&amp;#160; 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&amp;#160; 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 -&amp;#160; 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”!&amp;#160; 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!&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-4185213640343101479?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=1Qe1VXzKtao:muWE9ftwbW8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/1Qe1VXzKtao" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/4185213640343101479/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=4185213640343101479" title="15 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/4185213640343101479?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/4185213640343101479?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/1Qe1VXzKtao/pdf-portable-document-format-my-butt.html" title="PDF – Portable Document Format, my butt!" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">15</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/05/pdf-portable-document-format-my-butt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAHQ389eSp7ImA9WxJRFEw.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-133108939016049823</id><published>2009-05-08T19:57:00.001-05:00</published><updated>2009-05-15T14:45:32.161-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-15T14:45:32.161-05:00</app:edited><title>A Tour Through Microsoft Silverlight 3 RIA Services</title><content type="html">&lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;RIA Services is composed of 12 distinct&amp;#160; namespaces that all work together to provide a rich data model and plumbing framework for enterprise Silverlight applications:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table border="0" cellspacing="2" cellpadding="2" width="542"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.ComponentModel.DataAnnotations&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="390"&gt;Contains data Model extension metadata attributes and classes, Validation Attributes&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Web.DomainServices&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="390"&gt;Contains DomainService&amp;#160; and DomainServiceContext&amp;#160; and related classes / attributes&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Web.DomainServices.LinqToEntities&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;LinqToEntities related classes and ObjectContext extensions&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Web.DomainServices.LinqToSql&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;LinqToSql Domain Service and DataContext extensions&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Web.DomainServices.Tools&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;Custom MsBuild tasks to create Silverlight Client working proxy &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Web.Ria&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;DataServiceFactory and SilverlightApplication control for Silverlight RIA applications&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Web.Ria.ApplicationServices&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;User, Authentication and Profile classes to enable Membership, Roles, and Profiles&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Web.Ria.Data&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;AssociatedEntities, CodeProcessor, DataServiceResult for communicating data between service and client&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Windows.Controls&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;DomainDataSource and related classes&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Windows.Data&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;Descriptors and collections for grouping and sorting data&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Windows.Ria.ApplicationServices&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;Authentication, Login and User related classes&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="144"&gt;&lt;strong&gt;System.Windows.Ria.Data&lt;/strong&gt; &lt;/td&gt;        &lt;td valign="top" width="390"&gt;DomainClient, DomainContext, Entity and related classes&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;RIA Services provide three modalities – Framework, Tools, and Services.&amp;#160; &lt;strong&gt;Framework components&lt;/strong&gt; support best – practices patterns for writing application logic and validation so that it can be easily used on the presentation tier. &lt;strong&gt;Tools&lt;/strong&gt; 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. &lt;strong&gt;Services&lt;/strong&gt; utilize the patterns to support commonly used capabilities such as authentication and user settings management.&lt;/p&gt;  &lt;p&gt;.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.&lt;/p&gt;  &lt;p&gt;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:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://silverlight.net/forums/53.aspx" target="_blank"&gt;RIA Services Feedback Forum&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx" target="_blank"&gt;What is Silverlight RIA Services?&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx" target="_blank"&gt;RIA Services – from vision to architecture&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2390" target="_blank"&gt;Silverlight Store SEO Example&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2387" target="_blank"&gt;RIA Services Walkthrough Sample&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2391" target="_blank"&gt;Silverlight Business Application template files&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2400" target="_blank"&gt;Classifieds Sample&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;UPDATE!&lt;/h3&gt;  &lt;p&gt;Finally, &lt;a href="http://silverlight.net/forums/t/95364.aspx" target="_blank"&gt;here is the main info page for the May 2009 Preview&lt;/a&gt;&lt;strong&gt;.&lt;/strong&gt; Be sure to get the PDF as well!&lt;/p&gt;  &lt;p&gt;I also have an article at&amp;#160; eggheadcafe.com on&amp;#160; using &lt;a href="http://ittyurl.net/gslk.ashx" target="_blank"&gt;Membership, Roles and Profile with RIA&lt;/a&gt;, and I intend to publish at least one additional article soon.&lt;/p&gt;  &lt;p&gt;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:&lt;/p&gt;  &lt;p&gt;&amp;lt;connectionStrings&amp;gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;remove name=&amp;quot;LocalSqlServer&amp;quot;/&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;add name=&amp;quot;LocalSqlServer&amp;quot; connectionString =&amp;quot;server=(local);database=YOURDATABASENAME;Integrated Security=True&amp;quot;/&amp;gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-133108939016049823?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=EA1rhlCNkKA:TffMfTibzi0:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/EA1rhlCNkKA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/133108939016049823/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=133108939016049823" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/133108939016049823?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/133108939016049823?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/EA1rhlCNkKA/tour-through-microsoft-silverlight-3.html" title="A Tour Through Microsoft Silverlight 3 RIA Services" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/05/tour-through-microsoft-silverlight-3.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMNQHo9fip7ImA9WxJSEk8.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-611391841751026952</id><published>2009-05-01T20:18:00.001-05:00</published><updated>2009-05-01T20:24:51.466-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-01T20:24:51.466-05:00</app:edited><title>Hacking – and the Least Privileges Doctrine</title><content type="html">&lt;p&gt;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.&amp;#160; 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.&lt;/p&gt;  &lt;p&gt;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.&amp;#160; Needless to say, we now have a new Forum Moderator.&lt;/p&gt;  &lt;p&gt;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.&amp;#160; You might have also heard the term Least Permission, which is very similar to the Principle of Least Privilege. &lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;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.&lt;/p&gt;  &lt;p&gt;Sadder, but a lot wiser…&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-611391841751026952?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=66Fbe7i_c1Q:A6TEZ94Ve5U:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/66Fbe7i_c1Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/611391841751026952/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=611391841751026952" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/611391841751026952?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/611391841751026952?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/66Fbe7i_c1Q/hacking-and-least-privileges-doctrine.html" title="Hacking – and the Least Privileges Doctrine" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/05/hacking-and-least-privileges-doctrine.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcDQ3YyeCp7ImA9WxJSEE0.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-8264716891267150267</id><published>2009-04-24T14:52:00.001-05:00</published><updated>2009-04-29T06:04:32.890-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-29T06:04:32.890-05:00</app:edited><title>IIS 6.0, Compression, and Classic ASP Pages</title><content type="html">&lt;p align="center"&gt;&lt;em&gt;The incompetent with nothing to do can still make a mess of it.&lt;/em&gt;&amp;#160;&amp;#160; - Laurence J. Peter&lt;/p&gt;  &lt;p&gt;Well this one is a hoot. Enabled HTTP compression in IIS 6.0, and suddenly Classic ASP pages (yes, we still have a few) that required Integrated Authentication just wouldn’t work.&lt;/p&gt;  &lt;p&gt;With Anonymous Authentication unchecked, and Integrated checked, and ACL’s on the folder permitting only Adminstrators, you would get a Windows Login prompt as expected but when you would provide credentials, it never went through.&lt;/p&gt;  &lt;p&gt;As luck would have it, we duplicated the pages on another site where compression was turned off, and those worked fine. On a hunch, I disabled compression on the includes folder, and that fixed it! &lt;/p&gt;  &lt;p&gt;Seems for some reason that Classic ASP include files don’t like HTTP compression at all.&lt;/p&gt;  &lt;p&gt;And a thanks to &lt;a href="http://www.west-wind.com/Weblog/posts/4375.aspx" target="_blank"&gt;Rick Strahl&lt;/a&gt; for reminding me that you need HTTP KeepAlives turned on to use Windows Auth with classic ASP.&lt;/p&gt;  &lt;p&gt;Compression will reduce our bandwidth to around 25% of what it has been. That’s good!&lt;/p&gt;  &lt;p&gt;In IIS 6.0, getting compression completely enabled is tricky. Tools like ZipEnable from Port 80 can make it a lot easier, and they provide the kind of fine-grained control that lets you disable compression on&amp;#160; a single directory.&lt;/p&gt;  &lt;h3&gt;Windows 7 Upgrade path from a Beta: No can do?&lt;/h3&gt;  &lt;p&gt;The RC (Build 7100) versions of Windows 7, which will be available to human beings shortly,&amp;#160; will not upgrade over a pre-release version of the same OS. But, not to worry! The &lt;a href="http://blogs.msdn.com/e7/archive/2009/04/07/delivering-a-quality-upgrade-experience.aspx" target="_blank"&gt;Windows 7 Engineering Blog&lt;/a&gt; provides an explanation and instructions on how to do it. They acknowledge that tens of thousands of people at Microsoft alone have been using Windows 7 pre-release builds as their primary OS.&lt;/p&gt;  &lt;p&gt;Essentially it is as simple as copying all the files from the burned DVD to a folder on the target machine, then editing the file CVersion.ini in the Sources folder to have a MinClient value lower than the down level build. For example, you would change 7100 to read 7000. Save the file in the same place and run setup from the folder on the&amp;#160; hard drive itself, and you will be allowed to upgrade.&amp;#160; As always, there are a number of cautions and caveats in doing this, so read their blog post carefully. These same steps will be necessary when going from the RC to the RTM milestone.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-8264716891267150267?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=25d4-F1WCW4:14ZiZ5XkgVo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/25d4-F1WCW4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/8264716891267150267/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=8264716891267150267" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/8264716891267150267?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/8264716891267150267?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/25d4-F1WCW4/iis-60-compression-and-classic-asp.html" title="IIS 6.0, Compression, and Classic ASP Pages" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/04/iis-60-compression-and-classic-asp.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04FR34-eSp7ImA9WxJTFUU.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-9196282231243262379</id><published>2009-04-23T17:00:00.001-05:00</published><updated>2009-04-24T11:18:36.051-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-24T11:18:36.051-05:00</app:edited><title>The Twittification of Live Messenger</title><content type="html">&lt;p&gt;I’ve noticed this new “Groups” thing in the latest version of Windows Live Messenger, and it seems that the kind folks at Microsoft have really&amp;#160; started to “get it” about what “Social” is. &lt;/p&gt;  &lt;p&gt;If you enable the “What’s new” display at the bottom of the Live Messenger window, you will see people in your “group” (that you have started) who have joined other people’s networks. If you click on the links, you can view information about that user and their network, and you can invite them to join (or, ask to join).&amp;#160; It’s not that intuitive at first, but if you play around with it using people that you know, you’ll start seeing new Contacts in your contacts list – most likely people you didn’t know were using Messenger, and / or you probably never thought to invite. &lt;/p&gt;  &lt;p&gt;I’ve already made a few new friends with this – people I always wanted to be able to have on Messenger, but I either never thought of it, or I didn’t know how to invite them.&lt;/p&gt;  &lt;p&gt;When “Groups” first was started, I started a “.Net devs” group just for fun, and invited a few of my Messenger contacts. Several people joined. The concept of getting your Twitter friends to join a Messenger group or network is powerful. Think about it.&lt;/p&gt;  &lt;p&gt;The key thing – like any other new “toy” – is to use it to join networks of people you are really interested in (in my case other MVP’s and .NET developers). This will keep the signal-to-noise ratio at an acceptable level. I get followed on Twitter by all kinds of strange folks – who are obviously following a search on some keyword in a Tweet of mine. I check them out, have a look at who’s following them, and only then do I decide.&lt;/p&gt;  &lt;p&gt;“Social” means different things to different people. To me, it means developing meaningful relationships with like-minded people where I can help them, and they can help me. To others, it’s just collecting names. You have to decide what “social” really means to you.&lt;/p&gt;  &lt;p&gt;Kudos to Microsoft for thinking social and “getting it”. I think it’s a step in the right direction vis-a-vis “&lt;a href="http://petesbloggerama.blogspot.com/2008/05/social-api-we-really-need.html" target="_blank"&gt;unification of social&lt;/a&gt;”.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-9196282231243262379?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=8GB_txFWlWs:MZvs1dEXuNY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/8GB_txFWlWs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/9196282231243262379/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=9196282231243262379" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/9196282231243262379?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/9196282231243262379?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/8GB_txFWlWs/twittification-of-live-messenger.html" title="The Twittification of Live Messenger" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/04/twittification-of-live-messenger.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EDSXwzeCp7ImA9WxJTEkk.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-3324224545761639306</id><published>2009-04-19T18:50:00.001-05:00</published><updated>2009-04-20T10:34:38.280-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-20T10:34:38.280-05:00</app:edited><title>Some facts about Silverlight 3 and where it’s going</title><content type="html">&lt;h5 align="center"&gt;&lt;em&gt;“Being an expert means having credibility. It doesn’t matter how much you know if people don’t trust your answers.”&lt;/em&gt; – Brent Ozar&lt;/h5&gt;  &lt;h5&gt;Silverlight 3 was first announced at the IBC 2008 show in Amsterdam on September 12, 2008. It was unveiled at MIX09 in Las Vegas on March 18, 2009. A beta version was made available for download the same day.&lt;/h5&gt;  &lt;p&gt;Silverlight 3 includes an increased number of controls - including but not limited to &lt;i&gt;DataGrid&lt;/i&gt;, &lt;i&gt;TreeView&lt;/i&gt;, various layout panels, &lt;i&gt;&lt;a href="http://microapplications.com/blog/archive/2009/03/27/328.aspx" target="_blank"&gt;DataForm for forms-driven applications&lt;/a&gt;&lt;/i&gt; and &lt;i&gt;&lt;a href="http://www.silverlightshow.net/Search.aspx?q=DataPager&amp;amp;ro=1&amp;amp;tg=true&amp;amp;adv=false" target="_blank"&gt;DataPager for viewing paginated data&lt;/a&gt;&lt;/i&gt;. Some of these controls are from the &lt;a href="http://www.codeplex.com/Silverlight" target="_blank"&gt;Silverlight Toolkit&lt;/a&gt;. In addition, Silverlight 3 includes a &lt;a href="http://timheuer.com/blog/archive/2009/04/06/silverlight-3-navigation-behavior-customization.aspx" target="_blank"&gt;navigation framework&lt;/a&gt; to let Silverlight applications use the hyperlinked navigation model as well as enabling &lt;a href="http://programwith.net/2009/03/23/Silverlight3NdashDeepLinking.aspx" target="_blank"&gt;deep-linking (linking directly to specific pages)&lt;/a&gt; within Silverlight applications.&lt;/p&gt;  &lt;p&gt;On the media front, Silverlight 3 supports &lt;a href="http://on10.net/blogs/benwagg/Silverlight-3-Beta-Whatrsquos-New-for-Media/" target="_blank"&gt;AAC audio decoding&lt;/a&gt; as well as hardware-accelerated &lt;a href="http://blog.domaindotnet.com/2009/04/05/silverlight_3_beta_adobe_video_playerworking_now/" target="_blank"&gt;H.264 video decoding&lt;/a&gt;. The native multimedia pipeline is also programmatically exposed, so that other formats can also be supported by third-parties using &lt;a href="http://timheuer.com/blog/archive/2008/10/01/mediastreamsource-sample-with-source-code.aspx" target="_blank"&gt;managed code decoders&lt;/a&gt;. Silverlight 3 supports &lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/18/Silverlight-3-_1320_-Perspective-3d-Transforms-_1320_-PlaneProjection.aspx" target="_blank"&gt;perspective 3D&lt;/a&gt;&lt;i&gt;&lt;/i&gt; which enables 3D transformations of 2D elements. These transformations, as well as many 2D operations like stretches, alpha blending etc are &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/04/16/silverlight-3-and-gpu-acceleration.aspx" target="_blank"&gt;hardware accelerated&lt;/a&gt;. Custom animations, including transforms and blends, can be created on Silverlight elements using &lt;a href="http://drawlogic.com/2009/03/22/silverlight-3-mix09-demos-video-of-pixel-shaders-hlsl-authored-3d-planes-savedialog-local-connections-out-of-browser/" target="_blank"&gt;HLSL to make use of pixel shaders&lt;/a&gt;. A &lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/18/Silverlight-3-_1320_-The-Bitmap-API-_2F00_-WriteableBitmap.aspx" target="_blank"&gt;Bitmap API is provided&lt;/a&gt; to let Silverlight 3 applications manipulate bitmaps. Silverlight now uses the GPU to accelerate the &lt;a href="http://timheuer.com/blog/archive/2009/03/18/silverlight-3-whats-new-a-guide.aspx" target="_blank"&gt;composition of Visual Trees&lt;/a&gt;&lt;i&gt;&lt;/i&gt; (like WPF, Silverlight elements correspond to &lt;i&gt;Visual&lt;/i&gt; elements, which, when coupled with the layout information, forms a &lt;i&gt;Visual Tree&lt;/i&gt; which is then rendered to form the final display). Visual trees &lt;a href="http://pagebrooks.com/archive/2009/03/31/bitmap-caching-in-silverlight-3.aspx" target="_blank"&gt;can now be cached&lt;/a&gt;; this increases performance in cases like transforms, which create lots of throw-away intermediate states, by not making the state transitions on the main Visual tree. Silverlight 3, on release, will support ClearType text rendering.&lt;/p&gt;  &lt;p&gt;UI elements in Silverlight 3 support &lt;i&gt;&lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/archive/2009/03/18/Silverlight-3-_1320_-UI-Element-to-Element-Binding.aspx" target="_blank"&gt;element-to-element binding&lt;/a&gt;&lt;/i&gt; - which allows one element to be bound to the state of another element, including&amp;#160; a validation mechanism for data binding. Unlike Silverlight 2, which allowed the applications to save files only to the local isostorage, Silverlight 3 applications can save to any location on the file system via the &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/03/18/a-quick-look-at-silverlight-3-save-file-dialog.aspx" target="_blank"&gt;system Save File dialog&lt;/a&gt;. However, the path where the file is saved will still be hidden from the Silverlight application. Any external assemblies used by Silverlight applications are cached to so that they need not be redownloaded for subsequent instantiations of the application.&lt;/p&gt;  &lt;p&gt;Silverlight 3 also &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/03/18/a-quick-look-at-silverlight-3-local-connection.aspx" target="_blank"&gt;includes a LocalConnection API&lt;/a&gt; to communicate (using a named pipe style model) among multiple running applications on the same machine, irrespective of the browser&amp;#160; and can monitor for network connectivity events. Silverlight 3 can optionally use &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/04/05/silverlight-3-experimenting-with-wcf-s-binary-xml-encoder.aspx" target="_blank"&gt;Binary XML&lt;/a&gt; to communicate with WCF services.&lt;/p&gt;  &lt;p&gt;Silverlight 3 &lt;a href="http://timheuer.com/blog/archive/2009/03/18/silverlight-3-offline-update-framework.aspx" target="_blank"&gt;supports Out-of-Browser deployment&lt;/a&gt;&lt;i&gt;&lt;/i&gt;, i.e., Silverlight applications can be installed to the system for offline access (provided the application manifest is modified to allow local installation) where they run outside the browser. They are launched using the Start Menu or desktop shortcuts, similar to ClickOnce installations, and run without the browser window. Applications can check whether they are running inside a browser or not. When running out of browser, HTML interop is disabled. In addition, &lt;a href="http://bliny.net/blog/post/Out-of-Browser-with-Silverlight-3.aspx" target="_blank"&gt;access to the Function Keys is&amp;#160; enabled&lt;/a&gt;. Locally installed Silverlight applications still run in a sandbox.&lt;/p&gt;  &lt;p&gt;Installed Silverlight 3 applications automatically check for updates asynchronously on every launch and updates are automatically installed.&lt;sup&gt; &lt;/sup&gt;Running instances of the applications are informed when updates are available.&lt;/p&gt;  &lt;p&gt;The current Silverlight 3 beta does not support a “go live” license, so developers cannot currently put their Silverlight 3 beta applications on the public internet because there is no publicly available runtime to download.&amp;#160; You can find out &lt;a href="http://silverlight.net/themes/silverlight/getstarted/sl3beta.aspx?AspxAutoDetectCookieSupport=1" target="_blank"&gt;more about Silverlight 3 here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-3324224545761639306?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=dcBLesLM7zQ:MfvHa1QSqhY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/dcBLesLM7zQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/3324224545761639306/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=3324224545761639306" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/3324224545761639306?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/3324224545761639306?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/dcBLesLM7zQ/some-facts-about-silverlight-3-and.html" title="Some facts about Silverlight 3 and where it’s going" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/04/some-facts-about-silverlight-3-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMMQ305cCp7ImA9WxJRFU8.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-2995677000134870173</id><published>2009-04-13T20:24:00.001-05:00</published><updated>2009-05-16T21:14:42.328-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-16T21:14:42.328-05:00</app:edited><title>You’re Fired! – Redux</title><content type="html">&lt;p&gt;I walked into the office this morning and was called “downstairs”. The official line was “Due to the economic downturn, blah blah”… You get the idea. I know better. I was working on a project that was &lt;u&gt;grossly underbid&lt;/u&gt; as a fixed-price deal by a company - designated&amp;#160; “architect”&amp;#160; -- which consequently forced a few of us&amp;#160; developers into an impossible position, under extreme time pressure, on a new technology that nobody in the office had ever used before. The schedule was virtually impossible to meet. Anyone with an above room temperature IQ could easily see this, and I had been vocal about it from the beginning, so what happened to me was no surprise.&amp;#160; Management was in a state of denial.&amp;#160; One developer who was brought on decided to quit in the very beginning. Then, they scrambled to bring on two other developers from another office and another project.&amp;#160; The client was not very helpful, although they could not be blamed, really. This particular&amp;#160; project was destined for problems from the beginning, in my opinion. Of course, one could make the case that the company was in a position of attempting to do anything to keep business in the pipeline, “due to the economic downturn”. Still, when you are bidding a project, you don’t want to shoot yourself in the foot, but it seems to me that’s what they did.&lt;/p&gt;  &lt;p&gt;To add insult to injury, the “architect” person refused to allow the developer team to use multiple checkout in TFS (that’s the default) –- causing hour upon hour of delays, and on top of that – refused to allow us to include the client’s base class library project&amp;#160; in the solution so that we could debug through, claiming it would “add complexity” – which makes no sense, since it was the&amp;#160; identical source code the client gladly&amp;#160; provided us with and used to&amp;#160; build the assembly to start with! It actually got so bad that developers started working offline to be able to get stuff done. I have never – I repeat NEVER – been put into this kind of arbitrarily restrictive environment in developing an application!&amp;#160; Developers were not consulted in advance about this project and its risks. Only after I got involved did I realize that one of the scope requirement our “architect” had included -- of WCF enabling the client’s entire library-- was virtually impossible, and I successfully got them to remove this requirement after screaming bloody murder about it. What am I talking here, Greek? I said what I believed was right, and i got shot down! We had an environment where you were supposed to be able to provide input – but when you did, it &lt;strong&gt;became a “good old boy” network and you would be quashed. No&lt;/strong&gt;t cool at all! What’s more, if you are the architect on a project, you have NO BUSINESS tinkering with the codebase and checking in untested code that breaks the application and causes even more hassles for the developer team!&lt;/p&gt;  &lt;p&gt;This is a key fallacy in presenting and proposing a project to a client – when somebody who has been designated&amp;#160; the “project architect” decides to do&amp;#160; everything “on their own” -- without prior consultation with the actual coders who will be tasked with building it—intelligent people&amp;#160; who can usually offer valuable input. This is “Ivory Tower” development proposal methodology, and it’s just wrong. Since when is the “architect” supposed to be the guy that tells the developer team how to handle their source control? I think that when people get into a position of “defending turf” – they can become extremely threatened by other people who question their authority, even in the slightest way.&lt;/p&gt;  &lt;p&gt;Actually, I like this person – but it became “political” because I opened my mouth and said the obvious.&amp;#160; I don’t&amp;#160; care at this point;&amp;#160; I’m blessed because I’ve built up a substantial income with my &lt;a href="http://www.eggheadcafe.com/" target="_blank"&gt;eggheadcafe.com&lt;/a&gt; partner over the last nine years (to his credit, he seems to be able to put up with my idiosyncrasies just fine…). &lt;/p&gt;  &lt;p&gt;When companies are stressed, managers often make bad decisions -- it’s the guys who are making six figures that get chopped first, even though they are often the people who can help the most – but only if they are asked to do so. I certainly was not asked.&amp;#160; If companies do not take concrete&amp;#160; steps to have a proactive policy of LISTENING to the people who will be&amp;#160; producing the product,&amp;#160; then&amp;#160; &lt;u&gt;they will fail&lt;/u&gt;.&amp;#160;&amp;#160; Managers&amp;#160; don’t always think logically – they are too often motivated by the concept of “protecting their ass” – and it degrades into&amp;#160; a political “good buddy network” process. I’m sure if you’re reading this post that you may have already been exposed to this.&lt;/p&gt;  &lt;p&gt;When I see a process that’s flawed, I’m gonna speak my mind about it. When you stick to principles and do this, it may get you branded as a scapegoat and then you’ll be the first to go, illogical as it may seem.&amp;#160; So be it – I can sleep well now. I’m so relieved that I no longer have to spend 2 hours of my day driving into Orlando and back to put up with this B.S. every day.&amp;#160; Now I can focus on what I do best – writing good code and articles, making presentations, building the business. If I find another “day job” – you can bet &lt;u&gt;I’ll choose it carefully.&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;The bottom line is, “To thine own self be true” --&amp;#160; I would likely have been out of there looking for a better spot&amp;#160; anyway. As a friend and co-worker said, “They have kicked out an excellent developer and team member”.&amp;#160; That’s comforting to hear, but in this case it just wasn’t working for me –-I now believe the company&amp;#160; actually did me a favor. Thank you! (BTW – &lt;a href="http://www.eggheadcafe.com/articles/pbrombergresume.asp" target="_blank"&gt;here’s my current resume&lt;/a&gt;!)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-2995677000134870173?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=LpoEvAoEZGQ:zoJGtZ9DmAk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/LpoEvAoEZGQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/2995677000134870173/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=2995677000134870173" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/2995677000134870173?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/2995677000134870173?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/LpoEvAoEZGQ/youre-fired-redux.html" title="You’re Fired! – Redux" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">11</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/04/youre-fired-redux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IMRnk4eCp7ImA9WxVaF0w.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-6096672656604905509</id><published>2009-04-08T19:47:00.001-05:00</published><updated>2009-04-14T08:26:27.730-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-14T08:26:27.730-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC" /><title>ASP.NET MVC: Is it worth it?</title><content type="html">&lt;p align="center"&gt;&lt;em&gt;You talk to God, you're religious. God talks to you, you're psychotic.&lt;/em&gt;&amp;#160; - Doris Egan&lt;/p&gt;  &lt;p&gt;Catchy title, eh? I’m asking it because I think it’s a legitimate question. I’ve been working with ASP.NET MVC for a couple of reasons: &lt;/p&gt;  &lt;p&gt;1) Peer pressure: Developers who I know and respect have been telling me its “very cool” and beats “classic” ASP.NET WebForms by a mile. Some of these people are pretty smart. Some of them are a lot smarter than I am.&lt;/p&gt;  &lt;p&gt;2) I have no choice. The current project I’m working on for my “day job” uses ASP.NET MVC along with other “very cool” things like StructureMap, Castle.Validator and a few other alt.net type goodies. (Side note: &lt;a href="http://altdotnet.org/" target="_blank"&gt;alt.net may not be so cool&lt;/a&gt;. I tried to sign in at their site with my OpenID and it wouldn’t accept it. I got some bullshit about not having a valid email address… Folks, that’s the FIRST TIME I’ve ever been denied an OpenID login!) Correction: a commenter below&amp;#160; correctly stated that I needed to enable my email on my OpenId profile. Usually, what people do is that if your email is not provided, they ask you to enter it. Oh, well….&lt;/p&gt;  &lt;p&gt;So anyway,&amp;#160; over the last month or more, I have had no choice but to struggle my way along with two or three other developers who are more or less equally “Into the shark pool: now ‘swim!’”. Today things got so bad that I started pair programming with another guy. You know the concept: One PC, One Driver, One Navigator, and (hopefully) Two Brains. Actually we got a lot done mostly because the other guy was familiar with certain aspects of the framework (its the client’s framework) and I was familiar with other aspects. So in about 3 or 4 hours, I’d say we got about 15 hours worth of what a single developer would be able to accomplish – and most importantly, both of us learned new “stuff” in the process.&lt;/p&gt;  &lt;p&gt;But here’s my take on ASP.NET MVC so far:&lt;/p&gt;  &lt;p&gt;1) I think it’s very cool. I like the idea of separation of concerns. I like the more &amp;quot;OOP” approach to web development. You can do a lot with it –- but!&lt;/p&gt;  &lt;p&gt;2) It has a steep learning curve. ASP.NET MVC is NOT the kind of framework that you want to have to use if you’ve been arbitrarily thrown into a new project where you must use it, especially if you’ve been handed a highly customized codebase from a client that you must use and which cannot be changed for both contractual and architectural reasons.&lt;/p&gt;  &lt;p&gt;And – especially – if the project you’ve been handed has a short fuse, for whatever reason.&lt;/p&gt;  &lt;p&gt;3) There’s a lot of buzz about avoiding ViewState and the “old” Postback model. I’m just not sure how valid all that stuff is. ViewState is a perfectly OK concept, it’s just that developers don’t understand it and consequently it is prone to abuse. ViewState, additionally, can be stored on the server very easily, so at least a part of this objection is moot.&lt;/p&gt;  &lt;p&gt;4) “No Postback model”. OK, that’s fine. But have you looked at what hoops you have to go through to make MVC work? Why do you think they stuck TempData in there into the MVC Framework? And why do you see developers building custom server-side Session for their MVC projects?&lt;/p&gt;  &lt;p&gt;5) Complexity: What you get in your View is almost totally dependent on what you do in your Controller. If you need to do “extra stuff”, then you need to write “extra code” in Controller methods. There just isn’t any way around it. Purists will say that’s the way it’s supposed to be (“separation of concerns”). I’m just not so sure I like that – yet.&lt;/p&gt;  &lt;p&gt;Bottom Line: The jury is still out for me on MVC. I know there are a lot of purists out there who will call me a traitor. Too bad, guys. I’m not saying I won’t use ASP.NET MVC, I just believe at this point that if I had the luxury of crummy old WebForms I would have been able to produce the same quality app a lot faster, and it’s performance would be the same – or better – than in ASP.NET MVC.&amp;#160;&amp;#160; I still think MVC is cool but frankly, I don’t like going home from work with a splitting headache.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-6096672656604905509?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=rJlbAD2e9nc:86usZRfm1DI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/rJlbAD2e9nc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/6096672656604905509/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=6096672656604905509" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6096672656604905509?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6096672656604905509?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/rJlbAD2e9nc/aspnet-mvc-is-it-worth-it.html" title="ASP.NET MVC: Is it worth it?" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/04/aspnet-mvc-is-it-worth-it.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMMQH4-eCp7ImA9WxVbGUk.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-8987739839779506021</id><published>2009-04-04T14:59:00.001-05:00</published><updated>2009-04-05T10:48:01.050-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-05T10:48:01.050-05:00</app:edited><title>On Developer Wisdom</title><content type="html">&lt;p align="center"&gt;&lt;em&gt;Don't you wish there was a knob on the TV to turn up the intelligence? There's one marked 'Brightness,' but it doesn't work.&lt;/em&gt;&amp;#160; - Gallagher&lt;/p&gt;  &lt;p&gt;Wisdom. The “Wisdom of the Ages” -- wisdom&amp;#160; is an ideal that has been celebrated since antiquity as the knowledge needed to live a good life. What this means exactly depends on the various wisdom schools and traditions claiming to help foster wisdom. In general, these schools have emphasized various combinations of the following: knowledge, understanding, experience, discretion, and intuitive understanding, along with a capacity to apply these qualities well towards finding solutions to problems. These concepts, as one might guess,&amp;#160; apply equally&amp;#160; well to software developers.&lt;/p&gt;  &lt;p&gt;For a software developer, however,&amp;#160; wisdom is a much narrower concept that comes from learning from one’s mistakes, from studying what others have done, from learning accepted and proven patterns of good software design. And above all, from being willing to change, endure the pain of mastering something new,&amp;#160; and then to be willing to refactor those old patterns and techniques as new and better ones are discovered.&lt;/p&gt;  &lt;p&gt;Wisdom can mean learning Lean Programming, which teaches us to eliminate wasted effort by focusing on vertical design that only satisfies the needs of business requirements instead of building out entire layers of an application in advance. It can also come from learning to employ Agile development methodologies, most of which promote development iterations, teamwork, collaboration, and process adaptability throughout the life-cycle of the project. Not to forget TDD – Test Driven Development – an integral part of Agile methodology.&lt;/p&gt;  &lt;p&gt;I believe we, as .NET developers who have been primarily taught a data-centric approach to enterprise application development from back in the “Windows DNA” days, are expanding into the epiphany of more open-source, domain-driven design modalities. You can see this from some of the kinds of frameworks that are now being embraced by mainstream .NET Developers – &lt;a href="http://www.hibernate.org/343.html" target="_blank"&gt;NHibernate&lt;/a&gt; and other open source ORMs, &lt;a href="http://www.castleproject.org/activerecord/index.html" target="_blank"&gt;ActiveRecord&lt;/a&gt;, &lt;a href="http://structuremap.sourceforge.net/Default.htm" target="_blank"&gt;StructureMap&lt;/a&gt;, &lt;a href="http://sparkviewengine.com/" target="_blank"&gt;Spark MVC View engine&lt;/a&gt; (as well as ASP.NET MVC), and others. These frameworks haven’t been lost on the Microsofties, either. I distinctly remember Scott Guthrie uttering the word “NHibernate” during his MIX 09 keynote presentation. And recent issues of MSDN Magazine have featured articles by such notables as &lt;a href="http://codebetter.com/blogs/jeremy.miller/" target="_blank"&gt;Jeremy Miller&lt;/a&gt;, a C# MVP who espouses Fluent.NHibernate, StructureMap and similar frameworks. Do you read this stuff? I do, and when MSDN Magazine agrees to publish this kind of content, I take notice. It’s not just that I’ve already been following this — it’s because a major publication that any .NET developer possessing an above-room-temperature IQ will read -- has just said, “We’re cool with this, and we want you to know about it”.&lt;/p&gt;  &lt;p&gt;The concept of designing one’s POCO classes first and then creating the database persistence layer from that domain only after the domain is feature-complete is still quite foreign to many developers who otherwise envision themselves as “mature” or “senior level”.&lt;/p&gt;  &lt;p&gt;I still see developers who insist on creating an entire database schema for their application before they’ve created even the beginning of their domain model. Often they dismiss “top down” development as being inappropriate for their particular “modality” – even in the face of overwhelming evidence that it is the business domain model and logic that should be dictating the eventual persistence schema, not the other way around. &lt;/p&gt;  &lt;p&gt;I am by no means saying that developers who start by designing their persistence schema and then build up from that are wrong. What I am saying is that if this is the &lt;u&gt;only&lt;/u&gt; way they can / will develop an application – something may very well be wrong.&amp;#160; You can show them how to do it the new way, but if they refuse to be open to a new concept, you should move on. Let somebody else be the evangelist! &lt;/p&gt;  &lt;p&gt;Developers are learning how to simplify software development by applying the DRY (Don’t Repeat Yourself) principle using various frameworks and tools, most of which are readily available for the .NET Platform and many of which come via ports from the JAVA space, which has been around a bit longer than .NET. Isn’t it interesting that as .NET has matured, you don’t see the old JAVA vs .NET flame wars anymore? The JAVA guys have provided us .NET kiddies quite a bit to chew on.&lt;/p&gt;  &lt;p&gt;One of the most difficult challenges to obtaining “wisdom” in the developer space is the natural tendency of developers to avoid (or simply be ignorant of)&amp;#160; lateral thinking techniques&amp;#160; and to be reluctant to “do things differently”.&amp;#160; It is easy for a developer who has a technique or a tool that they’ve engineered to unwittingly force themselves into a restrictive programming paradigm simply because they are unwilling to accept the fact that better tools may now be available to them. I call this phenomenon “coveting thy code”.The learning curve to master a new framework or concept is often dismissed with the thought that “I just don’t have the time”, or “nah - my ‘thing’ is better than that thing”.&lt;/p&gt;  &lt;p&gt;One strategy&amp;#160; I have found is that if I make an honest assessment of what frameworks and tools I believe are really important to my development career future, and only focus on these, I can gain a lot of extra time to get the job done. I used to jump at every CTP and BETA of this, that and the other thing. Now I don’t – I’m focused only on&amp;#160; some core technologies. You won’t see me messing with Azure Services,for example,&amp;#160; because it’s not “baked” yet. And frankly, I don’t really need it just yet anyway. In fact, ASP.NET MVC 1&amp;#160; only recently popped out of the oven as “done”, and I didn’t even begin with it until it was already at the RC1 level. Is that “wisdom”? I say it is.&lt;/p&gt;  &lt;p&gt;Sometimes I think of myself as an “old dog who’s&amp;#160; learning new tricks”. Yes, it’s hard. But I wouldn’t have it any other way. What about you?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-8987739839779506021?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=lXIrtKiPx6w:emI3c0ks4RM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/lXIrtKiPx6w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/8987739839779506021/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=8987739839779506021" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/8987739839779506021?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/8987739839779506021?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/lXIrtKiPx6w/on-developer-wisdom.html" title="On Developer Wisdom" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/04/on-developer-wisdom.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IARno6eSp7ImA9WxVbEks.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-6301219861794688031</id><published>2009-03-19T06:24:00.001-05:00</published><updated>2009-03-28T12:32:27.411-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-28T12:32:27.411-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MESSENGER" /><title>Windows Live Messenger: Unable to Connect Error 80040200 Fix</title><content type="html">&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I stumbled across this fix via a web search in the &lt;a href="http://messenger-support.spaces.live.com/blog/cns!8B3F39C76A8B853F!13937.entry?wa=wsignin1.0&amp;amp;sa=760719617" target="_blank"&gt;Live Messenger Blog&lt;/a&gt; about a different error code. It worked for me on Windows Vista.&lt;/p&gt;  &lt;p&gt;1.) Close Messenger. Go into Task Manager and ensure that the “msnmsgr.exe” process is not there. If it is, kill the process.&lt;/p&gt;  &lt;p&gt;2.) Navigate to C:\Users\&amp;lt;YourUserName&amp;gt;\AppData\Local\Microsoft\Windows Live Contacts and delete the entire contents of the folder.&lt;/p&gt;  &lt;p&gt;3.) Restart Windows Live Messenger. Voila!&lt;/p&gt;  &lt;p&gt; There is another issue I found where the standalone installer for Messenger fails with a message like “could not open key…”. One fix for this is to navigate to the C:\Program Files\Windows Live\Messenger folder and DELETE the msnmsgr.exe executable if it is there.&lt;/p&gt;  &lt;h3&gt;ReallyReallyDumb Exception Messages Department&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I think it was Donn Felker who first tweeted about this, but I didn’t believe it until I got one myself:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_8b9UPLwuM3g/Sc0paEwXHyI/AAAAAAAAAO0/yWtOCtVStgk/s1600-h/NullableObject%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="NullableObject" border="0" alt="NullableObject" src="http://lh5.ggpht.com/_8b9UPLwuM3g/Sc0paowZOSI/AAAAAAAAAO4/8Bn6NFkI1MA/NullableObject_thumb%5B1%5D.jpg?imgmax=800" width="524" height="158" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Go Figure!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-6301219861794688031?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=N0qS7XCaEb4:SIz600UkAsU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/N0qS7XCaEb4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/6301219861794688031/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=6301219861794688031" title="23 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6301219861794688031?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/6301219861794688031?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/N0qS7XCaEb4/windows-live-messenger-unable-to.html" title="Windows Live Messenger: Unable to Connect Error 80040200 Fix" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">23</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/03/windows-live-messenger-unable-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQGRngycCp7ImA9WxVUEUs.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-2359330691085592281</id><published>2009-03-15T08:50:00.001-05:00</published><updated>2009-03-15T19:12:07.698-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-15T19:12:07.698-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="INSTALLER" /><category scheme="http://www.blogger.com/atom/ns#" term="WINDOWS LIVE" /><category scheme="http://www.blogger.com/atom/ns#" term="MESSENGER" /><title>How NOT to create user-friendly application installers</title><content type="html">&lt;p align="center"&gt;&lt;em&gt;Trying to be a first-rate reporter on the average American newspaper is like trying to play Bach's St. Matthew's Passion on a ukulele.&lt;/em&gt;&amp;#160; - Bagdikian's Observation&lt;/p&gt;  &lt;p&gt;This is an issue I've come up against enough times to feel the need to gripe about it. You get the Windows Live installer to install the &amp;quot;new&amp;quot; Windows Live family of products (Messenger, Live Writer, Mail, Photo Gallery, etc.) and it fails. That's after you wait for everything to download (because the web installer is just a wrapper over what it downloads after you select which programs you want). &lt;/p&gt;  &lt;p&gt;So then you use the &amp;quot;Try Again&amp;quot; button which downloads a 135 MB WLSETUP_ALL.EXE installer. Boy, I sure hope you’ve got a high speed connection. So you run that and once again, after you've waited for it to go all the way through to the end, only then does it proceed to &amp;quot;roll back&amp;quot; everything - which takes almost as long as the supposed installation did! &lt;/p&gt;  &lt;p&gt;Now you’ve gone through maybe a half hour or more of pure frustration, and you’re left with – NADA.&lt;/p&gt;  &lt;p&gt;Now you’ve&amp;#160; got some cryptic error messages to work with, and a link to a &amp;quot;Help&amp;quot; web page that turns out to be next to useless. Not only that, but the WLSETUP_ALL deal cannot be opened as an archive to extract individual .MSI installers, so you cannot even try to run individual ones in the hopes that they might work that way. &lt;/p&gt;  &lt;p&gt;Yikes! I’ve always believed in “less is more” –- this is an example of “more is less!”--now there are a couple of ways to fix this issue, I'll detail the two most popular: If you just want Windows Live Messenger, the kind folks at Softpedia have a page from which you can download the latest 24 MB standalone installer (Feb. 6 2009 is the latest build I found): &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.softpedia.com/progDownload/Windows-Live-Messenger-9-Download-89148.html" target="_blank"&gt;http://www.softpedia.com/progDownload/Windows-Live-Messenger-9-Download-89148.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Apparently Microsoft no longer makes the standalone installers publicly available, they seem to be too wrapped up in their new hotshot “packaging” single installer &lt;i&gt;façade&lt;/i&gt; scheme.&lt;/p&gt;  &lt;p&gt;The second method (and it may not always work) is to locate the cached .MSI Installers that have been deposited on your hard drive. These should be located at C:\Program Files (x86)\Common Files\Windows Live\.cache. The (x86) is for 64-bit OS installations – you can remove that from the path if you’re a 32-bit person. In that folder there is a cache.ini file you can load in Notepad and see the actual paths to each installer in those wacko cryptic Microsoft&amp;#160; subfolders. Or you can just search for *.msi in windows explorer. &lt;/p&gt;  &lt;p&gt;Once you have located the correct Messenger.msi installer, you can try installing with that. Oh, and did I mention --you probably will want to run the Contacts.msi installer first to avoid install errors. So go find that one, too.&lt;/p&gt;  &lt;p&gt;This brings me to another annoyance: Do you remember when software installed itself and that is all it installed? I mean, if you needed to do a repair or a reinstall you would need the original media, right? Now it seems that every installer creates copies of itself all over your fyookin’ hard drive, taking up all kinds of space, having squatter’s rights, and leaving you the poor user, with no recourse.&amp;#160; There’s no fact disclosure at all. Have you ever wondered why your available disk space keeps declining over time, even though you use disk space cleaner-uppers regularly? This is why! It’s a conspiracy to eat up our hard drives!&lt;/p&gt;  &lt;p&gt;If you haven’t gone through this little escapade with Windows Live, consider yourself lucky – there are a variety of reasons why this kind of “Multiple” Setup installer can fail, you probably just don’t have any of them --yet. But the fact of the matter is, you can get them, and it can cause real frustration because of the way everything is “un-bundleable” with this scheme. I’ve seen installers that fail because the Error Reporting Service is disabled, or if the Windows Firewall is turned off. Lots of antivirus programs have their own firewalls – you don’t need two of them running. But an installer program should not fail because of this – that’s just plain bad design.&lt;/p&gt;  &lt;p&gt;This “entire Family only” install scheme is in my opinion a very non-user-friendly approach that I believe comes from marketing (e.g. &amp;quot;Let’s promote the &amp;quot;Windows Live Family”) rather than common sense about making it easier on users when something goes wrong. Not being able to load the EXE in say, WinRar and be able to extract individual MSI installer files is just adding insult to injury. I know I’m not alone in this gripe – because I’ve heard from friends with similar issues.&lt;/p&gt;  &lt;p&gt;If you are still having problems with Windows Live Messenger or related proggies, try using the &lt;a href="http://www.softpedia.com/get/Security/Secure-cleaning/Windows-Installer-CleanUp-Utility.shtml" target="_blank"&gt;Windows Installer Cleanup Utility&lt;/a&gt;. This is a Microsoft product that removes all registry installer information for a selected program, making it easier to fool a new MSI installer that the program it’s trying to install is not there already. It’s unfortunate that we actually have to create new products just to clean up the buggy crap we’ve already produced, but – hey – that’s progress!&lt;/p&gt;  &lt;p&gt;BTW – if you want to get Messenger to show up in the Notification Area on Windows 7 instead of the Taskbar, just set it’s Compatibility Mode to “Windows Vista”.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-2359330691085592281?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=xo_P31kbv80:fbi9EzvTRbM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/xo_P31kbv80" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/2359330691085592281/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=2359330691085592281" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/2359330691085592281?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/2359330691085592281?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/xo_P31kbv80/how-not-to-create-user-friendly.html" title="How NOT to create user-friendly application installers" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/03/how-not-to-create-user-friendly.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEERXc4fCp7ImA9WxVVFU4.&quot;"><id>tag:blogger.com,1999:blog-5430866.post-2151325673398525407</id><published>2009-03-06T21:57:00.001-05:00</published><updated>2009-03-08T12:33:24.934-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-08T12:33:24.934-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET FRAMEWORK 3.5" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC" /><title>ASP.NET MVC RC2</title><content type="html">&lt;p align="center"&gt;&lt;em&gt;“Artificial Intelligence is no match for natural stupidity.”&lt;/em&gt; -- Unknown&lt;/p&gt;  &lt;p&gt;ASP.NET MVC Release Candidate 2 is out; it has no major identifiable changes in&amp;#160; features or in Visual Studio 2008 tooling from RC1.&amp;#160; That’s a good thing – it means it’s pretty much “baked”.&lt;/p&gt;  &lt;p&gt;There are changes to the installer in that it doesn't ship the System.Web.Routing.dll and System.Web.Abstractions.dll assemblies now since they are a part of&amp;#160; .NET 3.5 SP1. Consequently, set-up requires&amp;#160; .NET 3.5 SP1 to be installed. &lt;/p&gt;  &lt;p&gt;There is also a &amp;quot;server-only&amp;quot; install mode to install the MVC Framework. This is useful for hosted installations which install the MVC Framework on servers that do not have Visual Studio 2008 installed. There are also some deployment techniques that do not require the MVC assemblies in the GAC, making it easier to deploy an MVC application to a remote machine. &lt;/p&gt;  &lt;p&gt;Phil Haack has a &lt;a href="http://haacked.com/archive/2009/03/03/aspnetmvc-changes-for-rc2.aspx" target="_blank"&gt;good post on the release&lt;/a&gt;. You can &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ee4b2e97-8a72-449a-82d2-2f720d421031" target="_blank"&gt;download the installer here&lt;/a&gt;. Be sure to uninstall any previous installations first. There is also a growing number of &lt;a href="http://www.codeplex.com/site/search?projectSearchText=ASp.NET%20MVC" target="_blank"&gt;Codeplex.com contributions for ASP.NET MVC&lt;/a&gt;. In addition, they’ve managed to include JQuery 1.3.1 in this install.&lt;/p&gt;  &lt;p&gt;The ASP.NET MVC framework defines a specific pattern to the Web Application folder structure and provides a controller base-class to handle and process requests for “actions”. Developers can take advantage of the specific Visual Studio 2008 MVC templates within this release to create their Web applications, which includes the ability to select a specific Unit Test structure to accompany their Web Application development.&lt;/p&gt;  &lt;p&gt;The MVC framework is fully extensible at all points, allowing developers to create sophisticated structures that meet their needs, including Dependency Injection (DI) techniques, new view rendering engines or specialized controllers. You can freely use &lt;a href="http://structuremap.sourceforge.net/Default.htm" target="_blank"&gt;StructureMap&lt;/a&gt;, &lt;a href="http://www.castleproject.org/activerecord/documentation/v1rc1/usersguide/validation.html" target="_blank"&gt;Castle.Validation&lt;/a&gt;, &lt;a href="http://code.google.com/p/moq/" target="_blank"&gt;MOQ&lt;/a&gt; and much more.&lt;/p&gt;  &lt;p&gt;As the ASP.NET MVC framework is built on ASP.NET 3.5, developers can take advantage of many existing ASP.NET 3.5 features, such as localization, authorization, Profile etc. &lt;/p&gt;  &lt;p&gt;I’m currently working on a Mobile web extension to a client’s MVC web application so I’m gradually getting into the paradigm shift for ASP.NET MVC. There are a lot of things I like about it; and there are some things (like the “learning curve” for classic WebForms developers) that I’m not particularly enthused about.&amp;#160; &lt;/p&gt;  &lt;p&gt;However, I’m getting a lot of positive&amp;#160; peer pressure from my Twitter MVP and developer friends, so it looks like I’ve officially gotten the ASP.NET MVC “throw him in the pool and say ‘swim’” directive.&amp;#160; The folks I follow are mostly pretty smart people, so if they tell me it’s good, I have a high degree of trust that they are right!&lt;/p&gt;  &lt;p&gt;Full source code for ASP.NET MVC RC2 along with source for the Futures is available at &lt;a href="http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24142" target="_blank"&gt;Codeplex.com here&lt;/a&gt;. Don’t complain about lack of documentation because all the XML documentation comments are in the source and you’re welcome to do a build and compile your own help file in your desired format. If you don’t have the time or don’t know how, here is a &lt;a href="http://www.eggheadcafe.com/articles/ASPNETMVC.chm" target="_blank"&gt;standard CHM format help file I’ve created&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;Item of Note&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://ittyurl.net" target="_blank"&gt;IttyUrl.net&lt;/a&gt;, my “social tagging and short urls” web site, has just passed the &lt;u&gt;1500 link mark&lt;/u&gt; for Silverlight links. More searchable Silverlight links than anywhere on earth!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5430866-2151325673398525407?l=petesbloggerama.blogspot.com'/&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/lGrQ?a=X9SA9XrxQNY:yTtLma78Q8c:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/lGrQ?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/lGrQ/~4/X9SA9XrxQNY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://petesbloggerama.blogspot.com/feeds/2151325673398525407/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5430866&amp;postID=2151325673398525407" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/2151325673398525407?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5430866/posts/default/2151325673398525407?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/lGrQ/~3/X9SA9XrxQNY/aspnet-mvc-rc2.html" title="ASP.NET MVC RC2" /><author><name>Peter Bromberg</name><uri>http://www.blogger.com/profile/18173639411723574123</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="09669347480797535165" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://petesbloggerama.blogspot.com/2009/03/aspnet-mvc-rc2.html</feedburner:origLink></entry></feed>
