Jason Salas' WebLog

On-air and online: making people laugh, making people think, pissing people off


ASP.NET sites that kick ass

Pals with blogs

Podcasts I listen to

November 2004 - Posts

Check out my new sportstalk radio show

I blogged a couple of days ago about what I thought the greatest moments in U.S. sports history were.  Well, there was a hidden agenda...I'm starting a new weekly sportstalk radio show today at 8PM EST (11AM Guam time), so check out the live RealAudio stream.

I'm pretty excited about it - I'm co-host, producer and head writer, so it won't be like work at all.  The format basically is analysis, humor and attitude.

Here's to breaking a leg!




Posted: Nov 24 2004, 07:58 AM by guam-aspdev | with no comments
Filed under:
Problem getting mobile web content w/MMIT to display on Motorola V710 phones

I’m not sure this is a known bug, but I’ve come across a pretty interesting problem with the Motorola V710 phone in displaying MMIT content – specifically, in not being able to display pages that use paged content.  Static pages or data source-derived mobile WebForms work fine...but on the 2nd to the nth page, I constantly get a System.FormatException thrown with the message “Invalid Length for a Base-64 char array.”

Also, note that I’ve only seen this odd behavior in the Verizon-centric 710 models (so designated by the “V” in the product name), and have yet to see it in the generic 710 models.

 Does anyone know if this is a widely-known issue or does this exist with other mobile devices?  Or has anyone been down this path?

I started a thread on the ASP.NET Forums, but no one seems to know (http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=736723).

The most memorable moments in sports history

I've been a sports broadcaster for many years, having covered and analyzed the national sports beat as a TV anchor, a columnist and a radio talkshow host, and I often get asked what I think the most memorable moments in sports history are.  Here's what I think, after I was compelled to add a new entry following the horrific fight between the Indiana Pacers' and the Detroit Pistons and their fans yesterday:

The most inspiring sports moment I've ever witnessed:
Ø Kerri Strug completing a vault with a bum ankle at the 1996 Olympics in Atlanta
Ø Michael Jordan scores 55 against the Knicks in his return to Madison Square Garden after coming out of retirement

The most improbable sports moment I've ever witnessed:
Ø Tino Martinez and Scott Brosius hitting HRs off B.K. Kim on back-to-back nights in NYC during the 2001 World Series (right after 9/11)

The most impressive sports moment I've ever witnessed:
Ø Tiger Woods winning 4 major tournaments in 10 calendar months

The most unbelievable sports moment I've ever witnessed:
Ø The Stanford Marching Band getting on the field against Cal in 1982 as the Bears' Kevin Moen ran back a kickoff for a TD; Cal beats the John Elway-led Cardinal 25-20 (Joe Starkey with the classic call: "Oh, the band is out on the field!")

The most nail-biting sports moment I've ever witnessed:
Ø Joe Montana hitting John Taylor in the end zone on a 10-yard strike with 1:34 left in the game in Super Bowl XXIII in Miami in 1989

The most shocking sports moment I've ever witnessed:
Ø Cincinnati Bengals DT Tim Krumrie breaking his ankle in Super Bowl XXIII

The proudest sports moment I've ever witnessed:
Ø "The Miracle on Ice" - The 1980 U.S. Olympic Hockey team upsets the USSR 4-3 in the semis
Ø 1988 U.S. Olympic Volleyball team beats the USSR in 4 sets to win gold

The bravest sports moment I've ever witnessed:
Ø Tommie Smith and John Carlos lower their heads and raise clenched fists donned with black gloves at the 1968 Olympics in Mexico City
Ø 1992 U.S. Men's Olympic Volleyball Team shaves their heads in support of teammate Bob Samuelson

The most amazing defensive sports play I've ever witnessed:
Ø Roger Maris and Mickey Mantle vs. Detroit (Labor Day Weekend, 1961): Maris runs down a shallow blooper to right-center field with runners on 1st and 2nd, then flips the ball to Mantle, who throws a rocket to Home and prevents two Tigers from scoring, holding them a 2nd and 3rd.  New York went on to win.

The most amazing offensive sports play I've ever witnessed:
Ø Pittsburgh's "Immaculate Reception" against Oakland in the 1972 NFL playoffs.  The Steelers' Franco Harris saves the day on the final play of the game by making a shoestring grab from an errant pass from Terry Bradshaw that bounced off the Raiders' Jack Tatum.

The most disappointing sports moment I've ever witnessed:
Ø Michigan's "Fab 5" losing to North Carolina in the 1993 Final Four
Ø Greg Norman's monumental collapse in the final round of the 1996 Master's. With a 6-stroke lead over Nick Faldo and having just shot a course record-tying 63, "The Shark" fell to pieces, shooting a horrendous 78 and losing by 5 shots.

The stupidest, most brain-dead sports moment I've ever witnessed:
Ø The fight between Detroit Pistons and a few of their unruly fans and the Indiana Pacers on November 19, 2004.  A hard foul (debatably flagrant) by Indiana's Ron Artest to Ben Wallace on a layup caused Wallace to strike Artest.  A fan threw a drink and a cup at Artest's head, prompting the all-star and Pacers' guard Stephen Jackson to lunge into the stands, attacking several fans.  Several more fans fought back, including some who charged the court, only to be pummeled by Artest and Indiana's Jermaine O'Neal.  The scene ended with the Pacers (players, coaches and training staff) exiting the Palace at Auburn Hills, being doused with drinks, food and condiments by a countless number of fans in the stands.  The worst fight in sports history. 

How much cranial capacity can you not possess to even consider taking any physical action against a professional athlete?

Posted: Nov 21 2004, 09:58 AM by guam-aspdev | with 6 comment(s)
Filed under:
Sending single recipient messages over multicast UDP within P2P network

I’ve got a performance/best practice question on multicasting with UDP.   I’m in the process of laying out a P2P app (an instant messaging client), and I’m basing it initially on multicast UDP sockets.   I’m wondering at this point if it’s best in such a scenario to have hosts, upon login (as each becomes client and server) to automatically join a multicast group, and persist this setting throughout the lifetime of their session, or to base communications on a one-to-one messaging setup, and setup/tear down the connection used for receiving each time with each message.

I’m thinking that if I build-in a feature to my IM app where hosts can send messages to multiple recipients (in addition to the normative single host mode), I have three possible types of communication between hosts:

  • One-to-one
  • One-to-many
  • One-to-all

Were this the case, would it be best to identify/assign a Class “D” IP address ( - and assume every host on the P2P network belonging to the multicast group, and therefore send all messages always as multicast?

Further, is it possible to drill down and identify a specific host (with a specific IP endpoint) to send to within the multicast group, thereby not wasting resources sending a message intended for one hosts to the entire group?   Is UDP multicasting inherently that flexible?   Or, should I simply toggle the System.Net.Sockets.UdpClient object as sending either by multicast or unicast, based on the needs of the sender (e.g., if more than a single address is specified, then use multicasting)?

It would seem that the latter would be quite expensive...going back and forth tearing down and building up connections for receiving.

I’m obviously no networking expert, and Christian Nagel's book on .NET 1.1 network programming is the first foray I’ve made beyond outside of my ASP.NET comfort zone, so please excuse any questions that to anyone else might be painfully obvious.

FireFox bypasses ASP.NET server validation?
 I just "discovered" something as I was playing around on one of my sites.  I was browsing it with FireFox v.1.0, and for the first time tried to test out some server-side validation.  When I submitted the form blank, triggering the client-side validation routines, the page did post back to itself, and upon doing so displayed the error messages, as anticipated.  

But I just discovered that the form apparently submitted the form with the field values blank (the form sends an e-mail with the completed form fields).  Interesting.  Like most things, this just might be me.

I've taken note over the past few weeks of FireFox behaving differently when it comes to handling DHTML events.  Certain mobile browsers I've noticed fire the validation routines but don't submit the form, so this came as somewhat of a surprise to me.

Anyone else notice this?
Posted: Nov 09 2004, 10:45 AM by guam-aspdev | with 4 comment(s)
Filed under:
Book review: "Pro .NET 1.1 Network Programming, Second Edition"

Pro .NET 1.1 Network Programming, Second Edition
By Christian Nagel, et al.
Published by APress

I was really surprised at the ease of reading with this book offered.  As it seems to be one of the last remaining books left over from the old Wrox days, the "Pro" in the title would denote a very high level of material, often assuming a great deal of talent on the part of the reader and skipping the necessary introductory concepts and giving piecemeal code samples.  This totally isn't that way at all.  The book's back cover lists it as "Beginner/Intermediate" and it delivers on its promise.

Put it this way – I'm a lifelong web dev who's been doing more and more client/server work, and I got a ton of useful information for my projects in this work.  Even as the book starts to get into material for which there is no easy way of describing, the authors don't deviate from using simple English and practical, plainclothes, repetitive examples to ensure the readers gets it before progressing to more in-depth topics.

Principal author Christian Nagel (whose writing I've long appreciated) starts out with a very thorough rundown of basic networking concept, the OSI model and the TCP/IP protocol stack, that any IT professional should peruse as a primer.  He then presents the particulars of network programming in .NET, such as working with streams and sockets, and then drills down into individual protocols, devoting a chapter each to the major forms of network communication.  The major protocols for communicating over networks and the Internet are all examined and expanded upon – SNMP, TCP, UDP, SMTP, HTTP, with helpful code samples.  The book also briefs the reader on the importance of .NET Remoting on more than one occasion.

The book isn't one that's filled to the brim with code snippets you can instantly plug into your applications, but there are several very nice demonstrations and couple good sample apps (an FTP client, a multicast chat app, a simple e-mail utility, a picture viewer, etc.) that demonstrate the high-level concepts in the book's latter chapters.

In criticism, I found Chapter 5 – "Raw Socket Programming" was obviously written by a different author and uses a slightly different coding convention.  While it's not an incriminating factor that should detract one from buying this book, it is something I would hope the editors would look to change for the next version, as the difference between the book's majority voicing and this one chapter – namely in its use of grammar and syntactical layout is a little too painfully obvious.

I also enjoyed the chapter introducing the reader to working with IPv6, although I thought it might have been better suited for placement further into the book or as an appendix, and not in Chapter 6.  Additionally, I would have wished for more samples featuring using peer-to-peer networking architecture (there was one, I think), and a bit more meat to the discussion of .NET Remoting, perhaps in its own chapter.

But semantics notwithstanding, this is an outstanding title, being well-written and covering all the major considerations of .NET network programming with. This is easily a 5/5 work.

Posted: Nov 08 2004, 11:37 AM by guam-aspdev | with 1 comment(s)
Filed under:
Routing vs. broadcasting in message-oriented services

I've recently taken up desktop and network programming after years of doing web-only work.  My first big hobbyist-research-just-to-impress-myself project is doing a peer-to-peer app - an instant messaging client.  Just something quirky for my friends an I to keep in touch with each other, hopefully based on some new, custom protocol I'll roll.  As such, I've been reading a lot about routing vs.broadcasting from an application layer perspective. 

(Needless to say, I'm swimming in an unfamiliar pond, this not being HTTP.)

Can anyone shed some light on the major difference(s) and/or considerations when dealing with message routing vs. broadcasting?  Thanks!

Case Study in UI design: how NOT to display election results

Now I'm no expert in user interface design, but consider the following local election results for Guam:

KUAM-TV: http://www.kuam.com/decision2004/results/general.aspx
PDN (a newspaper): http://www.guampdn.com/news/stories/20041104/localnews/1528978.html

Which do you prefer and which do you find less confusing?  :)

More Posts