Friday, December 16, 2005

Well as soon as the hype is over, and you don't have to be either, rich, or desperate, I'm going to pickup an xbox 360.

We've got one at work, and let me tell you, it's sweet. Call of Duty 2 is simply amazing. The media center stuff looks really good too, once I get a unit, I'm planning to use it as my primary DVD player, instead of the Tivo's DVD player. Hopefully in the next month or two, I'll be able to find a premium package.

I also can't wait to see it in HD.

Friday, December 16, 2005 9:15:29 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Wednesday, November 09, 2005

Within the last couple of weeks, Yahoo has launched their beta web mapping application. It's a great AJAX implemetation, and is pretty amazing. You can search for specific categories of services, stores, etc. at any point during your session. I think it's pretty cool that you can zero in on an address and then say, “Show me all the ATMs in the area.“ Pretty handy. They even go a step further and add the contact info. Very nice touch.

Other cool things? Live traffic data, for areas that support it. Cool.

Wednesday, November 09, 2005 11:23:50 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

Ok, this looks pretty darned cool, using “Festoon“ you can add video to Google Talk, and Skype! I just picked up a new Logitech webcam, and I'm very impressed w/ the quality and advancement of this unit as compared to one I owned a few years ago.

It's 1.3 Megapixels, and while by no means studio quality, it's pretty darned good. It has some cool features too, like face tracking, the camera will automatically adjust to track your face during use (if you want it to). This is nice because you can talk more naturally, and you don't have to keep your head within the camera's field.

I have not yet had the opportunity to try festoon, as I need to get someone else to install it on their version of Google Talk or Skype, but once I do, I'll edit this post. Somebody instal this w/ Skype, or Google, and let me know.

UPDATE:

I used Google Talk and Festoon w/ a friend last night. It worked relatively well. I had spent about 20 minutes w/ another friend trying to get crappy MSN video chat to work, and the audio just was not working w/ MSN. A quick call on skype confirmed that both of us had our audio working, so not sure what's up w/ that.

The Festoon software even includes a bandwidth usage meter, kind of nice to see what is happening when sending and receiving video/audio. I'm impressed for a beta. When this goes out of beta into it's 1.0 launch, I think it will be very solid.

The downside, both parties have to have the software installed, but I guess if it works, it's not that big of a downer. Unlike the crappy MSN client, and all of the stupid winking, nudging, and flash like features that can be purely defined as annoyanceware, festoon is simple, and simply works.

Give it a try!





Wednesday, November 09, 2005 10:46:13 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, October 31, 2005

Have a very happy halloween!

 

Monday, October 31, 2005 9:02:59 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, October 27, 2005

This seems like a good 'dev box' sql replacement.

VistaDB 2.1 database for .NET has been released
This 2.1 update includes over 60 improvements, including new support for .NET 2.0 and Visual Studio .NET 2005. VistaDB is a small-footprint, embedded SQL database alternative to Jet/Access, MSDE and SQL Server Express 2005 that enables developers to build .NET 1.1 and .NET 2.0 applications. Features SQL-92 support, small 500KB embedded footprint, free 2-User VistaDB Server for remote TCP/IP data access, royalty free distribution for both embedded and server, Copy 'n Go! deployment, managed ADO.NET Provider, data management and data migration tools. Free trial is available for download.
- Learn more about VistaDB
- Repost this to your blog and receive a FREE copy of VistaDB 2.1!

Thursday, October 27, 2005 8:37:57 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

Just read this on a Microsoft blog....

http://blogs.msdn.com/somasegar/archive/2005/10/27/485665.aspx

Looks like Visual Studio 2005 is shipping... :)

Thursday, October 27, 2005 12:51:59 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

I was never any good at math in school. Though later in life I've kind of wished that I had tried harder, when I saw this blog post on Chris Sells' site, I was almost a tad reluctant to take the test. It was actually pretty easy:

 

You Passed 8th Grade Math
Congratulations, you got 9/10 correct!
Thursday, October 27, 2005 7:59:58 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, October 21, 2005

Ok this is another one of those things that's probably been around for quite a while, but I had never seen or knew about.
How often have you wanted to created a select list (drop down) with category headers, but you don't want someone to selcect the category header itself? Well you'd have to assign a value of  -1 or 0 or something, and then perform some sort of validation to ensure the user had not chosen the 'invalid' item.

I found this on the Apple site, and although I need to do some more research, it appears to be part of the HTML 4.0 spec, and so far it works in every browser I've tried it in.

Here is the dropdown (it does not do anything):

And here's the script:
   <SELECT NAME="browser">
    <option label="-1" selected>Choose a browser...</option>
    <OPTGROUP LABEL="Netscape Navigator">
     <OPTION LABEL="4.x or higher">
      Netscape Navigator 4.x or higher
     </OPTION>
     <OPTION LABEL="3.x">Netscape Navigator 3.x</OPTION>
     <OPTION LABEL="2.x">Netscape Navigator 2.x</OPTION>
     <OPTION LABEL="1.x">Netscape Navigator 1.x</OPTION>
    </OPTGROUP>
    <OPTGROUP LABEL="Microsoft Internet Explorer">
     <OPTION LABEL="4.x or higher">
      Microsoft Internet Explorer 4.x or higher
     </OPTION>
     <OPTION LABEL="3.x">Microsoft Internet Explorer 3.x</OPTION>
     <OPTION LABEL="2.x">Microsoft Internet Explorer 2.x</OPTION>
     <OPTION LABEL="1.x">Microsoft Internet Explorer 1.x</OPTION>
    </OPTGROUP>
    <OPTGROUP LABEL="Opera">
     <OPTION LABEL="3.x or higher">Opera 3.x or higher</OPTION>
     <OPTION LABEL="2.x">Opera 2.x</OPTION>
     <OPTION>Other</OPTION>
    </OPTGROUP>
   </SELECT>

Friday, October 21, 2005 10:50:17 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, October 20, 2005

So I was looking for a way to 'randomly' display a picture from a given directory. I was going to get all crazy, and do a bunch of file system operations, and then some randomization on that. After I had started, I stopped. I thought this does not need to be so complicated!

I talked to a few friends, who thought my approach seemed fine. But to be quite honest I was in a lazy mood and decided that I didn't feel like comming up with some complicated solution for something that seems so easy. Then it hit me. Isn't there some AdRotator thing in .NET? Yeah there is, and it's slick.

I simply added the following code to my .aspx page.

<asp:AdRotator id="ar1" AdvertisementFile="headers.xml" BorderWidth="0" runat=server />

Well I'm not really using Ads. I have a header graphic similar to a banner ad, but I wanted it to be random each time the page loaded. The cool thing about using this control is that there is no codebehind logic to worry about.

There is then an xml file in this case called headers.xml with the followng structure:

<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>

<Ad>
<ImageUrl>images/header/header1_noglow.jpg</ImageUrl>
<AlternateText>Alt Text</AlternateText>
<Impressions>1</Impressions>
</Ad>

<Ad>
<ImageUrl>images/header/header_sky2.jpg</ImageUrl>
<AlternateText>Alt Text</AlternateText>
<Impressions>1</Impressions>
</Ad>

<Ad>
<ImageUrl>images/header/header_sky.jpg</ImageUrl>
<AlternateText>Alt Text</AlternateText>
<Impressions>1</Impressions>
</Ad>

<Ad>
<ImageUrl>images/header/header_window.jpg</ImageUrl>
<AlternateText>Alt Text</AlternateText>
<Impressions>1</Impressions>
</Ad>

</Advertisements>

Here are the arguments that you can configure in the XML file, and what they do on the front end.

  • ImageUrl - An absolute or relative url to image file
  • NavigateUrl - The location to navigate to when the image is clicked, if you leave this out, clicking the image does nothing
  • AlternateText - The 'alt' text to be displayed on the image
  • Keyword - Specifies a category for the ad that the page can filter on
  • Impressions - A number that indicated the 'weight' of the ad in the schedule of rotation relative to other ads in the file. The larger the number, the more often it will be displayed

So this is really basic stuff, but something I've always ignored in the past. So if you want a way to display a discrete set of images randomly, this might be the ticket.

Thursday, October 20, 2005 7:07:15 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

So I thought it would be cool, to create a page for my wife's web site, that would let me know how many people are on her site at any given time. This will be useful to know when it's OK to upload new code that would bring the site down. Don't want to upset our users! Since her site is on a shared hosting environment I don't have physical access to the box. So I created an admin page on the site that prints out the number of users on the site using this code:

 

//using System.Diagnostics;

PerformanceCounter PC;
PC = new PerformanceCounter("Web Service", "Current Anonymous Users", true)
PC.InstanceName = "";
Response.Write("Current Anonymous Users: " + PC.NextValue().ToString());


The first argument in creating the new PerformanceCounter is the Category of the Performance Counter (SQL Server, Browser, Server, Memory, Processor, etc.) The next argument is the item for that category (Current connections, Active Sessions, Current FTP Connections, etc.) The two things to know when doing this are to: 1.> Know the instance of the item that you want to monitor. The instance name is the name of the site in IIS, or if you were looking at CPU utilization, the processor, etc. You can find this data by looking in Perfmon, or by asking your service provider. 2.> On your PerfomanceCounter object PC in this case, call the NextValue() method to get the current value of the counter.

This is a pretty simple example of accessing the performance counters intrinsic to the OS.

Thursday, October 20, 2005 6:38:59 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  |