Member Login

Latest Blog items for the Space Coast .Net User Group Rss Feed
4/13/2008 12:00:00 AM

Hi!

 

I wanted to let all of the UGs in town know about this show in advance. Tickets are $25 for the entire weekend right now, and it's all for Child's Play charity.

 

There are a lot of nerdcore hip-hop acts, of course, but also a lot of geeky rock bands. There will even be hot geek girls there. ; ) Please spread this to all the members and Orlando message boards for us?

 

Here's the press release thingy:

 

Nerdapalooza 2008

 

NerdCorps/Nerdapalooza has teamed up with national charity Child's Play to present Nerdapalooza 2008, the premiere nerd music event of the year.

 

Sponsored in part by Troma Films (Class of Nuke'Em High, The Toxic Avenger) and A Comic Shop, Nerdapalooza will host over thirty-three nerdcore hip-hop and rock bands during Fourth of July weekend in Orlando.

 

This is likely to be a significant media event, as interest in Nerdcore has never been higher, with the recent release of the film "Nerdcore Rising" at South By SouthWest, and the pending release of "Nerdcore for Life" in April.

 

Nerdapalooza's proceeds cover operating expenses, with 100% of the profit generated through merchandising and ticket sales going directly to Child's Play. Almost all of the performers pay for their own travel and accommodations.

 

As a charity event, we are currently seeking corporate sponsorship in various forms. Of primary concern would be tax-deductible donations made in the name of Nerdapalooza to our chosen charity organization, Child's Play.

 

However, there is also a need for hotel rooms, gear to be auctioned/raffled/given as prizes, etc., internet broadcasting, audio/video production/editing, and most importantly, the support of the geek community.

 

We are entirely open to featuring banners and logos from sponsors. Divx and Capcom's involvement in 2007 resulted in positive publicity in the film "Nerdcore For Life".

 

Pending the success of Nerdapalooza 2008, we hope to conduct a similar event during CES next year, as well.

While we would certainly appreciate your company's patronage, I do want to thank you personally for your time.

 

Sincerely,

Jason Christie

337-407-1055

 

Nerdapalooza 2008 featuring MC Frontalot http://www.fulldeity.com/robisfunny/sexorgan/nerdIndex.php

 

Charities

http://www.childsplaycharity.org/

 

Sponsors

http://www.troma.com/

http://www.myspace.com/acomicshop

 

Films

http://www.nerdcorerisingthemovie.com/

http://www.nerdcoreforlife.com/

 

Nerdcore Hip-Hop - As seen in Wired, Vanity Fair, Esquire, Newsweek.

http://www.nerdcorehiphop.org/

 

NerdCorps

http://www.rhymetorrents.com/nerdcorps

 

 

Thanks!





3/6/2008 12:00:00 AM

If it Ain’t Broke, Don’t fix It.

 

It is not often that you come across a publication that has an immediate positive impact on you after reading just a few pages!  That's how I felt when I began reading ASP.NET 3.5 Unleashed  by Stephen Walther. This new version is the fourth such publication by Mr. Walther that was preceded by “ASP.NET Unleashed“ published June 2001; “ASP.NET Unleashed (2nd Edition)” published July 2003; and ASP.NET 2.0 Unleashed” published June 2006.  The overall content of his latest publication is to cover the new features of the ASP.NET 3.5 framework along with relevant content from the previous works. 

This book is organized into ten (10) parts with the first nine (9) covering various tasks required in the development process of an ASP.NET application.  The last part provides a walkthrough for the development of a code sharing web application that utilizes some of the new features of the ASP.NET 3.5 framework.  Each part contains chapters covering material to achieve the part that it belongs to and are ordered to embrace a logical progression to learn the material.  The writing style used resembles that of a “User Guide” / “Training Manual” including examples with detailed explanations of the steps to follow with an occasional “Note”/”Warning”  to providing additional foundation.  All of the examples provided in the book are written in C#.  There is a CD included with the book that contains all of the examples in both VB.Net and C# as well as a web site address containing the information on the CD.  

Regarding the new content, I was particularly impressed with the thoroughness  given to the new Ajax functionality (Three (3) Chapters) that is now included within the.NET framework.  In addition, there is a chapter in the book dealing with LINQ to SQL as well as a chapter that covers the new ListView and DataPager server controls. 

It was surprising to me that certain prior material wasn’t included in this version.  Specifically, the building of web parts, mobile applications, the usage of third party controls, and XML.  However, the content of part ten (10) dealing with the application walkthrough did use a third party control as well as the VirtualPathProvider class that was introduced in the ASP.NET 2.0 framework. 

Overall I was very impressed with this book and strongly recommend it.  The books organization allows for readers who want to learn ASP.NET to read the material from cover-to-cover as well as readers who want to use it as a quick reference.

 

G. Clay Seifert

 

ASP.NET 3.5 Unleashed

Stephen Walther

0-672-33011-3

Sams Publishing





1/22/2008 12:00:00 AM

The Space Coast .Net User Group's VS 2008 Install Fest was a huge success. I just wanted to thank Joe Healy for stopping by and giving out VS 2008 pro to our members.   Joe was finally able to beat our previous attendance record held by Scott Guthrie.   One of the people had the coolest monitor which were a pair of glasses. 

 

cool pc





1/15/2008 12:00:00 AM

The book Pro SharePoint solution Development, Combining .Net, SharePoint, and Office 2007 (1590598083, 978-1590598085) written by Microsoft insiders Ed Hill, Susie Adams is an indebt review of how to utilize SharePoint in the Microsoft Office ecosystem. This book from the Pro series of Apress delivers a variety of advanced examples, richly illustrated with sample code, downloadable from Apress, and step by step instructions and illustrations in the book itself.

The organization of the book is very convenient and the first four chapters allow the reader to brush up his knowledge about MS Offices and SharePoint with abundant external links. Each consecutive chapter after that represents a standalone example based on a simplified real-world scenario. The examples are focused on the integration with a particular MS Office product. For example Chapter 5 demonstrates a scenario where MS Word integrates with SharePoint and Chapter 9 shows how to construct PowerPoint slides using content stored in a SharePoint list. Every example starts with an introduction and walkthrough, which allows the reader to start reading the chapter directly without losing context.

The complexity of integrating products of the MS Office family in enterprise solutions requires quite a bit of knowledge and experience thus I do not recommend this book to beginners in SharePoint and MS Office programming. While this book has a plenty of introductory and historical information about MS Office development and SharePoint customization, it does not emphasize on important steps of professional SharePoint development such as creation of SharePoint solutions, list and site template customization and provisioning. However if you are already familiar with SharePoint (WSS 3, MOSS 2007) concepts such as solutions, features, workflow etc., this is the book to put all these features in the context of enterprise applications. Since I started working on an integration project with MS Office and SharePoint at the time I was reading the book, I took away plenty of ideas to use in my project.

The software and hardware requirements for the examples in this book are quite high, so if you want to be able to implement them on your own you need to allocate some time to prepare a system with MOSS 2007, MS Office 2007 Enterprise, VS 2008 Professional or Team Edition and for the first example MS Office 2003. In addition there are several manual actions, which require a bit more time. Something, which may not be obvious from the title, is the heavy use of the new MS Office document standard - Office Open XML (commonly referred to as OOXML or OpenXML). This was my first exposure to this format specification and I found its use throughout the book very useful.

Overall this book is of great value to intermediate and advanced developers, working on enterprise applications based on the MS Office system or integration projects with third party vendors. The examples can be read independently and each one of them not only demonstrates the implementation of a particular scenario, but also provokes ideas for other projects.

Mikhail Dikov, MVP MOSS

www.mikhaildikov.com





1/13/2008 12:00:00 AM

Title:............................ Pro WPF Windows Presentation Foundation in .NET 3.0

Author:........................ Matthew MacDonald

Publisher:..................... Apress

Publication Date:........... 2007

ISBN:........................... 978-1-59059-782-8

Reviewer:.................... Walter V. Williams, Jr.

Review Date:................ January 2008

 

Books stated purpose: This book is an in-depth exploration of WPF for professional developers who know the .NET platform, the C# language, and the Visual Studio development environment.

 

This book introduces the developer to the WPF (Windows Presentation Foundation), which is a new graphical display system for Windows. This book is well written from beginning to end, and takes the developer through the process of learning how to utilize the capabilities of WPF. The author provides references to outside sources throughout the book. These either provide a more in depth look at the current topic, or point to a tool that would be useful. The author introduces WPF in a manner that lets developers of any level understand what WPF is and the benefits of using WPF. Then chapter by chapter he provides instructions and examples that take the developer through the learning process about WPF.

 

System Requirements;

·       To run WPF applications, you must be running Windows Vista or Windows XP with Service Pack 2.

·       To create WPF application, you must have either Visual Studio 2005 with .NET 3.0 and the WPF extension, or Visual Studio 2008.

 

The early part of the book is about the basics in and about WPF. The author gives basic, but understandable examples that lead the developer in a growing understanding of WPF. Once the developer has the basics of WPF down, the author begins to build on this base.

 

One of the basics covered is the creation of the Application object. This is the foundation for all the code throughout the book. Another basic operation covered is the layout of the forms. WPF provides the ability for Windows forms to dynamically grow and resize based on data and language, similar to Web Forms. It takes more work to set up a form, but it will give the user a much better experience in using it.

 

Now that the developer has the basics, the author moves along the path for using them. The developer is introduced to the WPF controls and how to develop with them. There are a number of features added to familiar controls. Some examples include: Tooltips can now contain both images and text. Multi-line text boxes can grow dynamically and text does not have to always break where it fits the textbox edge. You can add a dynamic spell check to textboxes.

 

There is a chapter on building control templates or modifying existing controls. This feature appears to be more powerful, and quicker than the old method of building a new specialized control from scratch.

 

The following topics are part of what is covered as the book continues. Data Binding to a database, Printing, Animation, Sound and Video and 3-D drawing.

 

The author wraps the book up with a short tutorial on using the ClickOnce Deployment. If the developer has already learned to use the ClickOnce Deployment, this chapter can be skipped. However, it is a useful conclusion to the book if the developer has not yet used the ClickOnce Deployement.

 

The book is pretty detailed. This review only touches on a few of the highlights from the book that specifically caught the reviewer’s eye. It is worth adding to any developers library if they are looking to do new development for Windows Vista or Windows XP SP2.





11/8/2006 12:00:00 AM

Microsoft's Asp.Net Ajax makes it easy to create a web page that can refresh itself with out posting back.  Unfortunately when a web page updates itself using ajax the user is unable to press the back button to get back to what is was on the page before.  In this article I will first show to create an ajax enable website which uses a webservice to update itself. Then we will make the back button work properly.

 

First create a new AjaxEnabledWebsite and lets start off by adding a webservice to the Project named Customers.  This web service will connect to the northwind database and return the company name for a customer id.  To make this webservice work with ajax we have to make the web service a ScriptService. 

 


Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Data.SqlClient
Imports System.Data
Imports System.Text

<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<Microsoft.Web.Script.Services.ScriptService()> _
Public Class Customers
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function GetName(ByVal strID As String) As String
        Dim strOut As New StringBuilder
        Dim connStr As String
        connStr = "Server = .;Database = Northwind; integrated security=sspi;"
        Dim conn As New SqlConnection(connStr)
        Dim cmd As New SqlCommand
        Try
            conn.Open()
            If strID <> "" Then
                cmd = New SqlCommand("Select CompanyName From Customers where Customerid = @CustomerID", conn)
                cmd.Parameters.AddWithValue("@CustomerID", strID)
                strOut.Append("<html><body>")
                strOut.Append(cmd.ExecuteScalar.ToString())
                strOut.Append("</body></html>")
            End If
        Catch ex As Exception
            strOut.Append("<H1>Database Error</H1>")
        Finally
            conn.Close()
        End Try
        Return strOut.ToString

    End Function

End Class




We also have to make a change to the httpHandlers section of the web.config file for this to work.


    <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler" validate="false"/>
    </httpHandlers>



Lets set up default.aspx to use the webservice for updating its content.  First we have to register the webservice with the pages script manager.

        <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Services>
            <asp:ServiceReference Path="~/Customers.asmx" /></Services>
        </asp:ScriptManager>

Now we need to make a callback function in java script for the web service.  This function will display the results.

    <script language="javascript" type="text/javascript">
          
       function displayName(results)
        {     
            $get("CompanyName").innerHTML = results;
        }       
    </script>

 

Of course we have to add a few controls to the form to display the data.  Here is the html for default.aspx.


<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>

    <script language="javascript" type="text/javascript">
          
       function displayName(results)
        {     
            $get("CompanyName").innerHTML = results;
        }       
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Services>
            <asp:ServiceReference Path="~/Customers.asmx" /></Services>
        </asp:ScriptManager>
        <div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <table>
                <tr>
                    <td>
                        <asp:DataList ID="DataList1" runat="server" DataKeyField="CustomerID" DataSourceID="SqlDataSource1">
                            <ItemTemplate>
                                <a href="BLOCKED SCRIPTCustomers.GetName('<%# Eval("CustomerID") %>', displayName)">
                                    <%# Eval("CustomerID") %>
                                </a>
                                <br />
                            </ItemTemplate>
                        </asp:DataList>
                        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthWindConnectionString %>"
                            SelectCommand="SELECT [CustomerID] FROM [Customers]"></asp:SqlDataSource>
                    </td>
                    <td style='vertical-align:top; width: 50%;'>
                        <div id="CompanyName" >
                        </div>
                    </td>
                </tr>
            </table>
        </div>
    </form>
</body>
</html>

 




On the page we have a label lblNow which I use for displaying the time the page was displayed.  Here is the code behind file which updates the label



Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        lblNow.Text = Now.ToLongTimeString
    End Sub
End Class


So if we run the project you will see a list of the northwind product categories.  When you click on one of the customer id it will call a java script function which will display the company name.  You can see by the fact the time is not changing in the label the page is not posting back.

The browsers back button remembers when a webpage loads, posts back, or the page loaded in an IFrame changes.  So for the back button to work with ajax we need to add a hidden IFrame to the page.  The trick here is to get the page we navigate to in the iframe to update our webpage.

 

Add a new webpage to the project named History.aspx.  In the call back function we are using parent.document to change the div on the main form. Here is the html for the page.


<%@ Page Language="VB" AutoEventWireup="false" CodeFile="history.aspx.vb" Inherits="history" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>

    <script language="javascript" type="text/javascript">
                 
        function GetID()
        {
            var url=window.location.href;
            var idstring=url.split("?")[1];

            if(!idstring)
                return null;

            idstring=idstring.substr(("ID=").length);
            idstring=unescape(idstring);
            return idstring;
        }
       
        function displayResult(results)
        {
            parent.document.all.item("CompanyName").innerHTML = results;
        }
      
        function body_onload()
        {
         var idstring=GetID();
          if(idstring)
          {
             Customers.GetName(idstring, displayResult);
          }
        }
    </script>

</head>
<body onload="body_onload();">
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
                <Services>
                    <asp:ServiceReference Path="~/Customers.asmx" />
                </Services>
            </asp:ScriptManager>
        </div>
    </form>
</body>
</html>



Now we need to make some changes to default.aspx.  First we have to add a hidden iframe to the form.

 

            <iframe id="hiddeniframe" src="history.aspx" style='visibility: hidden;'></iframe>

 

Finally we have to get the link to change the page in the iframe instead of calling the web service.   Here is the updated pages html.


<%@ Page Language="VB" AutoEventWireup="true" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>

    <script language="javascript" type="text/javascript">
         
       function ChangeFrame(id)
       {
            window.frames["hiddeniframe"].location.href="history.aspx?ID=" + id;
       }
 
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <table>
                <tr>
                    <td>
                        <asp:DataList ID="DataList1" runat="server" DataKeyField="CustomerID" DataSourceID="SqlDataSource1">
                            <ItemTemplate>
                                <a href="BLOCKED SCRIPTChangeFrame('<%# Eval("CustomerID") %>')">
                                    <%# Eval("CustomerID") %>
                                </a>
                                <br />
                            </ItemTemplate>
                        </asp:DataList>
                        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthWindConnectionString %>"
                            SelectCommand="SELECT [CustomerID] FROM [Customers]"></asp:SqlDataSource>
                    </td>
                    <td style='vertical-align:top; width: 50%;'>
                        <div id="CompanyName" >
                        </div>
                    </td>
       &nbs