Friday, February 27, 2009

"We try to solve the problem by rushing through the design process so that enough time is left at the end of the project to uncover the errors that were made because we rushed through the design process." by Glenford J. Myers

"Code Complete: A Practical Handbook of Software Construction" by Steve C McConnell, ISBN: 1556154844, page: 143

Tuesday, February 24, 2009

ASP.NET MVC RC Compiler Post-Build Step

I was reading through the ASP.NET MVC RC Release Notes and saw a section that could be easy to skip over, but will help me out considerably on my MVC project.

Previously, I've been burned by my Views having compile time errors, but not catching them until runtime. You can now add a new <MvcBuildViews /> tag to your MVC project file to detect these errors at compile time!

The following is a snippet from the ASP.NET MVC RC Release Notes document...

ASP.NET Compiler Post-Build Step

Currently, errors within a view file are not detected until run time. To let you detect these errors at compile time, ASP.NET MVC projects now include an MvcBuildViews property, which is disabled by default. To enable this property, open the project file and set the MvcBuildViews property to true, as shown in the following example:

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <MvcBuildViews>true</MvcBuildViews>
  </PropertyGroup>

Note: Enabling this feature adds some overhead to the build time.

You can update projects that were created with previous releases of MVC to include build-time validation of views by performing the following steps:

  1. Open the project file in a text editor.
  2. Add the following element under the top-most element:

    <MvcBuildViews>true</MvcBuildViews>
    
  3. At the end of the project file, uncomment the element and modify it to match the following example:

    <Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
      <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
    </Target>
    

I just started upgrading my MVC project to the RC and having this Post-Build Step turned on really helped during the upgrade process.

"Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline." --Bill Clinton

Friday, February 20, 2009

Watercolor Date Night Turned jQuery

My wife and I went on a long overdue date night. We first went out to eat and then came back home after the kids were in bed to do some relaxing watercolor painting.

We had been brainstorming for quite some time about the subject of our painting... and then I came upon the above "jQuery Rocks" idea.

Although I enjoyed adding some tech to my painting, I am thinking next time we do this activity, I will choose to paint a landscape or something less geeky :)

A friend of mine suggested that I put it up on eBay... I wonder if anyone would even bid on it!?!

Friday, February 13, 2009

Mini jQuery Lab

Yesterday, I ran across an interesting blog entry written by Jeffery. The title and images caught my eye, but I had a hard time understanding the Chinese. The article talked about a "Mini jQuery Lab" and had pictures showing a cool playground webpage mixing CSS, HTML, and jQuery!

I sent the URL through Google Translate to try to find where I could download the tool, but I still had difficulty figuring out the translation. Finally, I left a comment and the author walked me through what to do.

Basically, I just download the jQueryDemo5.zip from the bottom of a MSDN article. Inside the zip file was the Mini jQuery Lab. I extracted just the Mini jQuery Lab part of the zip, and hosted it on my website for your download.

So, I thought I'd play around with the tool for a little while. I ended up making a real simple jQuery AJAX call to retrieve my latest tweets from Twitter and display them inside of an ordered list.

At any time you can click the 'View HTML Source' link at the top of the webpage to view a complete page with all your CSS, HTML, and jQuery showing inside a SyntaxHighlighter pre tag.

Here is the code if you are interested in what I was playing around with...

<html>
<head>
<style type='text/css'>
ul {
   list-style-type: lower-greek;
   padding-left: 25px;
   font-size: 16px;
   line-height: 2em;
}
</style>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.js'></script>
<script type='text/javascript'>
$(function() {
$.get("http://twitter.com/statuses/user_timeline/9453872.rss",
   function(xml) {
      $(xml).find("item").each(function() {
         var title = $(this).find("title").text();
         $('#lstTweets').append('<li>' + title + '</li>');
      });
   },
   "xml"
);
});
</script>
</head><body>
<h3>List of My Tweets</h3>
<ul id="lstTweets" />
</body>
</html>

I hope you find this a useful tool. I can see it very handy when playing around with small new tricks or showing some things off during a presentation.

Tuesday, February 03, 2009

25 Random Facts About Me

It looks I've been tagged on facebook by several people to do this, so here it goes...

  1. I'm a Twitterholic and you are welcome to follow me on Twitter.
  2. I've lived in at least 6 states, 8 cities, and 12 apartments/houses during my lifespan.
  3. I work as a consultant, but I've only consulted with one client for the past 3 years.
  4. I'm the tallest person in my immediate family measuring in at whopping 5 foot 6 inches.
  5. I'm probably in the minority of men at the age of 32 that actually own a pair of Heelys.
  6. Secretly, my favorite movie is the Sound of Music, but shhh don't tell...
  7. In November 2004 I placed 4th in a weight lifting competition benching 185.18% of my body weight (lifted 250 lbs).
  8. We owned a dog, Bandit, for about 3 months before our first child was born. He kept pooping where we knew our child would be crawling on the carpet. He now lives with a nice elderly lady.
  9. I was the biggest loser in our neighborhood losing 16.31% of my weight (27 lbs) in 3 months! Of course, I've gained all that back :)
  10. When I was younger I took a karate class, but when the wind was knocked out of me... pain equaled gain and I quit!
  11. Although I graduated with honors, I chose not to attend my high school graduation.
  12. I ran track in high school. The 4 x 100 team I was on made it to the Arizona state finals my Junior year.
  13. I received the following track complement, "That white boy can run", as my short legs scrambled to keep up those who weren't height challenged.
  14. When I was younger I was afraid of ants. I literally thought they would crawl all the way up my pants!
  15. A friend and I coveted the Omnibot 2000 from the Christmas edition of the Sears catalog. Santa got it for my friend, but it turned out to be quite lame.
  16. Some interesting anagrams for Elijah Manor are Jail Man Hero, Major Inhale, Alien JoHarm, and Lion Hare Jam.
  17. I used to wish that I was Elongated Man so I could move my mid-section to the bathroom so that I wouldn't miss any part of the Smurfs cartoon.
  18. I keep thinking that I am going to outgrow getting acne, but it keeps poking up its ugly head at every turn.
  19. I have been proactive in creating gmail accounts for my two children. Who knows if they will be available when they get older :)
  20. I practically swim in coffee and Diet Mt. Dew... my record is 9 cups of coffee in one day. I plan to break that record soon.
  21. I have daily headaches that often incapacitate me. Taking medicine helps, but we haven't found the cause of them yet.
  22. I am known for doing the Robot Manor Dance when you least expect it!
  23. When my hair gets too long it starts to look like an over sized Brillo pad. I used to be against product, but now its almost a necessity.
  24. Since my birthday is 4 days after Christmas, I tried to start celebrating my half birthday, but both my wife and mother forgot the first year I implemented it.
  25. I most cherish Jesus my savior who came to Earth as a man, lived as one of us, died for my sins, was raised from the dead, and now is preparing a place for me in heaven with him.

Did you have a favorite random fact about me or do you you have one of the above in common with me? If so, please share it with me in the comments below...