Follow me on Twitter at Twitter.com/wbm
FYI, I'm blogging most of my stuff over at More Wally now.
You might want to add my rss feed to your reader at:http://morewally.com/cs/blogs/wallym/rss.aspx
January 2006 - Posts - Wallace B. McClure

Wallace B. McClure

All About Wally McClure - The musings of Wallym on Web, HTML5, Mobile, Xamarin.iOS, Xamarin.Android, and Windows Azure.

News

Visual Studio Magazine Column Personal Blog

.NET

Book Authors

Business

Family

Friends

Georgia Tech Bloggers

Personal

Archives

January 2006 - Posts

HashCode
Several years ago, I had written my own little hashcode for my web search spider.  I checked the performance on my 64 bit system, and to put it mildly, it was horrible.  I was talking to Dave Wanta this week and he reminded me of the Hashing support in .NET.  I had completely forgotten about it.  I yanked out my hash code and used the hasing in .NET.  I got better performance using the hashcode in .NET when inserting into the database.  I believe that my code did not provide a good spread to effectively use the database indexes that I had setup.  By going to the .NET hash support, I think I was able to get a better spread for my indexing system and was able to get rid of a database hotspot.  Right now, I am trying to see how many records it will support.
64 bits in .NET 2.0
I put my Web Spider code onto my x64 system.  Everything is managed code.  I was able to  just start running the code.  The lesson seems to be that if you right 100% managed code, your code will run, your code has a pretty good change of running in 32 bits or 64 bits.  I always hate to say something will run a 100% of the time, but my guess is that it has a good chance of running.  Perhaps someone from MS can post a comment about the pitfalls of 32 vs. 64 bits in .NET 2.0.
Specific Sites

I made some changes to my spider to only search specific sites as oppossed to just going out there and searching the Web Graph.  It was fairly simple.  All I had to do was change a couple of stored procs.

Wally

Skype 2.0

It looks like Skype 2.0 is out.  It has Video Calling in it.  I downloaded and installed it last night.  http://www.skype.com.

More info on this after I do a test run with someone.

Update: The video feature is in beta.

Wally

David Gottlieb is working on a side project

http://www.thegottliebclan.com/Downloads/tabid/63/Default.aspx

Congratulations to David and his wife.

"Have we not heard the chimes at midnight?"

I listened to CNBC the other day.  It seems that many analysts are just falling all over themselves with this Web 2.0 hysteria.  Have we not been down this path before?  "Have we not heard the chimes at midnight" and haven't they learned their lessons from the dot-COM bubble burst?  It seems to me this "irrational exuberance" will only lead to a similar result.

My business partner and I were discussing this yesterday and then I spotted Rob's post with similar thoughts on Google.

There is an old business proverb that more must come in than go out.  Until these companies can prove that they can make this happen, I really question the "Web 2.0" exuberance from the standpoint of viable business opportunities.  Will all of these "Web 2.0" companies and services fail?  Absolutely not, but just don't jump straight into this financially without understand risk-reward.

Wally

PS.  How many times do you get Shakespeare and Greenspan in the same post?

Posted: Jan 12 2006, 09:36 AM by Wallym | with no comments
Filed under:
Community Credit site

Are you a blogger or development community activist?  My friend David Silverlight in Miami has just launched the site www.Community-Credit.com.  Basically, it is a site that rewards people that are community focused.

Wally

Posted: Jan 11 2006, 02:14 PM by Wallym | with no comments
Filed under:
Terri Morton is working on a side project

Fellow MVP and ASPInsider Terri Morton is working on an interesting side project.

http://www.terrimorton.com/lifehappens.aspx

Atlas - UpdatePanel - ControlEventTrigger

I was just working with the UpdatePanel in Atlas.  I was thinking that it would be nice if there was some type of IDE support the UpdatePanel and the EventTriggers.  Well, there is.  Check out this little jewel.  When you click on <control>, you get a list of the current controls on the page.  Very nice.  When you click on the event, you get a list of events.  Very nice indeed.

ASP.NET Podcast Show #33 - MSMQ

Original URL: http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2006/01/10/71.aspx

ASP.NET Podcast – Show #33

Subscribe

Download

Show Notes:

Welcome to the First Show of 2006.

More Wally in your life.

Got my MVP Award for 2006.  I go off on a tangent about what an MVP is.

I got a really cool laptop bag as a present.

The “Beginning AJAX with ASP.NET” book is coming along.  Paul, Scott, and I are hard at work.

Who is Bruce Dickenson and why does he send me strange emails?  Do you know why?

What do words mean in IT?

  • Strategic.
  • Tactical.
  • Opportunity.
  • “Stepping up to the plate.”
  • “Stepping into one”/”Taking one for the team.”

 

MSMQ

Class:

        [Serializable()]

        public class cSearchResults

        {

            public string Url = String.Empty;

            public string ServerName = String.Empty;

            public long Id = 0;

            public string UrlText = String.Empty;

            public DateTime DateSearched;

        }

 

Sending a Message:

Simple:

      public static void StoreSearchUrl( string pstrCn, string pstrUrl )

            {

                  MessageQueue mq = new MessageQueue(gstrQueueForSearchUrl);

                  mq.Send(pstrUrl);

                  mq.Dispose();

                  mq = null;

            }

 

Class:

            MessageQueue mq = new MessageQueue(gstrQueueForSearchResults);

            cSearchResults objRes = new cSearchResults();

            try

            {

                  objRes.UrlText = pText;

                  objRes.Url = pstrUrl;

                objRes.Id = plngUrl;

                objRes.DateSearched = DateTime.Now;

                mq.Send(objRes);

            }

            finally

            {

                  mq.Dispose();

                  mq = null;

            }

 

Receiving a Message:

Simple:

                gMQSearchUrl = new MessageQueue();

                gMQSearchUrl.Path = gstrQueueForSearchUrl;

                gMQSearchUrl.Formatter = new XmlMessageFormatter(new string[] { "System.String, mscorlib" });

                gMQSearchUrl.ReceiveCompleted += new ReceiveCompletedEventHandler(this.MQ_ReceiveCompleted_ForSearchUrl);

                gMQSearchUrl.BeginReceive();

...............

private void MQ_ReceiveCompleted_ForSearchUrl(object sender, ReceiveCompletedEventArgs e)

{

      // Add code here to respond to message.

      //new XmlMessageFormatter(new String(){"System.String, mscorlib"});

      System.Messaging.Message msg = gMQSearchUrl.EndReceive(e.AsyncResult);

      msg.Formatter = new XmlMessageFormatter(new String[]{"System.String, mscorlib"});

      string strBody = (string)msg.Body;

      try

      {

            StoreUrlInSearchUrl(strBody);

      }

            //Exception handling code

      finally

      {

            if ( this.gblRunStatus == true )

            {

                  gMQSearchUrl.BeginReceive();

            }

            msg.Dispose();

            msg = null;

      }

 

Class:

                gMQSearchResults = new MessageQueue();

                gMQSearchResults.Path = gstrQueueForSearchResults;

                gMQSearchResults.Formatter = new XmlMessageFormatter(new Type[] { typeof(WebSearch.cSearchResults) });

                gMQSearchResults.ReceiveCompleted += new ReceiveCompletedEventHandler(this.MQ_ReceiveCompleted_ForSearchResults);

                gMQSearchResults.BeginReceive();

........................

        private void MQ_ReceiveCompleted_ForSearchResults(object sender, ReceiveCompletedEventArgs e)

        {

            // Add code here to respond to message.

            System.Messaging.Message msg = gMQSearchResults.EndReceive(e.AsyncResult);

            WebSearch.cSearchResults cSearchRes;

            try

            {

                  msg.Formatter = new XmlMessageFormatter(new Type[] {typeof(WebSearch.cSearchResults)}); //= new XmlMessageFormatter(new Type() {GetType(WebSearchSupport.cSearchResults)}); //new XmlMessageFormatter(new String(){"System.String, mscorlib"});

                  cSearchRes = (WebSearch.cSearchResults)msg.Body;

                  StoreUrlInSearchResults(cSearchRes);

            }

                  //Exception handling code

            finally

            {

                  msg.Dispose();

                  msg = null;

                  if ( this.gblRunStatus == true )

                  {

                        gMQSearchResults.BeginReceive();

                  }

            }

       }

More Posts « Previous page - Next page »