Last night I had the great pleasure of taking Carter to his first concert. The Murfreesboro Symphony performed a selection of music from popular movies during “A Night with Oscar.”

He did amazingly well considering the show started at 7:30 and lasted for almost 2-hours. Not once did he complain or ask to leave. Quite the contrary, for most of the songs he tapped his toes, pretended to play drums or simply sat and watched intensely.

As we took our seats near the front of the hall, I noticed nervous looks from the older couple seated next to us, no doubt thinking “great, our peaceful night out is ruined, thanks to this kid.” However, at the intermission, the gentleman asked how old Carter was. He commented on how well behaved he was and that he’d never dream of bringing his grand-kids of similar age.

Yes, I’m bragging and it’s because I’m proud. I’m thankful that I have a son that is willing to do things like this with me. I’m thankful he’s well behaved enough to go to something like this and even appreciate something like this at 4 years old. I’m thankful I have a son that can say in the middle of the show “Dad, I think this was a great idea.”

The program couldn’t have been planned any better. There were enough pieces he was familiar with to keep his attention and with Star Wars being the final piece, we counted down the songs until it was time for his favorite.

The program only listed Star Wars as the final selection, so there were a few puzzled looks when the orchestra started when they began playing Leia’s theme. There was a small break between Leia’s theme and the Star Wars Main Title. For a moment, I was afraid they weren’t going to play it.

The Main Title theme got the biggest response from the mostly over 40 crowd, but I was the least impressed by this piece live. Not the orchestra’s fault, they were flawless. It just seemed like a constant march or pounding. Not enough subtlety or pauses to appreciate what was happening.

When the Main Title theme was done, Carter was ready to go and had started walking to the end of the row after the applause died down. He stopped dead in his tracks and began grinning from ear-to-ear when he heard the first few bars from the Imperial March (Darth Vader’s theme).

Overall, it was an excellent show. It was the first time I had heard many of those songs in a live setting. Jaws was probably the biggest surprise. I love the movie (and the music), but the impact that piece of music has in a live setting is amazing. Every orchestra member seems to be playing something different. Notes are out of harmony. The increase in in tempo. It all builds an amazing amount of tension.

There was one bad thing about the evening, the audience. It was a sizeable crowd, but there should have been many more people there. If I had to guess, the majority of the audience was over 40-50 years old, with only a few children (less than 10) in attendance. That’s just sad. Something like this was perfect for families wanting to introduce their kids to something other than typical music on the radio.

Thankfully, the new season for the Murfreesboro Symphony is about to begin and they’ve got a similar performance planned showcasing music inspired by literature. If you’re in the Middle Tennessee area, it’s a great, inexpensive night out. Keep checking the Murfreesboro Symphony web site for the updated 2008-2009 schedule.

Why, Microsoft, why? That’s all I ask. Why must you continue to introduce proprietary technology in Internet Explorer?

Internet Explorer 8 Beta is now available for download and one of the new features is WebSlices. By adding a few specific class names to content blocks, IE will essentially syndicate the content.

<code><div class=”hslice” id=”1”>
  <p class=”entry-title”>item – $66.00</p>
  <div class=”entry-content”>high bidder:buyer1
    …
  </div>
</div>

Using the above classes will generate content the user (or IE8 user) can subscribe too. Why not RSS? Is it because that’s compatible with other software, browsers, and readers. Microsoft wanted something that would just work for Internet Explorer.

Do they honestly thing any developer will support or use this? Hmm… let’s see… I can create a RSS feed for my content that anyone can use (even IE7 and IE8 users) or I can create the WebSlice just for IE8 users. The only use this will get will be from FrontPage/Expression users who do not know any better.

Even Microsoft says it’s just like RSS on their site:

WebSlices behave just like feeds where clients can subscribe to get updates and notify the user of changes.

Please Microsoft, just make a good, fast browser for people to use. I was willing to admit IE7 was a step in the right direction. It’s fast and renders content relatively well and has good CSS support. It was only a matter of time before they had to go and ruin it.

I’ve finally deployed the DotNetNuke site I’ve been working on. After deployment is when the most obvious things pop up.

For instance, in DotNetNuke when you search for something in the site it will return a list of links to what it finds. What it won’t do is display something friendly like “No Search Results Found” if it doesn’t find anything. Dumb and not very user friendly.

I did find what I thought would be the solution at ecktwo, but it didn’t work in Firefox due to the

document.getElementById("search").innerHTML

which doesn’t work in Firefox within a table, which is what the Search Results are generated using the ASP.NET grid view. So, I thought I’d take a stab at building something that worked for both IE and Firefox.

Make a copy of your admin\Search\SearchResults.ascx file and then open the file in notepad. Apply the following code that I’ve highlighted in red:

<%@ Control Language=”vb” AutoEventWireup=”false” Explicit=”True” Inherits=”DotNetNuke.Modules.SearchResults.SearchResults” CodeFile=”SearchResults.ascx.vb” %>

<asp:Datagrid id=”dgResults” runat=”server” AutoGenerateColumns=”False” AllowPaging=”True” BorderStyle=”None”
PagerStyle-CssClass=”NormalBold” ShowHeader=”False” CellPadding=”4″ GridLines=”None”>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label id=lblNo runat=”server” Text='<%# DataBinder.Eval(Container, “ItemIndex”) + 1 %>’ CssClass=”SubHead”>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink id=”lnkTitle” runat=”server” Name=”result” CssClass=”SubHead” NavigateUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem,”TabId”),
DataBinder.Eval(Container.DataItem,”Guid”)) %>’ Text='<%# DataBinder.Eval(Container.DataItem, “Title”) %>’>
</asp:HyperLink>&nbsp;-
<asp:Label id=”lblRelevance” runat=”server” CssClass=”Normal” Text='<%# FormatRelevance(DataBinder.Eval(Container.DataItem, “Relevance”)) %>’ >
</asp:Label><BR>
<asp:Label id=”lblSummary” runat=”server” CssClass=”Normal” Text='<%# DataBinder.Eval(Container.DataItem, “Description”) + “<br>” %>’ Visible=”<%# ShowDescription() %>”>
</asp:Label>
<asp:HyperLink id=”lnkLink” runat=”server” CssClass=”CommandButton” NavigateUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem,”TabId”),
DataBinder.Eval(Container.DataItem,”Guid”)) %>’ Text='<%# FormatURL(DataBinder.Eval(Container.DataItem,”TabId”),
DataBinder.Eval(Container.DataItem,”Guid”)) %>’>
</asp:HyperLink>&nbsp;-
<asp:Label id=”lblPubDate” runat=”server” CssClass=”Normal” Text='<%# FormatDate(DataBinder.Eval(Container.DataItem, “PubDate”)) %>’>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle CssClass=”NormalBold” Mode=”NumericPages”></PagerStyle>
</asp:Datagrid>

<div id=”NoResults”>
<h3 class=”red” style=”text-align:center”>No Search Results Found</h3>
</div>
<script language =”Javascript”>
var search;
search = document.getElementsByName(“result”);

if (search.length == 0) {
document.getElementById(“NoResults”).style.display=’block’;
}
else {
document.getElementById(“NoResults”).style.display=’none’;
}
</script>

Be sure to add the Name=”result” snippet to the asp:Hyperlink in the code above. It’s easy to miss.

Save that and you should now have a spiffy new message displayed when no results are found. Use whatever CSS you want to style the message.