18/04/2008

Microsoft Zune Dev Platform coming soon???


I bought a Zune 2 80GB media player because I believed in Microsoft when they gave the Zune 2.0 software update to all the Zune 1 users.

In February, Microsoft stated (on their XNA Team blog) that Zune game development would be possible in XNA Studio 3.0.
"A preview release of XNA Game Studio 3.0 will be available in the Spring 2008 timeframe, with a final release scheduled for the holiday 2008 season."

Moreover, they went even further to suggest the following api functionalities:
"Keeping with Zune media experience, XNA Game Studio 3.0 integration includes discoverability and access to user’s music allowing the user to customize background soundtracks or create real-time visualizations. In addition, the XNA Community Games Platform team has announced the ability to have multiple Zunes wirelessly engage in an ad-hoc gaming experience."
I visited the XNA Creators Club site today and they are showcasing Zune development (picture above right). Does this mean the Game Studio release is right around the corner? Or have they not updated their site since February?

I have to say, I may be a minority, but I really like my Zune!

Over and Out

10/04/2008

Google Analytics Data Sharing and Benchmarking against Industry Verticals

I do not have much time for a blog today, but thought I'd share this new Google Analytics data sharing feature with you. I am a tiny bit hesitant to believe that it's a good thing Google is trying to take on this vertical - but heck - what can't they get into - Microsoft Max?? I feel this is just another attempt from the giant to capture more information from its users - especially more granular information - and I'm not going to participate. My second question is - they will do something drastic with this info - what is that, and what are these so called New Google Products and Services. Hmmm ...

The below is the announcement email the Google Analytics team sent out this morning, happy reading:
Dear Google Analytics users,

We are writing to let you know about a change in our service offerings. If you have logged into your account recently, you may have noticed that you can now choose to share your Google Analytics data. By providing data sharing options, we hope to provide you with transparency, control, and new services based on your preferences.

To learn more about data sharing settings, visit our FAQs: http://www.google.com/support/googleanalytics/bin/answer.py?answer=87515

We're also happy to announce industry benchmarking as the first new feature available to those who opt to share their data. Benchmarking lets you compare your metrics against industry verticals.

To enable this optional new feature, an administrator on your account will need to make the following selections on the Google Analytics data sharing settings page:

1. Log into your account. You'll see the yellow data sharing settings box on the Analytics Settings page.

2. Click the "More data sharing options" link within the yellow box.

3. Select the second checkbox to specify that you want to share your data "Anonymously with Google products and the benchmarking service". You can also choose to share your data "With Google products only" to take advantage of advanced Google advertising products and services as they become available.

The industry benchmarking feature is currently in beta. Once you have enabled benchmarking, it may take up to two weeks before the categorized, aggregated and anonymized benchmarking data shows up in your reports.

For more information on the benchmarking service, visit our FAQs: http://www.google.com/support/googleanalytics/bin/topic.py?topic=13909

In addition to the new benchmarking service, opting to share your data will also enable you to take advantage of new advanced Google products and services as they become available. We think these services will offer greater insight and sophistication to users who have opted to share their data. However, if you would prefer not to use these services, simply specify on the settings page that you don't want to share your data.


Sincerely,

The Google Analytics Team

09/04/2008

C#: Creating Tables in Open Office using C#.... Open Office Sucks and So Does Your Face

OK ... you're going to have to use your imagination a bit here because there is too much code to put everything in here ... the basic premise is as such:

// get the row counts out of my parameter => MyUserDefinedCustomTableObject is obviously a class in my app - and no, it is not a DataTable it is a Generic Matrix.
int RowCount = MyUserDefinedCustomTableObject.Rows.Count;

// get the col counts out of ma parameter
int ColCount = MyUserDefinedCustomTableObject.Rows[0].Cells.Count;

// create a context consisting of the oo bootstrap
unoidl.com.sun.star.uno.XComponentContext localContext = uno.util.Bootstrap.bootstrap();

// create a service factory to get shit from
unoidl.com.sun.star.lang.XMultiServiceFactory multiServiceFactory = (unoidl.com.sun.star.lang.XMultiServiceFactory )localContext.getServiceManager();

// create a component loader to get stuff from
XComponentLoader componentLoader = (XComponentLoader)multiServiceFactory.createInstance( "com.sun.star.frame.Desktop");

// create a frame which is basically the document reference
XFrame frame = ((unoidl.com.sun.star.text.XTextDocument)xComponent).getCurrentController().getFrame();

// the tricky part, create a dispatch helper - this is the work horse
XDispatchHelper xDispatchHelper = (XDispatchHelper )multiServiceFactory.createInstance( "com.sun.star.frame.DispatchHelper");

// this is only used if you want to set bookmark text within the table cells ... we use bookmarks as placeholders where there will be text in the future.
XNameAccess xna = ((XBookmarksSupplier)xComponent).getBookmarks();

// Create the property values - this uses a local function that I'm not nice enough to give you but on a primitive level it is propertyvalue.Name = first param, propertyvalue.value = 2nd param.
PropertyValue[] tableArgs = new unoidl.com.sun.star.beans.PropertyValue[4];
tableArgs[0] = CreateNewProperty("TableName", new uno.Any(MyUserDefinedCustomTableObject.TableName));
tableArgs[1] = CreateNewProperty("Columns", new uno.Any(ColCount));
tableArgs[2] = CreateNewProperty("Rows", new uno.Any(RowCount));

// check to determine if we should show borders
if (MyUserDefinedCustomTableObject.ShowBorders)
tableArgs[3] = CreateNewProperty("Flags", new uno.Any(9));
else
tableArgs[3] = CreateNewProperty("Flags", new uno.Any(8));

// dispatch the table creation event to the UI ...
xDispatchHelper.executeDispatch((XDispatchProvider)frame, ".uno:InsertTable", "", 0, tableArgs);

// you have a table in your document, the cursor is usually in the first cell of the table so you can use this function to jump between cells and insert text / bookmarks.
xDispatchHelper.executeDispatch((XDispatchProvider)frame, ".uno:JumpToNextCell", "", 0, new unoidl.com.sun.star.beans.PropertyValue[0]);

// if you are in a table cell and want to set the text of that cell then you can use this
cellTextArgs[0] = CreateNewProperty("Text", new uno.Any("My lovely text i love you text"));
xDispatchHelper.executeDispatch((XDispatchProvider)frame, ".uno:InsertText", "", 0, cellTextArgs);

// if you want to insert a bookmark into the cell you could try this (note you do not have to be in a table cell for this to insert a bookmark).
PropertyValue[] cellBkmkArgs = new unoidl.com.sun.star.beans.PropertyValue[1];
cellBkmkArgs[0] = CreateNewProperty("Bookmark", new uno.Any(cell.CellBookmark));
xDispatchHelper.executeDispatch((XDispatchProvider)frame, ".uno:InsertBookmark", "", 0, cellBkmkArgs);

Over and Out

Please Sign Mayor David Millers Handgun Ban Petition

Please sign Mayor David Millers Handgun Ban Petition. You can do it online. It takes all of 2 mins. Even if you hate David Miller this is worth it. Think about your children.

Click below, then click "Sign the Petition", type in your name and address and click submit.
http://www.toronto.ca/handgunban/index.htm

Facts below,

Cheers,

Matt

IMPACT OF FIREARMS IN CANADA, FACT SHEET:

Canadian police services reported 8,105 victims of violent gun crime, ranging from assault to
robbery and homicide in 2006 – a rate of almost 1 person per hour victimized by violent
gun crime.

On average more than 1,200 Canadians are killed and over 1,000 injured with firearms
each year. The economic costs of gun deaths and injuries in Canada are estimated at $6
billion per year.

Impact on Children and Youth
  1. Firearms deaths are the third leading cause of death among young people aged 15-24.3
  2. Among 26 industrialized countries, Canada ranks fifth in the rate of firearm deaths among children under the age of 14 years.4 In 2004/2005, 49 Ontario children aged 10-14 required emergency department visits due to firearm injuries.
  3. Youth (12-17 years) accused of committing a violent offence are more likely than adults to use a firearm. In 2006, Canadian police services reported 1,287 youth accused of a firearm-related violent offence – a rate of over 3 youths per day accused of a firearm-related violent offence.
  4. The national rate of youth accused of a firearm-related violent crime increased by 32% between 2002 and 2006, with the 2006 rate being the highest point recorded since Statistics Canada began making data available in 1998.
  5. The 2006 rates of youth accused of a firearm-related violent crime in Toronto (96.2 per 100,000 youth) is well above the national average (55.5) and higher than all other Canadian Census Metropolitan Areas (CMAs).

07/04/2008

The Grid vs. The Internet .... now what about The Google ...

Blah Blah Blah ... this is actually kind of neat. I wonder how far away from this we really are. Science has a habit of producing vapor-ware, but this may be different. It may become a necessity.

Unfortunately, I believe the internet will be private before this Grid goes mainstream. Rogers has started capping my bandwidth at 95GB per month, about 1/3 of my typical usage pattern. They are then charging $1.50 for each additional GB. IPTV goes right out the window. Then they try to offer me deep discounts on Cable - forcing me to use their service offerings. Ghetto.

Now how would wireless work on top of this grid thing?

“Projects like the grid will bring huge changes in business and society as well as science,” Doyle said.

“Holographic video conferencing is not that far away. Online gaming could evolve to include many thousands of people, and social networking could become the main way we communicate.

“The history of the internet shows you cannot predict its real impacts but we know they will be huge.”

Read The Article: The Grid

Over and Out