Google Analytics default date range

I have Google Analytics running on this blog, and I think it’s fantastic. But, I’ve always found it on that on my 27th of August, it only shows up to the 25th. Other day I found the date range Timeline picker, but got very confused when I saw the same data for two days running.

It turned out that with the Timeline picker you can move to the 26th’s data. So I ended up see the effective data two days running

Today I noticed that on the default dates the graphs stop on the 25th data

default time

But if you choose the 26th you some hint of the 27th’s data

can select US today

But you cannot select the 27th

cannot select NZ today

But you can change the URL and see into the future!

go into the future

All you need to-do is change the URL value from pdr=20070801-20070826 to pdr=20070801-20070830. Tada!

So my question is why the funny default dates? Why on the default dates does it not show future data hints?

Code Camp – South Island NZ

Well planning has started for a Code Camp down here in Christchurch. Everything is currently in the air, but it is planned for November.

Current concept is level 100/200 talks on all the new .net 3.5, SQL 2008 and IIS 7 goodness coming down the pipe.

Local IIS MVP Chris Crowe (in fact the worlds first IIS MVP) has agreed to talk.

We have a pre-registration page up to gauge interest, so pop along and sign up. That is if your interested…

How to rewrite System.Configuration.CommaDelimitedStringCollection wrong.

We produce data in comma delimited strings. So as part of a tool we are writing, I wrote a simple loop to output a list of objects with commas between items.

public void Wrong_CommaSeperatedWriteLine(TextWriter sw, params Object[] list)
{
    if (list.Length > 0)
    {
        object last = list[list.Length - 1];

        foreach (Object obj in list)
        {
            sw.Write(obj);
            if (obj != last)
            {
                sw.Write(",");
            }
        }

        sw.WriteLine();
    }
}

Which we found today would fail when called like this:

Wrong_CommaSeperatedWriteLine(sw, "one", 2, "one");

but not this:

Wrong_CommaSeperatedWriteLine(sw, 2, 2, "one");

as the immutable strings references are the same. So while trying to think of how to avoid using a for(int i solution, I typed comma into MSDN and what do you know, CommaDelimitedStringCollection Class is there already. Doh!

So my code becomes:

public void CommaSeperatedWriteLine(TextWriter sw, params Object[] list)
{
    if (list.Length > 0)
    {
        System.Configuration.CommaDelimitedStringCollection commaStr = new System.Configuration.CommaDelimitedStringCollection();

        foreach (Object obj in list)
        {
            commaStr.Add(obj.ToString());
        }

        sw.WriteLine(commaStr.ToString());
    }
}

Gosh darn, large Libraries that solve all the simple problems (correctly) already.

There is an AddRange method but it takes a array of strings, and I have a array of objects, and I’m not sure how to auto-magic convert the arrays from one to the other. Any suggestions?

CommaDelimitedStringCollection is in the System.Configuration namespace which has to be added as a reference. There are lot of interesting classes in this namespace that I have never reviewed. Time to do some browsing…

Squeezebox

Michaela opened Pandora’s box (which was actually a vase) by wanting a replacement for our mini-system that has stopped playing CDs. The lines that did it were “I want to listen to CDs but I can tell they will be useless soon” now with this thin wedge the dark world of gadget’s could be proposed.

When then went shopping for me, but spent more time looking at mini-system’s. She wanted something that would play CD’s and have a digital tuner (Radio). She came with the idea of an ipod type device. Wow you can spend money fast. So after not finding what we wanted, she said Simeon you could solve this with Technology.

Mistake. Floodgates open.

I already knew about the Sonos solution, but also knew it was pricey. I found the Squeezebox and knew I had a winner. Price was also a saw point. I could get one from the US $299USD (~$430NZD) or $599NZD from a NZ distributor. Then I found a TradeMe shop that sells them for $450NZD. Today I found them on FirstIn for $400NZD. SOLD!

So now I have to wait for it to be shipped on Friday, then must likely for my birthday to receive my present. Woot, so excited.

I now get to download the software and get the sever software working, and investigate streaming from FM tuner. Exciting time ahead….

Visual Studio 2005 can do directory based search

One of the features I thought was lost in Visual Studio 2005, directory/file based searches, is not!

When you bring up Files In Files (Ctrl+Shift+F, Edit.FindinFiles) you can type in the path straight

Find_In_Files

Or you can click on the Epsilon button at the side and select many directories.

Folder_Choosing

Look you can even have named sets.

I take back all those bad word I said about you Microsoft. Well maybe I leave some the table, because it has taken me so long to re-find one of my favorite features.