Wednesday, May 14, 2008

Whatever

Tuesday, May 06, 2008

Oh Hillary!

So I see that Hillary Clinton doesn't care too much for economists:
"I'm not going to put my lot in with economists," Clinton said when asked to name an economist who backed her proposal.

"We've got to get out of this mind-set where somehow elite opinion is always on the side of doing things that really disadvantage the vast majority of Americans."
I'm confused. Is she part of the "faith-based" or "reality-based" community?

Thanks to Arnold Kling at EconLog for the link. Also, his cohort Bryan Caplan has this intriguing view on why Hillary would be harmless as president. In summary, she wouldn't get much done because people hate her so much. Hillary, Divisiveness we can believe in!

Tuesday, April 22, 2008

Who is John Alpha?

If you like science fiction and/or suspense thrillers, I highly recommend the 7th Son Trilogy by J.C. Hutchins. I just finished listening to the last book and I find myself wishing for more. It has clones, blood, computers, government conspiracies, blood, international mayhem, blood, oil, and more. Oh, and blood!

Do yourself a favor and go to iTunes now and download Book One to your iPod (or use whatever feeble mp3 player you find yourself having to cope with).

Saturday, April 05, 2008

Whatever

Sunday, March 30, 2008

Solutions that aren't

Why do I not look to government to solve environmental problems? Two recent news items should help explain.

First, Time Magazine is reporting on the disaster that is ethanol.
Even cellulosic ethanol made from switchgrass, which has been promoted by eco-activists and eco-investors as well as by President Bush as the fuel of the future, looks less green than oil-derived gasoline.

...

[T]he basic problem with most biofuels is amazingly simple, given that researchers have ignored it until now: using land to grow fuel leads to the destruction of forests, wetlands and grasslands that store enormous amounts of carbon.
What has been a dirty little secret for years is finally becoming common knowledge. Yet, we still subsidize and encourage ethanol production.

The second item appeared today in the Raleigh News & Observer and deals with the disposal of Compact Fluorescent (CF) light bulbs (those new bulbs that you will be forced to purchase in a few years).
Disposal options: Don't throw fluorescents in the trash. The light will break and release mercury. In a landfill, it could contaminate the ground. If you must throw a burned-out CFL into the trash, seal it first in two plastic bags to prevent leakage.

The preferred method is to take CFLs to a recycling facility or hazardous waste facility.
So let me get this straight, I'm not supposed to dispose of the bulbs in the usual way because I will be contaminating the environment with mercury. Instead, I should drive to a central recycling facility to dispose of these bulbs, thereby contaminating the environment with carbon dioxide from my car.

Whatever!

Thursday, March 20, 2008

More on Obama

I listened to Barack Obama's recent speech on race and was impressed - it was philosophical and nuanced. As much as I don't like politicians I do like listening to people who have a gift for speech and who speak with depth on serious issues.

I'm not going to say much more about it because I think Jason Kuznicki at Positive Liberty nails it. Here's how he sums it up:
I'm thrilled, because after nearly eight years of bumbling belligerence, and of government by catchy phrases badly delivered, finally someone seems to understand that the American people don’t enjoy being talked down to. This is — finally — nuance without fuzziness.

I'm wary, because Obama's program really is just more of the same frank, old-fashioned big-government liberalism. It still makes me cringe, even after nearly eight years of hypocritical, new-fashioned big-government conservatism. The Bush administration has proven the importance of labels: Call something conservative, and it becomes acceptable to a wide swath of the population, no questions asked. Even if it can't at all be distinguished from LBJ-style war-and-welfare liberalism. I hope that once they are out of power, the Republicans will finally abandon their recent change of direction.
Read the whole thing.

Like Jason, if I had to vote then I would probably vote for Obama - the two alternatives are that bad. But I still plan on sitting this one out.

Wednesday, March 12, 2008

Whatever

Sunday, March 09, 2008

Money, Knowledge, and Power

I tend to ignore those who repeat the blather about how money corrupts the political process. The phrase, like many repeated in the political arena, seems almost meaningless because almost everyone uses it. Being the cynic that I am, I tend to roll my eyes when I hear someone use that phrase even if I'm supposed to think that they are some intellectual spouting some deep political insight.

Larry Lessig, a Stanford law professor, is using this "money corrupts politics" idea as somewhat of a centerpiece for his Change Congress campaign. A recent blog posting on Wired.com briefly explains the current buzz around Lessig's movement. I'd like to comment on some of his statements in order develop my point about political corruption.

First, Lessig is quoted as saying "Money corrupts the process of reasoning...They [legislators] get a sixth sense of how what they do might affect how they raise money." Again, being the cynic that I am I would question whether politicians "reason" about any piece of legislation that crosses their desk (e.g., the PATRIOT ACT). Nonetheless, this statement begs the question: What are legislators doing that would cause them to have to worry about how they raise money?

Let me move on to his second statement: "Lawmakers need to be free from a system that requires them to constantly raise money in order to free them to simply think about how to craft good public policy." I could go along with this if we had a government of limited scope; a government that didn't meddle in the affairs of other nations; a government that wasn't involved in the birth, eduction, business, pleasure, and retirement of the citizens it is supposed to obey; but we don't have that kind of government. We have a government that pervades society, and increasingly inserts itself into the affairs of the people. The knowledge needed to craft "good" policy in a complex society is not knowable even by intelligent men like Mr. Lessig.

I can anticipate the response to the above statement: Legislators will consult the wisest members of the appropriate fields before drafting legislation. This is a naive, Utopian conceit that still assumes knowledge that is not knowable. On economic issues, should you consult an economist or the business man that must make profit and loss decisions? On technology, should you consult the big players in the industry or the guy tinkering in his garage? On health care, should you consult hospitals which are few in number or the vast number of health care consumers clamoring for "free" drugs and medical procedures who, by the way, will be voting in large quantities in the next election?

What it comes down to is that money isn't the problem. Money in politics is like a fever - an effect of a more serious cause. That more serious cause is an insidious disease that can consume anyone. That disease is power.

Money, on the other hand, is the medium of exchange with which those who must succumb to power purchase access to those who exploit power. Fixating on that medium obscures the true source of corruption.

If Mr. Lessig is serious about corruption in politics he should be looking to curb its true source. I fear, however, that he is not serious because his policy recommendations only consolidate more power in the hands of politicians (e.g., government funding of political campaigns).

So, maybe I shouldn't ignore those who use the phrase "money corrupts politics." It's a marker that tells me that the speaker either doesn't understand the true source of political corruption, or the speaker wants access to that source.

Saturday, March 01, 2008

Whatever

Monday, February 25, 2008

The Danger of Myth

In response to the Raleigh News & Observer's Q Section question "What makes a perfect president?", I sent the following
In the Local Voice column of Sunday's Q Section, people responded to the question “what makes a perfect president?” by listing personal traits they look for in a candidate. Things such as intelligence, integrity, and the ability to “think outside the box.” While these traits may be well and good, it seems that people are looking for men who they can mythologize instead of men who will perform the mundane task of preserving, protecting, and defending the Constitution of the United States – the actual duties that should make for a “perfect” president.

The main article seemed to capture this view by showing how we've created a mythology around past presidents. The authors seemed to think that this development is a good thing, and even go so far as to suggest that candidates should “harness the power of mythology” to “become part of the myth.” I have to disagree. Creating myths around men who wield the power of government only distorts history, and turns us into what John Adams feared - a nation of men, not of laws.

Thursday, February 21, 2008

Whatever

  • There is a potty joke here somewhere, but I'll leave it at just being really neat
  • This is an interesting dilemma. Should you be able to sue the company that made the defective product? Or should you be able to sue the institution that said the product was safe?
  • I thought secession was bad??
  • This is just disturbing
  • It's funny (read tragic) what government will do to make sure data align with a political agenda. Or what individuals have to put up with to serve that political agenda.
  • The Nordic miracle isn't so miraculous
  • The good old days are now
  • Power seeking scoundrels can't let family ties stand in the way, can they?
  • Let me guess, in a hundred years we will be complaining about how man is destroying the planet by taking CO2 out of the atmosphere. Seriously though, this is why we need to resist those who call for wealth destruction as a way to solve climate problems. Climate change is an engineering problem that can only be solved with increasing wealth.

Monday, February 18, 2008

Obama and Change

A friend of mine asked for my thoughts on Barack Obama. I alluded to my opinion in my previous post, but I wanted to expand on it here because some libertarians seem to be warming up to Obama.

My friend also sent me this link to Lawrence Lessig's video on why he, Lessig, supports Obama over Clinton. I will try to address some of the points in that video.

Peace for a change

I agree with Lessig's message that electing Obama would give us the best chance for getting out of Iraq. Being against this war from the beginning, I have been tempted to support Obama just on this issue alone. In fact, Obama's 2002 speech opposing the war expresses some sentiments with which I can agree. In particular, the following
I stand before you as someone who is not opposed to war in all circumstances...I don’t oppose all wars...What I am opposed to is a dumb war. What I am opposed to is a rash war...A war based not on reason but on passion, not on principle but on politics.
I can agree with this attitude, but I don't think it goes far enough. What is Obama's philosophical approach to foreign policy in general? Looking at his foreign policy page, I see a hodgepodge of diplomatic efforts that rely on the U.S. being heavily involved in the affairs of other countries. For example
Obama would offer the Iranian regime a choice. If Iran abandons its nuclear program and support for terrorism, we will offer incentives like membership in the World Trade Organization, economic investments, and a move toward normal diplomatic relations. If Iran continues its troubling behavior, we will step up our economic pressure and political isolation.
And if the "economic pressure and political isolation" doesn't work? How far is Obama willing to go? And does this policy risk harming the good will we have with the Iranian people?

What about a non-interventionist policy that pulls U.S. troops, money, and influence out of the affairs of other countries? What are Obama's criteria for a "smart" war? I may be cynical, but my guess would be that Obama, like Bill Clinton, will justify bombing foreign countries with rhetorical flash, and his supporters will eat it up.

How much change, really?

A word on this idea of "change." All candidates for president running against an incumbent in the opposite party are for change. They may wrap it up with noble rhetoric like "changing the tone in Washington," but in reality they just want to change who holds the reins of power. I defy you to name a national election in your lifetime in which someone was not calling for "changing the tone in Washington." Bush in 2000 called himself the "uniter". In 1988 George H.W. Bush was running on a platform of a "kinder, gentler America." This from a man who was essentially the incumbent.

Let's call this Orwell's Law: a word's meaningfulness is inversely proportional to the number of political placards it is printed on.

So, I don't think Obama is for "change." Yes, he wants to end the war in Iraq, but that's about as far as it goes. I know he talks about warm and fuzzy concepts of unity and bringing people together, but I'm sorry, I've heard it before.

He is basically running on the same platform that all Democrats have run on for the past 70 years - the continuation of the New Deal. Take a look at the Issues tab on his website and tell me what's different about his proposals? He may not give hard details, but the basic outlines are pure New Deal statism. Almost every bullet item begins with "The Obama program creates..." or "The Obama program increases.." Yes, the details of his plans may be structurally different from some other candidate's, but how is it philosophically different? Quibbling over which department runs a new program or what percentage increase a program should get is not fundamentally different from what we've seen since the 1930's.

The problem I see is that these programs create constituencies and an entitlement mentality that cause domestic conflict. Any new program that Obama creates will be for a constituency that will fight tooth and nail to see it continue or expanded by future administrations. When the inevitable budget crisis comes, lobbying for those programs will increase and pit one set of constituencies against another.

Take Social Security, for example. Anyone who questions the efficacy or financial health of Social Security is deemed an enemy of seniors. Touch it and your political career is in jeopardy. You can say the same for Medicare, Medicaid, eduction, and to a lesser degree the minimum wage, and public funding of the arts.

Take this piece of legislation co-sponsored by Obama himself. Even if this bill is well-intentioned, having the government define a "Patriot Employer" creates a mindset of division and ugly nationalism, and gives future lawmakers more ways to pander to the masses.

By growing the scope of government, Obama is creating more ammunition for future political wars. How many times have you heard the phrase "this next election is the most important in our lifetime"? I think I've heard it in nearly every election since I've been politically active (1988). Why do people say this? Because the federal government has taken on so much responsibility that even slowing its growth is considered to be the end of civilization.

Conclusion

I respect Obama's stance against the Iraq war, and I can understand why people may want to vote for him on this issue alone. But as a libertarian, I am disturbed by his trust in government to solve so many problems. His overall philosophy is still that of welfare at home, intervention abroad.

I fear that many libertarians are getting drawn in by Obama's rhetorical skills. While I find it somewhat refreshing to hear someone passionately express their beliefs with skill, I would hope that libertarians would not get caught up in the religious oratorical flair of a gifted politician.

By the way, I haven't voted since 2000 and would not have voted for Obama anyway. Politics is not the way to solve problems.

Sunday, February 17, 2008

Whatever

  • American jobs created because of trade with China...who'd a thunk that?
  • I can't believe I'm saying this but I long for the Clinton years
  • Hacking the Earth
  • Zeus gets pissed when his flock worship a false idol
  • For a second there I was thinking that Obama might not be so bad because of his advocacy for ending the war in Iraq. Now I'm cured. Patriotic Employer sounds so bad we should change the term from Orwellian to Obaman. (HT: Coyote Blog)
  • Markets promote peace; governments promote wars
  • Someone got the future correct in the 1960's, but I'm still waiting for the flying car (hey, is that Wink Martendale)
  • What a surprise

Monday, January 28, 2008

Whatever

Sunday, January 27, 2008

Myopia

One of the arguments made against the free market is that businesses are shortsighted - only concerned about short-run profits. Now, I'm not going to make a sweeping claim saying "no they aren't" because that would be simplistic (just as the original claim is). The truth of the matter is that some business are shortsighted and, of course, some aren't. The market process has a way of sorting out those entities whose vision (short or long) doesn't align with consumer interests.

My own personal experience shows that companies can be both long- and shortsighted at the same time. For example, I currently work in the rail industry as a software architect. Like a lot of technology companies, there is a tendency to produce software quickly without looking at the long-term costs of "rushing to get into production." While at the same time the rail industry is spending billions to upgrade their rail network. In one case you have a short-run view to get products delivered, while in another you have a long-run view of protecting future revenue.

I had a discussion with someone this week about the health care industry and whether or not such companies were shortsighted. He gave the example of the shortsighted companies that just wanted to produce drugs, for example, that only dealt with treating current problems and not investing in research for cures to diseases like cancer. (This was also part of discussion about the so-called conspiracy to keep the cancer cure secret from the public.) This is not true, of course, because there are lots of companies spending billions to find cancer cures. What the correct mix of investment for producing treatments for current problems and searching for new cures is something only the market process can determine.

I bring this up because the claim that the market is shortsighted goes along with the claim that government is better at long range planning. This is silly on its face because politicians have an incentive to pander to constituents on a time frame based on the next election. A perfect example is ethanol. Everyone knows that ethanol is at best no better than regular gasoline, and when all environmental impacts are taking into consideration, may even be worse. Yet we spend billions on subsidizing ethanol in part because Iowa is the first test for presidential candidates.

Anyway, Steven Landsburg has a great article on the shortsighted "stimulus" plan now circulating in Washington (HT: Cafe Hayek). Here's a quote:
Ultimately, the only solution to unemployment is for displaced workers to get retrained and find their way back into the workforce. The new stimulus package only delays that process by propping up dying industries for a while and postponing the day of reckoning. Ultimately, there will be just as much hardship because the stimulus package can't last forever. Why spend all this money trying -- and probably failing -- to delay the inevitable?

Sunday, January 20, 2008

Whatever

Wednesday, January 16, 2008

The Firm

Russ Robers over at Cafe Hayek has another good EconTalk episode. He talks with guest Mike Munger of Duke University on the Nature of the Firm. The concept that I took away from the conversation was that firms economize on transaction costs. This may sound a bit arcane, but take a listen anyway. You may appreciate the company you work for a little more.

Speaking of The Firm...

Monday, January 14, 2008

Is Space Exploration Worth the Costs?

Over at the Freakonomics Blog Stephen Dubner asks this question to a panel of 'space authorities'. The post is a long one, but the consensus is yes, space exploration is worth the costs. I'd like to comment on some of the answers.

Let's start with G. Scott Hubbard. He states, in part
2. We explore space and create important new technologies to advance our economy. It is true that, for every dollar we spend on the space program, the U.S. economy receives about $8 of economic benefit.
I'm inclined to be skeptical of this figure, but even it is accurate we have to ask the question "compared to what?" Mr. Hubbard has apparently never heard of Frederic Bastiat. I won't rehash the seen/unseen argument, so go read it yourself.

Along with the seen/unseen argument there is a political angle to this as well. How would politics be different if there weren't billions of dollars available for the taking by crafty politicians trying to buy votes with extravagant projects for congressional districts?

Mr. Hubbard continues:
3. Space exploration in an international context offers a peaceful cooperative venue that is a valuable alternative to nation state hostilities. One can look at the International Space Station and marvel that the former Soviet Union and the U.S. are now active partners. International cooperation is also a way to reduce costs.
Umm...didn't we race into space to beat the Soviet Union, not to cooperate with them? Yes, it's great that we cooperate now, but that's not the way it was from the beginning.

Some more from Mr. Hubbard:
4. National prestige requires that the U.S. continue to be a leader in space, and that includes human exploration. History tells us that great civilizations dare not abandon exploration.
'National prestige' reeks of nationalism to me which contradicts #3 above with regards to 'peaceful cooperation'. Maybe we need fewer 'great' civilizations and more that respect basic rights of the individual. Besides, I hear this argument from every do-gooder and 'grand' thinker who wants to solve some big problem or erect some monument to our greatness. I say to these people "open your wallet and get your fingers out of mine."

Having said all of that, I have always been a fan of astronomy and space exploration. I love hearing about new discoveries and seeing images from the Hubble Space Telescope. I even listen to the Astronomy Cast on a regular basis. I just don't think it's right to force others to fund my hobbies. Maybe if I had less of a tax bite I could privately fund some of these efforts.

More to come...maybe.

Saturday, January 12, 2008

Whatever

Thursday, January 10, 2008

Hoops Goulet

ESPN tends to have some of the more amusing commercials. Back in the 90's they created some to promote their NCAA Basketball coverage and I that they were some of the best. Here are a few.

This one is about UCLA.


Dicky V.


Deano!


This was my favorite.


I almost forgot about Downtown!

Saturday, January 05, 2008

New Year's Whatever

  • This is one example (and here's another) of why I am not pessimistic about Global Warming. As we grow richer we can solve ever more problems. We just need to make sure the enviro-socialists don't destroy the wealth-producing engine that is the market economy.
  • This story should convince anyone that humans and monkeys have a common evolutionary ancestor
  • Traffic anarchy (HT: CafeHayek)
  • So, the Fed acts to curb "risky" lending practices, then the Senate acts to make it easier for sub-prime borrowers to get loans. Oh brother!
  • George Will has some good views on the whole sub-prime mortgage mess

Thursday, December 13, 2007

Whatever

  • Two interesting stories about human evolution and what has driven the process
  • Technology can help solve our "energy problems," as usual
  • Exposing the flaws of the social-welfare state
  • Wow! I think my wife might want this software.
  • This is why I started playing the guitar. Even though the sound isn't what it used to be it's still a neat story.
  • So what?

Saturday, December 08, 2007

Whatever

Tuesday, December 04, 2007

Fight the ignorance

One blog that I read daily is the Neurologica Blog which is run by Dr. Steven Novella. His articles are always very interesting and informative even when the topic is a complex scientific/medical issue. (I highly recommend his podcast the Skeptics Guide to the Universe. He and his fellow "rouges" can always be counted on to provide a humorous and informative look at science and skeptical news of the day.)

I want to comment on this article in which Dr. Novella examines the legal and social issues of "free citizens giving medical advice." He wonders how we protect the public from those who spout bogus medical advice while at the same time upholding the basic right of free speech. Novella doesn't claim to have the answer, but I wanted to comment on something he says at the end of the article. Here's what he says
"...although I think we do need to thoughtfully tighten up our regulation of the giving of medical advice, any legal remedy is extremely problematic. The far better solution is to educate the public so that they can recognize nonsense when they see it. This, however, is also a very imperfect solution as it is far easier to spread misinformation than it is to correct it."
He is skeptical of legal remedies, as I am, and offers education as a possible solution. I think this solution can actually be more powerful than he understands.

I think we as individuals can start by changing expectations about what is acceptable in society. Educate the credulous; call bullshit on those who perpetuate bogus claims; don't let snake oil salesmen go unchallenged - call them out in a public forum. Setting such expectations creates true organic law that is a better reflection of values shared by individuals in society. Political legislation creates constituencies of power that pit groups against each other and creates a market for pull. (DRM is an example of legislation that doesn't reflect the reality "on the ground" but has powerful constituencies that have the ears of politicians.)

Is this idea of "organic law" via expectations a perfect solution? No. But it is at least more nimble than political legislation which punishes the many to stop the few.

I also believe we have to be careful when informing others about pseudo-science and other false claims. I was recently in a discussion with a friend about natural medicines and homeopathy and I was a bit harsh in my criticisms. If I had to do it over again I would most likely take a different approach because in the end I think my harsh tone was counterproductive. There are times, however, when just calling bullshit is necessary.

You'll read more about this idea of "organic law" if I ever get back to live-blogging Law, Legislation, and Liberty. Until then, fight the ignorance!

Saturday, December 01, 2007

Whatever

Sunday, November 25, 2007

Reign over me (cont.)

I sent the following to the Raleigh News & Observer
In your editorial "No dynasty needed," you quote Warren Buffett as saying that "the resources of society I don't think should pass along in an aristocratic dynasty of wealth." This you use to help make your case for keeping the estate tax.

If we are truly concerned about "aristocratic dynasties," however, why not go after the more harmful dynasty of power? Let's amend the Constitution so that family members of former elected officials are prevented from taking their relatives' former seat - a growing phenomenon with regards to Congressional seats. It is possible, after all, that by the year 2017 the presidency will have been in control of two families for nearly 30 years. Why is that less troubling than someone handing down rightfully acquired wealth to his heirs?

We easily violate property rights to prevent so-called "dynasties." Why should we let eligibility requirements for political candidates stand in our way?

Thursday, November 22, 2007

Thanksgiving Whatever

Happy Thanksgiving!

Sunday, November 18, 2007

Reign over me

"The resources of society I don't think should pass along in terms of an aristocratic dynasty of wealth. I believe in keeping equality of opportunity as much as you can in this country."

Those were the words of renowned investment guru Warren Buffet when he spoke to the Senate Finance Committee recently. He was there to lobby the U.S. Congress to keep the Inheritance Tax which was set to expire in 2010 (it would actually only expire for that year and would return in 2011). It's somewhat sad that such leftist shibboleths are spoken by a man who seems to have the Midas Touch when it comes to investing.

Let's start from the beginning. "The resources of society..." No Mr. Buffet they are not society's resources they are yours. You created them with your hard work - they would not have existed otherwise. Why does "society" have a claim on them? Okay, maybe you can make the claim that if it wasn't for "society" you wouldn't have had the ability to acquire such wealth. But the reverse case could also be made: other members of society wouldn't be as rich or even have jobs if it weren't for men like you.

"... I don't think should pass along in terms of an aristocratic dynasty of wealth." I applaud the healthy suspicion of aristocracy, but let's not forget the other American tradition: respect for property rights. I would also argue that a "dynasty of wealth" is somewhat innocuous unless that wealth is allowed to wield the power of government. We can blame the owners of such wealth for influencing government power, but the onus must fall upon elected officials who allow themselves to be bought.

A note on terminology: Aristocratic dynasties are primarily governing institutions. If we really wanted to stop true "aristocratic dynasties" shouldn't we amend the constitution to prevent family members of former elected officials from running for office? (It is possible that by 2017 the U.S. Presidency would have been in the control of two families for almost 30 years. There is also a growing trend where children are replacing their parents in Congress.)

"I believe in keeping equality of opportunity as much as you can is this country." How is it that opportunity is taken away from anyone if you, Mr. Buffet, are able to leave your wealth to your heirs? I would argue that your wealth has created opportunity for countless numbers of people - whether it be with jobs that were created or investments that increased in value. Do you trust the political process with such wealth more than your heirs? You may want to think that your taxed wealth will go to better someone's life, but it could just as easily be said that that money will go to support more corruption and war. I would hope that you would look to clean up government before giving it more wealth to destroy.

Here's an idea: Why not continue your philanthropic ways by willing your estate to a cause (or causes) that would provide opportunity directly to individuals? Why should that wealth have to be pass through the unproductive sieve of a political bureaucracy?

Unfortunately, Mr. Buffet is part of a sad tradition of wealthy people who want to fund and lobby for the destruction of the very engine that made them wealthy. Maybe this book by Garet Garrett would be a valuable read.

Thursday, November 15, 2007

Whatever

Some random whatever

Tuesday, November 13, 2007

Milton Friedman on "greed"

I love this YouTube video of Milton Friedman giving Phil Donahue a good smack-down. In contrast to Donahue's banal, simplistic arguments, Friedman teaches with reason and trenchant arguments while maintaining a sense of class.

Ants and order

Here's an article from Carl Zimmer talking about how insects create order by following very simple rules. What's interesting is that in the article Zimmer mentions that experiments were run with humans to mimic this order making phenomenon. I couldn't help but wonder why they had to run experiments with humans, because you could easily study human society to find similar spontaneous orders. Medieval law, language, the market process and other aspects of human culture can be traced to individuals following simple rules.

I will have more to say about this in future blog posts when I continue my live blogging of "Law, Legislation, and Liberty."

Saturday, November 10, 2007

Two minute answers

I've joined Toastmasters recently, and in this past week's session the table-topics master asked "how would you fix the problem of rising gas prices?" I regret not volunteering to answer because it would have been a good forum in which to educate people on the market process. So here is the answer I would have given.

My answer is that I don't know, and neither do you. No one in Washington knows and no environmentalist or oil company executive knows.

The answer, or more likely answers, will emerge from what Ludwig von Mises called the "daily repeated plebiscite" of the market process. Each of us contributes to this process by acting on our own bit of information. Consumers make decisions about what and how much to purchase, and producers and entrepreneurs decide on what and how much to produce. What governs this process is not some central authority with god-like powers; nor is it some committee of wise men with only the public good in mind. The governing mechanism of this "daily plebiscite" is the price system. Rising prices encourage consumers to cut back on purchases while at the same time encouraging producers to find new sources of supply. Innovative new products and technologies become more viable with higher prices.

Now I know this answer is somewhat simplistic because it ignores the international political issues going on in the world. It also assumes that the normative statement of rising gas prices being a problem is correct. But there was a two minute time limit!

Wednesday, November 07, 2007

Whatever

Some random whatevers

Monday, November 05, 2007

Economics of health care

I've written many blog posts about health care and the problems with government-run systems, so I was excited to see that the latest episode of EconTalk with Russ Roberts was about the economics of health care. Take a listen.

BTW, if EconTalk is not one of your regular podcast subscriptions, you should make it so. Russ Roberts is a great host, and his topics are very thought provoking and interesting. If you have listened to EconTalk before then think about voting for it as the Best Podcast of the Year.

While I'm on the subject of the economics of health care, here are some interesting articles to peruse

Monday, September 03, 2007

Kosmos and Taxis


Go to the ant, you sluggard;
consider its ways and be wise!
It has no commander,
no overseer or ruler,
yet it stores its provisions in summer
and gathers its food at harvest.
-- Proverbs 6:6
I continue my live-blogging of Law, Legislation, and Liberty here with an investigation into order and its sources.

Order

Hayek defines social order in the following way:

“a state of affairs in which a multiplicity of events of various kinds are so related to each other that we may learn from our acquaintance with some spatial or temporal part of the whole to form correct expectations concerning the rest, or at least expectations which have a good chance of proving correct.”

The key word in that definition for me is expectation – order is expectation. Order is knowing that a cause will have an effect. Hayek expounds on his definition by saying that order manifests itself in the matching of intentions and expectations of different individuals who are members of a society and who are dependent upon cooperation with others.

Sources of Order

Now, having defined order we need to determine how it comes about. According to Hayek there are two sources of order – made order (taxis) and spontaneous order (kosmos).

Made orders require a “maker” from outside the system (exogenous) with a deliberate arrangement in mind. The “maker” is authoritarian and requires knowledge that is not possible to attain when dealing with complex systems. Simple organizations are made orders that have defined rules for the different roles. The operational details of those roles, however, are still left to the individual members.

Spontaneous orders, on the other hand, emerge based on rules not known by the individual elements. Nature teems with this kind of order (e.g., evolution, insect colonies, etc.), but we can also see it in human institutions. Language is a classic example, but what is more interesting is the order that emerges in basic human civilization. For a social order to exist individual members must follow certain rules, but how are those rules defined if a social order does not yet exist? The rules must evolve over time. Just like evolved traits that allow biological forms to survive and reproduce, social rules that allow individual members of a group to survive will be passed on and allow the group to survive. (We must be careful here and not equate social groups (i.e., society) with organisms. Organisms are concrete entities while social groups are mere abstractions that are constructed by the mind.)

Hayek says this about the rules that govern human society:

"Although man never existed without laws that he obeyed, he did, of course, exist for hundreds of thousands of years without laws he 'knew' in the sense that he was able to articulate them."

Could this be why murder seems so intuitively wrong to us? What about theft and property rights in general? Could we have evolved past a primitive state without these “laws”?

Conclusion

What is the purpose of defining order and its causes? Hayek is basically leading us to a differentiation between law and legislation - laws are naturally forming while legislation is man-made. Laws are what bring about a natural order. What does legislation bring? To be continued...

The End of Scarcity

This article is another reminder that John Edwards is an economic illiterate. If he were to be elected president he would do to this country what George Bush is doing to Iraq. Ok, that's a little strong, and there aren't many other candidates in this race that would be better, but come on! We are talking about a basic understanding of scarcity and incentives.

Monday, August 20, 2007

Divorce

This past weekend I closed the Window on a fifteen year relationship. The decision was inevitable. The relationship had become too routine even though we continually tried to Start anew. The age difference had finally begun to show. Separation was the only course of action, as Macabre as it may seem.

With one relationship ending, however, another has begun. For the past year or so I have been flirting with this other. Several years ago, an office fling was started but amounted to nothing - immaturity kept it from ripening into anything serious. Now at a Mini-mum, everything seems right. The combination of beauty, elegance, and prowess gives me hope for a long, fruitful relationship.

I only hope I haven't given in to succulent lust when another Vista may have opened in front of me.

Sunday, August 12, 2007

NFJS: The Java Memory Model

[More of my first "No Fluff, Just Stuff" experience]

The Java Memory Model session with Brian Goetz was intense, and I wasn't the only attendee to come away from the talk feeling that way. I'm still trying to absorb some of the concepts mentioned in the session, but I will do my best to summarize it here.

"A Memory Model is an abstraction for how one thread sees the effects of another thread's actions on memory." The following optimizations may interfere with this visibility
  • Values might be sitting in a processor-local cache and not yet flushed, or the local processor may have stale values in its cache
  • Values could be cached in registers and not written to memory
  • The processor may have executed instructions out of order
  • The compiler may have reordered certain instructions
The problem with these optimizations comes when you are trying to access shared data.

What blew the minds of some of the attendees was the idea that "sequentiality is an illusion" with modern processors. "This is not your father's Von Neumann machine," as Brian put it. But Java does provide the developer with mechanisms to ease the pain.

Synchronize

The synchronize mechanism is one of the tools Java provides to help developers deal with the complexities of concurrent programming. Here is Brian's Rule of Synchronization
If you are writing a field which may next be read by another thread, or reading a field which may have been last written by another thread, you must synchronize.
  • Synchronization is required by both the reading thread and the writing thread
  • Both reading and writing threads must synchronize on the same lock
In essence you must synchronize when accessing shared, mutable data. Something else that Brian mentioned that probably should be a global rule of programming is "make it right before you make it fast." (Hey, that rule could apply to guitar playing as well!)

Brian then talked about the happens-before relation which states that "if one action happens-before another, then the first is visible to and ordered before the second. This relation is defined in the Java Language Specification (Chapter 17).

So what problems could arise if the Java Memory Model (JMM) did not have the happens-before rule? The optimizations listed above will give you a clue. The order of operation execution in thread A, for example, may appear different from thread B's perspective (just like Special Relativity – order of execution is relative to the observer). Essentially, operations could occur in almost any order.

Volatile

The other tool that Java developers have for dealing with concurrent programming complexities is volatile variables. The visibility rules are similar to synchronized blocks, but there are no atomicity or mutual exclusion guarantees. Volatile variables are good for flags and "for safely publishing objects where atomicity is not required."

There is a lot more in this session including a little history of the JMM, problems with the old JMM, the double-checked-locking problem and how the new JMM fixes it with volatile. He ends with the following advice
  • Don't try to reason about ordering in under-synchronized programs
  • Make it right, then make it fast
  • Avoid tricks which rely on unsynchronized nonvolatile reads, like double-checked locking
  • Don't try to outsmart the JVM (synchronization is trickier than you might think)
Like I said, this session was intense. There were people who seemed visibly amazed at some of the things Brian was telling them (myself included). I think another idea from Einstein applies: spooky action at a distance. Spooky indeed.

A note on the speaker: Brian is a good speaker and very knowledgeable. He was obviously the smartest person in the room. He did a very good job explaining something that is very complex which tells me he really understands this subject.

Next up: The Holy Grail(s)

Saturday, August 11, 2007

NFJS: The Holy Grail(s)

[More of my first "No Fluff, Just Stuff" experience]

My last session at "No Fluff, Just Stuff" was Advanced Domain Models with Grails with Jason Rudolph. (N.B.: Jason is a friend and former co-worker of mine.) I saw Jason's Getting Started with Grails session at a recent Triangle Java User Group meeting, and was impressed with the simplicity and power of Grails. I was eager to learn more.

Jason started the session by talking about the benefits of GORM (Grails Object Relational Mapping) and how DAOs are evil (maybe those are my words). This is one aspect of Grails that I really like because, as Jason said, no one wants to write another DAO. We should be spending our time as programmers writing business logic, not plumbing.

Here are the key benefits of GORM
  • Zero-configuration persistence management
  • Rich relationship model
  • Declarative validation
  • Powerful query support
  • Easy scaffolding
All this makes for a happy, productive developer.

GORM, by the way, is built on Hibernate which is something that impresses me about Grails. It is built on proven technology with intuitive behavior. Jason did a great job emphasizing this aspect of Grails by building an application from scratch throughout the session.

Jason showed how easy it is in Grails to map relationships between entities. Using Groovy, here’s how you create a 1-to-n relationship

class Knight
{
static hasMany = [swords : Sword]
}
class Sword
{
static belongsTo = Knight
}
Grails takes care of the rest. It can’t get much easier.

Using EJB3 POJOs was about as easy as updating a Hibernate configuration file with the fully qualified class name. Converting those classes to Groovy was easy and, I believe, the preferable approach. In fact, the power of GORM allows you to swap out domain classes written in different languages with little effort.

What was great about this presentation was that Jason spent more time doing and less time pointing at slides. One thing I found a little disappointing, however, was the domain he was using for his examples. I get the joke about Knights and Swords, but I would have liked to see something more related to a business-oriented domain. (I overheard someone in a different session groan about having to see the bookstore example again.) I know it’s not possible to create a real-life application in ninety minutes, but incorporating some of the challenges found in enterprise applications might be useful. For example, ummm….I’m drawing a blank at the moment. This session did run a little short, so I think there is some room for a more complex example.

A note about the speaker: Jason is a good, knowledgeable speaker who knows his domain. He’s not a natural presenter like some of the others, but after seeing him present a few other times I do notice him improving. His passion for technology shows and that makes for an enjoyable session.

--

That's it! That was my first NFJS experience. It was a fun and exhausting weekend, and I look forward to next year. I hope these session summaries were somewhat valuable.

Thursday, August 09, 2007

SOA what!

[More of my first "No Fluff, Just Stuff" experience]

My last day at the Raleigh "No Fluff, Just Stuff" symposium began with a session called Implementing SOA. This was another session with Neal Ford who seemed to be in competition with Venkat Subramaniam to see who could speak at the most diverse set of sessions.

The session started off with Neal's opinion that a Service Oriented Architecture is not possible without agile best practices. He supports this by saying that such an architecture must be able to adapt to change gracefully. This seems intuitively correct to me because of the fine-grained nature of services and the complexity of the overall architecture. Without the small stuff being correct and stable, the big stuff won't matter.

What is SOA?

Here is how Neal defines SOA
  • Enterprise-wide architecture that breaks monolithic applications into a set of finer grain services
  • Services are available enterprise-wide through standard protocols
  • New applications are assembled from existing services rather than built from scratch
  • Services are registered in a central registry
  • Services can be discovered and interfaces can be 'negotiated'
  • Common services such as security can be shared by all applications or application services
That seems straightforward enough, but something tells me that even these clear guidelines can be stretched to include architectures that don't embody the spirit of SOA. Because what exactly is a "service" anyway? Hmm. Let's see if we can't flush that out as we evolve to an SOA.

Stages of an SOA

Stage 0, as Neal called it, of an SOA is a set of siloed applications that have no integration. This is the typical scenario of many IT organizations - disparate applications that could share common libraries (e.g., security, logging, etc.), but don't talk to one another and could possibly duplicate information.

In Stage 1 we start to see applications exposing functions as Web Services, but there is no integration or management of these services. This is relatively easy to accomplish, and as a best practice should be done via Web Service facades.

Stage 2 starts the process of centrally managing the exposed services from Stage 1. This is where a centralized service, like a Security Service, can start to be used and is, in fact, a good "case study" for the larger SOA.

Stage 3 is the "paradigm shift" - applications are dissolved into coarse-grained business services and business processes are managed across those services. The business functionality in those siloed applications (Stage 0) start to get cleaved away into standalone services that can be orchestrated or choreographed into business processes. This is where I see the agile/iterative process being a key to success.

Service Versioning

Once you have your services up and running what do you do when you need to version a service? The answer depends on whether your services are strongly typed or loosely typed. Strongly type services look something like this
public int AddOrder( Order toAdd, LineItems[] lineItems )
This is the typical way in which we define a method in Java, but you can see the problems if the interface needs to change.

A better way is to loosely type your services. This is done by having your services pass around a canonically defined document. Endpoints end up looking like this
public void service( Document doc )
What changes in this version is not the service, but the document. The service can then use a factory to retrieve the proper logic for handling the given document version (Strategy Pattern).

With loosely coupled services, we can now create a bus architecture that is document-centric and more resilient to change. Defining a robust meta-model for your document structure, however, is paramount to making this architecture a success.

What's also important (maybe most important) to remember here is that your services must have the correct granularity. Too granular and you get latency issues. Too coarse means there is not enough separation of business behavior. "Business function should drive service granularity."

Other things of interest that Neal mentioned included using XSL/XSLT to transform documents before putting them onto or getting them off of the bus. What I found most amusing are Neal's feelings on BPEL. He calls it “doodle-ware” and thinks it's a bad idea - "keep behavior in code," he says.

Conclusion

This session was jam packed with information, most of which was really useful. With my company starting to implement an SOA I will frequently be returning to my notes on this session.

Next up: The Java Memory Model

Monday, August 06, 2007

NFJS: How to build a team...maybe

[More of my first No Fluff, Just Stuff experience]

Build Teams, Not Products with Jared Richardson was one "No Fluff, Just Stuff" session that actually surprised me. I went in with low expectations, thinking I would be taking a break from the long day of lectures, and ended up really enjoying the talk even though the content wasn't groundbreaking - something I've complained about with other NFJS sessions.

Jared started off by talking about employee motivation using Maslow's hierarchy of needs. He broke down IT worker motivation to the follow needs
  • Self improvement
  • Respect
  • Belonging
  • Job Security
This is not an exhaustive list, of course, but something that some employers neglect all too often.

Jared then laid out six "principles" of team building each with a corresponding "anti-pattern." They are







PrincipleAnti-pattern
InteractionIsolation
MentoringImmaturity
LearningApathy
VisionThrashing
LeadershipFeuding
FunBoredom

During the rest of the session, Jared kept referring back to these principles when he introduced a new best practice. This was a great way to tie everyday work practices back to a set of core principles - an exercise that organizations should probably do on a regular basis.

We then moved on to the best practices. Like I said above, these were not groundbreaking ideas that are new to the industry. They are things that most companies have probably done in one form or another. I've done several of them at different times in my career. What made this session interesting was how we connected each best practice back to a core principle, and also, how Jared illustrated each with an anecdote.

Here are the best practices
  • Daily meetings
    • Three questions
    • One minute per person
    • Everyone talks
    • Scrum
  • Code reviews
    • Fast and frequent
    • One-on-one
    • Rotate reviewers
    • Teach by asking
  • Team-wide architecture
    • Design as a team
    • Requires a leader
    • Everyone hears, contributes, learns
  • Test automation
    • Automate boring work
    • Remove personal touch
  • Task lists
    • The source of work
Nothing new here. As an exercise for the reader, relate each of those practices back to the principles above.

The punchline of the session was just as we were leaving someone asked which of these we should be using. Jared replied, "Use what works." I find it amusing because here we are in this session being told the benefits of these best practices just to find out they may not work! "Introduce frequently, remove frequently," is good advice.

One last thing that was mentioned in the session that I found worth repeating was this quote: Working with smart people helps raise the effectiveness of all team members. Something to keep in mind when you are interviewing prospective employees.

Note about the speaker. I guess what made this session enjoyable was in large part due to the enthusiasm of Jared Richardson. He is a very good speaker, second only to Scott Davis in the NFJS sessions I attended.

Next up: SOA what!

Sunday, August 05, 2007

NFJS: A couple of disappointments

I want to discuss two sessions during the weekend of "No Fluff, Just Stuff" that I found disappointing: Domain Driven Design (DDD): Simplifying Enterprise Architecture with Ramnivas Laddad and The Zen of REST with Scott Davis. DDD was so disappointing, in fact, that I had to leave 45 minutes into the session.

Part of the problem with the DDD session was that the subject matter dealt with nothing new. The session description reads as follows
"[DDD] recommends dealing with complex software system[s] using a domain model and preserving the model through implementation."
I guess I should have gotten a clue after reading this description, but sitting in the session made me feel like I was reading James Rumbaugh's Object Oriented Modeling and Design book all over again (remember, the one that competed with Grady Booch's book). Maybe the second half of the session had some more punch to it, but I doubt it.

The other problem with this session was that Ramnivas was not an inspiring speaker. As soon as it started I could tell it was going to be a dreadful session. He seemed like a knowledgeable enough fellow, but his speaking style was way too monotone.

"The Zen of REST" was a little better (I actually stayed the entire time), but I was disappointed because it also told me nothing new. Scott spent a lot of time showing us what Yahoo! is doing with REST, which is OK I guess, but I didn't feel any zen from this type of presentation. I am not sure exactly what I was looking for in this session, but my understanding going into it was not enhanced when I left.

Would I recommend either of these sessions? "The Zen of REST" maybe. It at least had some good live examples. DDD, however, would only be useful for someone just starting out in software design.

Next up: How to build a team...maybe.

NFJS: Domain Specific Languages

Building DSLs in Static and Dynamic Languages was another "No Fluff, Just Stuff" session that I was really looking forward to. There has been somewhat of a buzz lately about Domain Specific Languages (DSLs), especially with the rise of languages like Groovy. With the little experience I have with Groovy I can see why it would be a great choice for creating a DSL. This session also explored creating DSLs with static languages, with particular emphasis on Java.

Neal Ford started the session by talking about how DSLs make programmers change their abstraction style. We should no longer think in trees or hierarchies, but in layers of abstraction using language – what Neal called "working at a higher level of abstraction." He also distinguished between declarative vs. imperative programming, which had echoes of what I heard in the Drools session.

To emphasize the importance of moving to a higher level of abstraction, Neal made the observation that "every non-trivial human behavior has a domain specific language." Here are some examples
  • "Iced Decaf Triple Grande Vanilla Skim with whip latte"
  • "Route 66, swinging, easy on the chorus, extra solo at the coda, and bump at the end"
  • "OMFG D00d Bob is t3h UBER 1337 R0XX0RZ LOL
The point of all this is, of course, to show that there is a disconnect between how we as programmers write code in our problem domain and how we speak in our problem domain. Can't we bring the two together? Wasn't object-oriented programming supposed to do that?

In typical programming, we code using an API that has an explicit context. For example
Coffee latte = new Coffee( Size.VENTI );
latte.setFatContent( FatContent.NON_FAT );
latte.setWhip( Whip.NONE );
latte.setFoam( Foam.NONE );
latte.setTemperature( Temp.EXTRA_HOT );
latte.setStrength( 5 );
The context, latte, is explicit and repeated. DSLs, however, have an implicit context which seems more natural to us. You would speak the code segment above thusly
Venti half-caf, non-fat, extra hot, no foam, no whip latte
See, you know the context so why repeat it. Why can't we code in this manner? Maybe we can.

Types of DSLs

There are two types of DSLs: internal and external. Internal DSLs sit on top of the base language and make the job of programming a little more fluent. An external DSL is a separate language that needs a "lexer and parser." One disappointment that I think many people had with this session was that we did not go into external DSLs enough.

What is meant by fluent with regards to internal DSLs is that lines of code are treated as sentences – complete units of thought. This makes code easier to read, but much harder to write. The simplest way to create an internal DSL with Java is to have methods return this so that actions can be chained, and context does not have to be repeated. Also, method names have to be a little more grammatical. Here's an example
Car car = new CarImpl().withMarketingDescriptionOf( new MarketingDescription( “Box” ) ).
andAttributeOf( “length”, “50.5” ).
andIncludesA( “ladder” ).
andAttributeOf( “lining type”, “cork” ) );
While I can see how this can be more fluent, I think the nature of Java still makes this look and feel clunky (a method named andAttributeOf, yuck!). Neal's comment about how this is harder to write is well taken. As an aside, Smalltalk's nature is better suited for this type of programming.

Neal then spent some time on best practices for method chaining and how to avoid some pitfalls like the stopping problem. I leave that for the reader to explore.

Internal DSLs in Groovy

Next, Neal talked about creating internal DSLs with Groovy. Looser syntax, closures, dynamic typing all make Groovy a better base language for writing DSLs.

One of the most powerful features in Groovy that makes a DSL easy to create is the category feature. This allows the developer to add additional behavior to classes not under their direct control. For instance, you could add a method to Integer called days. Why? So you could do something like this
2.days.fromToday.at( 4.pm )
This can be valid syntax in Groovy if implemented correctly. In Groovy 1.1 this will be even easier with the ExpandoMetaClass class (something borrowed from Grails). The analogy I give for this concept is that you are teaching an old dog new tricks.

Conclusion

This was a good session. It didn't live up to my expectations, but overall I enjoyed it. I do have some doubts, however, on the benefit of creating internal DSLs with Java. This idea seems like a better fit for Groovy or dynamic languages in general.

A note about the speaker. Neal Ford is a very competent speaker. His strength is his breadth of knowledge. I attended two of his sessions, which, by the way, covered two completely different topics, and in both cases you could easily tell he had a command of the subject matter. People who I talked to who attended his other sessions came to the same conclusion. He is not a pure speaker like Scott Davis, but he is very good.

Next up: A couple of disappointments