July 2008 - Posts - More Wally - Wallace B. McClure
in

MoreWally.com

Giving people what they want, More Wally. This is the technical and personal blog site of
Wallace B. (Wally) McClure.

This Blog

Syndication

News

Please goy buy 3-4 copies of my book on MonoTouch titled "Professional Android Programming with Mono for Android for .NET/C# Developers." They make great gifts all year round. Plus, I get about $.25 when you buy a copy.

Technical Sites

More Wally - Wallace B. McClure

This blog will have all kinds of posts about Wally McClure. In it, there will be tons of .NET and computer programming posts as well as Wally's views on life in general. As you might guess, this site and blog help you get More Wally in your life. What more could anyone want? iPhone, Android, MonoTouch, MonoDroid, Mobile, HTML5, .NET, ADO.NET, ASP.NET, AJAX, jQuery, jQuery Mobile, ASP.NET AJAX, and Windows Azure............follow me on twitter at Wally

July 2008 - Posts

  • ASP.NET Podcast Show #120 - Deploying Web Applications with Vishal Joshi

  • ASP.NET AJAX Futures 4.0 available today

    Wow, Bertrand and his team have put together a new download today.  Thanks a lot guys.  Here's the new library.  http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=15511

  • Who should use ASP.NET MVC?!?

    I'm hearing ScottGu say that there are different users for MVC and its not for everyone.  He says that MVC is not for everyone.  An excellent viewpoint.  over the past couple of months, I've moved away from a view of who needs MVC to a view of a certain class of users do need MVC.  I think the users that the developers that need MVC are those developing very high volume web sites and typically public sites.  Most public sites and private applications don't have this need.  Its like the difference between a car and a sports car.  My Toyota is a great vehicle to go to the grocery store.  It is great on the road to a customer.  Its not a great vehicle to get into a race or to impress people.  Understand your intended audience.

    Posted Jul 21 2008, 12:02 PM by wallym with no comments
    Filed under:
  • .NET 3.5 SP1 Improvements

    A couple of things that I just heard about on .NET 3.5 SP1 that I was not aware of:

    Cold startup of .NET applications.  It sounds like MS has improved how they are reading data from the filesystem on startup.  The feature is meant for windows gui apps.  You *might* see some improvements in ASP.NET startup, but who knows.

    I'm hearing that the bits should be out in the next few weeks. I've got this in a VPC right now, so it will be good to work with this on my main machine.

     

  • Promotion

    I read a Wired magazine article on Julia Allison while on the flight from Atlanta to Seattle.  Basically, Julia teaches the art of self promotion.  There were several suggestions that she had for people along with explanations as to why to do these things.  I found them rather interesting.  While I don’t do everything that Julia describes, I do a bunch of her suggestions.  Also, I’ve got several things that I do that Julia does not do (Anyone need a tshirt?).  In the end, its about doing the right things and then promoting them. 

    One thing not mentioned in the article is “if you don’t ask your friends for help, don’t expect your enemies to help you.”  Trust me, there are *real* enemies out there in the world.  Everyone has them!

    Wally

  • Warning, you can lose money when investing

    http://news.cnet.com/8301-13577_3-9994087-36.html?tag=nefd.top

    I thought this article was interesting.  It shows that it is entirely possible to lose money when investing.  PodTech took approximately $7 million in capital and turned it into $500k.  This is a hard thing to swallow, but its unfortunately the truth.  Invests don't always grow, in fact, they typically fail in the technology world.  I had lunch a couple of weeks ago with an investor friend.  He said that when you invest in a tech company, there are two outcomes:

    1. A big payout.
    2. Zero.

    His point is that there is no inbetween.  These things happen.

    Wally

  • Displaying Version information in C# ASP.NET 2.0 and 3.5.

    I needed to display the application version in a file based ASP.NET 3.5 application written in Visual Basic.  I wrote the following methods in my AssemblyInfo.vb file in the App_Code directory and it worked! Out popped the Version Number of 0.0.5.0 instead of that annoying 0.0.0.0.  

    using System;
    using System.Reflection;
    using System.Runtime.CompilerServices;
    using System.Runtime.InteropServices;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;

    [assembly: AssemblyTitle("blah")]
    [assembly: AssemblyCopyright("blah")]
    [assembly: AssemblyVersion("0.0.5.0")]
    [assembly: AssemblyFileVersion("0.0.5.0")]

    /// <summary>
    /// Summary description for AssemblyInfo
    /// </summary>
    public class AssemblyInfo
    {
        public AssemblyInfo()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        public static string GetVersionNumber()
        {
            return (System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString());
        }
    }

    Posted Jul 15 2008, 06:25 PM by admin with 2 comment(s)
    Filed under: ,
  • Displaying Version information in Visual Basic ASP.NET 2.0 and 3.5.

    I needed to display the application version in a file based ASP.NET 3.5 application written in Visual Basic.  I wrote the following methods in my AssemblyInfo.vb file in the App_Code directory and it worked! Out popped the Version Number of 1.0.0.10 instead of that annoying 0.0.0.0. 

    Imports System
    Imports System.Reflection
    Imports System.Runtime.InteropServices

    ' General Information about an assembly is controlled through the following
    ' set of attributes. Change these attribute values to modify the information
    ' associated with an assembly.

    ' Review the values of the assembly attributes

    <Assembly: AssemblyTitle("blah")>
    <Assembly: AssemblyDescription("blah")>
    <Assembly: AssemblyCompany("blah")>
    <Assembly: AssemblyProduct("blah")>
    <Assembly: AssemblyCopyright("2005, 2006, 2007, 2008")>
    <Assembly: AssemblyTrademark("")>
    <Assembly: CLSCompliant(True)>

    'The following GUID is for the ID of the typelib if this project is exposed to COM
    <Assembly: Guid("BCB55B59-EA39-4C62-BFFE-DE7800B420C8")>

    ' Version information for an assembly consists of the following four values:
    '
    '      Major Version
    '      Minor Version
    '      Build Number
    '      Revision
    '
    ' You can specify all the values or you can default the Build and Revision Numbers
    ' by using the '*' as shown below:

    <Assembly: AssemblyVersion("1.0.0.10")>

    Public Class AssemblyInfo
        Public Shared Function GetVersionNumber() As String
            Return (System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString())
        End Function
    End Class

  • Nathan Blevins wrapup on Knoxville Satelite GiveCamp

    Nathan just posted a roundup of the Knoxville Satelite GiveCamp. Way to go Nathan!

  • Knoxville GiveCamp organized by Nathan Blevins in concert with Ann Arbor, MI

    By Nathan Blevins:

    The participants were: Ben Farmer, Dylan Wolf, Jenny Farmer, Joe Simpson, and I (Nathan Blevins).  Basically, we took on two projects.  Our main project was WonderPuzzle.com.  This site is dedicated to those individuals who have children with disabilities that cannot be diagnosed by doctors.  It gives them a site to discuss, become more informed, and to share their own stories.  Our main job was revamping the site's look as well as porting the current site from dot Net Nuke to Sitefinity CMS.  The new site has yet to be pushed live but you can find the current one at the .com address.  Also, we assisted the Ann Arbor Hands On Museum Project by acting as a reference for PHP issues.  Dylan worked very diligently with them and did an excellent job.  Finally, although Mike was unable to participate, he dropped by long enough to give everyone a Best Buy gift card and to thank them for helping out.

    Although everything started off pretty rocky, I think everything worked out to a good end.

    Pics from the event on Saturday.

    Nathan Blevins

  • Nine Questions with Wally McClure

    http://www.blogusmaximus.net/archive/2008/07/08/123658.aspx

    Recently, Chris Williams sent me a questionaire for his blog.  I had some time on my wya beack from NM and sent it back to him.  Here are the answers, for better or worse.

  • I am Simplex!

    http://www.unthinkability.com/?p=200

    Scott Fletcher has cast me as Simplex.  Read on........

  • ASP.NET Podcast Show #119 - Using the History (Back) Functionality with the ASP.NET AJAX Web Services in .NET 3.5 Service Pack 1 Beta 1

    Subscribe to Everything.

    Original Url: http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2008/07/01/asp-net-podcast-show-119-using-the-history-back-functionality-with-the-asp-net-ajax-web-services-in-net-3-5-service-pack-1-beta-1.aspx

    Subscribe to WMV format.

    Subscribe to M4V for iPod Users.

    Subscribe to MP3 (Audio only).

    Download WMV.

    Download M4V for iPod Users.

    Download MP3 (Audio only).

    Download PPT associated file.

    Download Source Code

    Show Notes:

    Source Code:

         <asp:ScriptManager ID="sm" runat="server"
            EnableHistory="true"
            EnableSecureHistoryState="true" >
            <Services>
                <asp:ServiceReference Path="~/GetMaps.asmx" />
            </Services>
        </asp:ScriptManager>
    <script language="javascript" type="text/javascript">
        var Map;
        var userNavigated = false;
        function pageLoad() {
            Sys.Application.add_navigate(onNavigate);

            GetMaps.MapData(SetupMap);

        }

        function onNavigate(sender, e) {
            if (userNavigated) {
                restorePage(e.get_state());
            }
        }

        function restorePage(PageState) {
            var UpperLeftLat = new Number(PageState.UpperLeftLat);
            var UpperLeftLon = new Number(PageState.UpperLeftLon);
            var BottomRightLat = new Number(PageState.LowerRightLat);
            var BottomRightLon = new Number(PageState.LowerRightLon);
            var ZoomLevel = new Number(PageState.ZoomLevel);
            var Lat = (UpperLeftLat + BottomRightLat ) / 2;
            var Lon = (UpperLeftLon + BottomRightLon) / 2;

            if (!(isNaN(Lat) || isNaN(Lon))) {
                Map.LoadMap(new VELatLong(Lat, Lon), ZoomLevel, 'h', false);
                GetMaps.GetPointData(10, UpperLeftLat, UpperLeftLon,
                BottomRightLat, BottomRightLon, GetDataSuccess);
            }
        }

        function SetupMap(result) {
            var Lat = result.Center.Lat;
            var Lon = result.Center.Lon;
            var ZoomLevel = result.ZoomLevel;
            var MapView, TopLeft, BottomRight;
            try {
                Map = new VEMap('MapDiv');
                Map.LoadMap(new VELatLong(Lat, Lon), ZoomLevel, 'h', false);
                MapView = Map.GetMapView();
                TopLeft = MapView.TopLeftLatLong;
                BottomRight = MapView.BottomRightLatLong;
                //TopleftLatLong and BottomRightLatLong return a VELatLong object.
                Map.AttachEvent("onchangeview", MapChangedView);
                SetupHistory();
                GetMaps.GetPointData(10, TopLeft.Latitude, TopLeft.Longitude,
                    BottomRight.Latitude, BottomRight.Longitude, GetDataSuccess);
            }
            catch (e) {
                alert("Error: " + e);
            }
        }
        function GetDataSuccess(result) {
            var i = 0;
            var Lat, Lon;
            for (i = 0; i < result.length; i++) {
                Lat = result[i].Location.Lat;
                Lon = result[i].Location.Lon;
                var shape = new VEShape(VEShapeType.Pushpin, new VELatLong(Lat, Lon));
                shape.SetTitle("Title: " + i);
                shape.SetDescription(result[i].Description);
                Map.AddShape(shape);
            }
        }

        function SetupHistory() {
            var PageTitle;
            var now = new Date();
            var CurrentTime = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
            PageTitle = "AJAX History Test Time:" + CurrentTime;
            MapView = Map.GetMapView();
            TopLeft = MapView.TopLeftLatLong;
            BottomRight = MapView.BottomRightLatLong;
            ZoomLevel = Map.GetZoomLevel();
            var PageState =
            {
                "UpperLeftLat": TopLeft.Latitude,
                "UpperLeftLon": TopLeft.Longitude,
                "LowerRightLat": BottomRight.Latitude,
                "LowerRightLon": BottomRight.Longitude,
                "ZoomLevel": ZoomLevel
            }
            userNavigated = false;
            Sys.Application.addHistoryPoint(PageState, PageTitle);
            userNavigated = true;
        }
        function MapChangedView(e) {
            
            Map.DeleteAllShapes();
            MapView = Map.GetMapView();
            TopLeft = MapView.TopLeftLatLong;
            BottomRight = MapView.BottomRightLatLong;
            SetupHistory();

            GetMaps.GetPointData(10, TopLeft.Latitude, TopLeft.Longitude,
            BottomRight.Latitude, BottomRight.Longitude, GetDataSuccess);
            
        }


    </script>
        <div id="MapDiv" style="position:relative; width:450px; height: 350px;" ></div>
2006 - Wallace B. McClure
Powered by Community Server (Non-Commercial Edition), by Telligent Systems