Cell Phone Numbers Go Public this month.

This applies to Canadians only:

REMINDER .... All cell phone numbers are being released to telemarketing Companies and you will start to receive sale calls.


To prevent this, call the following number from your cell phone: 1 866-580-3625 or [Edit: 1-888-382-1222 this number is not correct].

It is the National DO NOT CALL list. It will only take a minute of your time.

It blocks your number for five (5) years. You must call from the cell phone number you want to have blocked. You cannot call from a different phone number.

Or you can do it online at https://www.lnnte-dncl.gc.ca/index-eng


Important information for consumers

Do not expect calls to stop immediately.

Telemarketers have up to 31 days to update their lists and to make sure they do not call you. You could still receive calls within those first 31 days.

Registering on the National Do Not Call List (DNCL) will not eliminate all telemarketing calls. There are exemptions within the Rules that may allow calls from organizations such as charities, those with whom you have existing business relationships, political parties and newspapers.

You can further reduce unwanted telemarketing calls by asking these organizations to place your number(s) on their own do not call list.


Funny ...

“One of my favorites was when a user asked me if they could print a black & white document in color. “

“My personal favorite was when an admin said they were running low on paper for their printer. Another admin (quite a bit older) had a wonderful solution. She took a paper and headed to the copy machine. Amazingly she "created" 100 more pieces of paper. Apparently the paper fairy supplied it.”

"Yes I knew the CD was cracked (physically) before I put it in the drive but I don't understand why it exploded inside of the drive."

“We installed dual monitors in the office - and as I was walking around helping users with the first steps one of staff members asked me: "What happened to the crosser when I move the mouse between the monitors and there is a gap between the monitors" I wasn't sure what to say trying to hold myself – all I could say is that I will get back to her. At this point I had to get away.”

I recieved an email from a user in a satellite office "The office email is down."
My reply, having checked the timestamp and from address.. "How did you just send this email?"

“I once had a phone call from somebody with a webmail account where the domain ended in .co.uk. She wanted to know how to get an international address so she could send emails to other countries.”

“a user called and said that she was frustrated. I asked her why and she said she had received a message that told her to to continue. I asked her why this frustrated her and she said she has looked for about 15 minutes on the keyboard and on the PC and has yet to find the ANY key..... need I say more?”

User: "I need my PC upgraded"
Me: your PC is one of the fastest in the company (C2D E8400, 2GB DDR2)
User: Yes but i need it upgraded to Access 2007


Generic Self Inherited List

What do you think about this fully legal .Net class name:

public class DynaSeries : List { }

Hmmmm a class that inherits a generic list of itself.


Over and Out


C#: Some useful String Manipulation Functions

String Starts or Ends With Sequence of Characters

This method returns a boolean value if the initial string either starts with or ends with the sought after string (startOrEndsWithTest).

private bool StringStartsOrEndsWith(string initialString,
string startOrEndsWithTest)
if (initialString.StartsWith(startOrEndsWithTest)) return true;
int intCheckLen = startOrEndsWithTest.Length;
if (initialString.Length >= intCheckLen)
return (initialString.Substring(initialString.Length -
intCheckLen, intCheckLen) == startOrEndsWithTest);

return false;

String Insert Before Search String Method

The following method inserts a string (textToBeInserted) before a search string (insertBeforeText) located in the initial string (initialString).

private string StringInsertBefore(string initialString,
string insertBeforeText, string textToBeInserted)
int intPos = initialString.IndexOf(insertBeforeText);
if (intPos == -1) return initialString;
return String.Concat(initialString.Substring(0, intPos),
initialString.Substring(intPos, initialString.Length - (intPos)));

String Insert After Search String Method

The following method inserts a string (textToBeInserted) after a search string (insertBeforeText) located in the initial string (initialString).

private string StringInsertAfter(string initialString,
string insertAfterText, string textToBeInserted)
int intPos = initialString.IndexOf(insertAfterText);
if (intPos == -1) return initialString;
int insertAfterTextLen = insertAfterText.Length;
return String.Concat(initialString.Substring(0, intPos + insertAfterTextLen),
initialString.Substring(intPos + insertAfterTextLen,
initialString.Length - (intPos + insertAfterTextLen)));


Google: People will pay for web content, says Google

At WAN 2008 Nikesh Arora, the President of Google Europe, Middle East, Africa and VP of UK operations stated the rise of paid news content on the web.

He even goes as far as to predict the demise of the blogosphere and the continued dependence on internet based commodities (mashable mapping, messaging etc. products).

Y0u can read the article here.

This is especially scary as we move the public internet increasingly over private pipes. Will ISPs start charging tolls to content providers to serve paid content? Will we see a CableTV model deployed here with carriers, broadcasters and content holders?

Google is bold in saying this. If I only have content purchased from Toronto Star, TSN, and ESPN - Why in the world would I need search.

Over and Out


Microsoft Zune Development Platform RELEASED!!!!! (CTP)

Why is this not news? Do people really not care about Zune. With this release it will be interesting to see what new apps we can load on our devices.

Anyway, as predicted the Microsoft Zune Development Platform has arrived. I'm thinking cardless card games :).

Officially, this is a gaming platform. Unofficially, it's a development platform.

Check out the Zune blog here.

Keep in mind the full platform will not be released until Holiday 2008.

If you are desperate for the CTP direct download from Microsoft try clicking here.

I'm downloading tonight and will report on my development experiences on this blog.

Over and Out


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


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.


The Google Analytics Team


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));
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.

Facts below,




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).


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


Blackberry 8820 now supporting T-Mobile @Home HotSpot (= all you can eat phone calls for $20 per month)

This is another quick follow-up on yet another member of the T-Mobile Blackberry Hotspot team. The Blackberry 8820 has been released with T-Mobile Hotspot support.

ZD Net is reporting that this device is now available through T-Mobile. Effectively this means there is yet another sweet blackberry that will work through their $20 a month plan.

Specs for the 8820 include:
"quad-band GSM/GPRS/EDGE (still no 3G love from T-Mobile), 802.11 a/b/g WiFi, Bluetooth, GPS, 320×240 display and microSD card for expansion."
The Blackberry Curve already supports T-Mobile Hotspots [this is a follow-up article to my previous post last year on unlimited phone calls for $20 with the Blackberry Curve and T-Mobile].

Guide: More Syndicate Internet Video Sites / Apps

Online Video Content Aggregator:

www.ovguide.com -> this is basically a traffic stat app which tracks a bunch of submitted sites and presents them as aggregates to the masses. I use this when the sites I like get shut down – in order to find new sites. Lots of specialty sites like Simpsons Video, South Park etc. with ALL episodes. Good to dig around in the verticals listed in the left side tab.

Streaming Media Sites (some with download options):

www.joox.net -> this is a divx site and is worth keeping an eye on, stage6 shut down so this site basically has no content.

www.quicksilverscreen.com -> this is an any media site, I don’t have much luck streaming Megavideo or YouKu videos in Canada. Try the QSS forum as people post links to DivX movies that are dependable in there (usually the host of the video doesn’t have bandwidth for the masses so it’s a bit hit and miss - oops the secret is out).

www.redcurtainmovies.com -> not too sure what is going on with this one, use to be divx but used stage6 as the backbone … haven’t used it in a long while but the interface is clean (when adblocker is used).

www.surfthechannel.com -> this is a TV & Movie Social Network for links. I’ve had a great deal of luck with this site and even though the majority of the video is flash format the quality is surprisingly good (videos usually come in parts which makes it a tiny bit annoying).

www.watch-movies.net -> this site specializes in movies and usually has every new release in varying quality, best bet is to go the veoh download route on this site or just use it like I do and hit mininova.org.

www.atomicmovies.net -> good site that actually has a summary of each movie. The major plus is they give you a link to download movies where applicable. Nice clean inter

http://www.nabolister.com -> this site seems to take the card for traffic. I hate it, but people flock to the site.

IPTV / Internet TV Applications:

http://www.joost.com/ -> there are an abundance of channels to search through, lots of music videoish stuff. Bikini search for those long poker nights. They are planning on streaming sports events in the near future (and already support HD Video). This app is too choppy for me to use even with a nice broadband connection. I usually do a search mute the audio and play music over top of it. Lots of specialty channels.

http://www.getmiro.com -> this is a pretty cool open source download based Internet TV application that uses the VLC media engine to play video (can play anything). You can make youtube, google and etc. Channels VIA Search Terms (it will automatically download to your preference). You can hook in any video RSS feed (where RSS items are actually video files) into this application (EX// use a mininova.com search to make a channel).

http://www.veoh.com -> this is probably one of the better TV Apps for syndicate video. Keep in mind it’s built in America for Americans so in order to stream some shows you need to go through an American proxy. A bit annoying but you can usually also download the video right from the site. Downloads ARE higher quality than streaming. There is a type of DRM built into this application so IF you download an obviously copyrighted video you need to move it out of your Veoh library or Veoh will delete it when it realizes the infringement. I have also heard people complain this is spy-ware, I don't really care, if it is it's not obvious and Canada doesn't enforce downloading rules so whateva. To be frank, I think someone could beat this company in court to remove the DRM feature as it does directly mess with your hard disk.

Those are basically the sites / apps I have experience with. I really stopped using the streaming sites once stage6 shut down because the quality is terrible. If I was downloading video, I might use BitComet for torrents.

Another note here: all of these sites require some sort of mouse interaction, it would be very nice to be able to swich / pick videos using a remote control. Site owners, get your JavaScript handy for those arrow key events.

Over And Out



Zune Software No Worky on Remote Desktop Connection

I wonder how many people are like me, remoting into their home PC's from the office so they may "organize things" or "view things" or "do things" that they can't do at the office - Like try to find where that mix tape resides on their Zune because the Zune interface has no ability to search.

Well, I remoted in today and tried to do a search of my device from the Zune Software (yes you can see what has been sync'd with your Zune even if it's not plugged in). So I remoted into my home PC and opened the Zune software.

Where the software was supposed to show me a window, I saw a white hole in the screen. Is this a sign of the times? Should I be upgrading to Vista? Anyway readers, if you know why this happens, or how the heck I can fix it I'd love an answer. I'm from Canada and had to import my Zune (not for sale here) so I don't have any friends in the same situation.

Here is a screen shot (sorry, I cropped out my IP and the Remote Desktop Title Bar):

Over And Out.


Blogger / Blogspot Now Supporting OpenID

I don't know how behind the curve I really am with this one - BUT - Blogger is now supporting OpenID authentication.

I really wish I'd known about this - next question - does that mean Google is now supporting OpenID too? Bloggers? Can I use my Google Account anywhere OpenID is supported.


Over and Out


iPod / Zune feature request: Listen to Video

Just a little feature request. I'd like to be able to play a video file as an audio file on my Zune.

For certain shows, EX// Russell Peters comedy acts - I'd like to be able to turn off my LCD screen so I can just listen to the audio.

My primary reason for wanting this is to save some juice.

Over and Out


Holy Hadoop!!

I'm still trying to decide if I mean holy as in holy grail or holy crap cause they are both pretty applicable.

Yahoo launched Haadop in production today and I have to say the statistics are bloody unbelievable. Whomever questioned Microsoft's reasons for wanting to buy this company may either be a financial analyst or partially crazy.

  • Number of links between pages in the index: roughly 1 trillion links
  • Size of output: over 300 TB, compressed!
  • Number of cores used to run a single Map-Reduce job: over 10,000
  • Raw disk used in the production cluster: over 5 Petabytes

Open Office Sucks and So Does Your Face (UnoRuntime + C#)

If you are stubborn, or an idiot, or you just like using junky apps Open Office is for you. This is probably one of the only situations I'd suggest paying for and installing Office 2007 / 2003. It's just worth it.

I've been doing some automation in C# / Open Office [which I would love to rename Open Orface] and have been having issues porting Java code into C# - especially with this god darn UnoRuntime B.S.

So, what the fark is UnoRuntime and how the hell do I use it in Open Office. Well, I'm not going to get into the nitty gritty about it here - rather I'm going to explain how you don't use this somewhat core seeming object when building automation in C#.

As I'm sure you are aware - UnoRuntime is not available from C# - BUT - Most of the Java examples use this object heavily to query the UI layer and for object creation (or brokering I'm no expert under the Open Orface hood).

At first I took a look into Marshal.QueryInterface method just to see if I couldn't find the UnoRuntime somewhere in the COM layer - I turned around and decided to use an elaborate try catch + reflection algorithm to gain some concrete understanding of what was in the uno objects.

As you work more with Open Office you will realize the C# library uno, and unoidl namespaces merely contain gigantic unorganized transparent object proxy's that point into completely nonintuitive open office objects. Moreover, these open office objects are heavily based on the use of Interfaces - well I looked a bit deeper into the types I was calling and low and behold - they are pretty much huge junky objects that expose a countless number of interfaces - so we don't really even need the UnoRuntime (which makes me wonder why Java uses it).

The bottom line in this article is that UnoRuntime doesn't exist in C#. If you are porting Open Orface Java code into C# then forget about UnoRuntime. Do everything through casting and shut the hell up.

Here is an example of the Java to C# difference in creating a text property replacer:

xRepDesc is of interface type: XReplaceDescriptor AND XPropertyReplace so you can just cast the xRepDesc into XPropertyReplace and boom you're running.

XPropertyReplace xPropRepl = (XPropertyReplace) UnoRuntime.queryInterface(XPropertyReplace.class, xRepDesc);

XPropertyReplace xPropRepl = ((XPropertyReplace)xRepDesc);

Just in case you don't know, you create the xRepDesc object by, guess what - casting xComponent (of type - you guessed it XComponet - seriously wtf is an XComponent):

XReplaceDescriptor xRepDesc = ((unoidl.com.sun.star.util.XReplaceable)xComponent).createReplaceDescriptor();

I'm going to go ahead and call this automarshalling and be done with it. It sucks and if I had a server app I'd be tempted to write all my Open Orface automation in Java and write a high level COM abstraction to port a simple oAssWrapper.RunJunk(params) method and not have to deal with the hassle - OR - just go the Open Document route and use MS Word automation and then merely use open office to convert the document.

Over And Out


Goodbye Stage 6 - What will happen to Joox and Quick Silver Screen

As pretty much everyone knows by know, Stage 6 is being shut down on February 28th. This is truly disappointing but what can you expect from a high quality / high bandwidth site like that. I truly cannot imagine what their hosting costs must look like month over month.

There are few things that come to mind here:

1) Download the Veoh player, because when it comes to quality Veoh may be the best bet for user uploaded content. Most likely Veoh will become the new player for copyright infringement. I've used Joost & Miro (democracy player) BUT Veoh takes the cake as the superior IPTV content provider. Its really tough to find anything enjoyable on Joost / Miro but Veoh already hosts syndicated content from sites like ABC and NBC etc. Just wait on a My Veoh site launching that caters toward finding syndicated (illegal) copyright content in Veoh. This may be Joox, this may be Red Curtain Movies - infact Joox which was predominantly a Stage 6 deep linker has already declared they are revamping their site. It was amazing to see how users reacted to stage 6's closure by uploading links to pretty much their entire video library to Quick Silver Screen in Veoh format.

2) Bit Torrent sites will see traffic boosts. I can't watch a streaming movie on Google nor many of those other stupid video sites because the quality is terrible. My bet is people wanting to download content will switch to torrents (which are notoriously slow on many high speed networks due to packet shaping / throttling). If you live in Toronto Bell is faster than Rogers for torrent BUT is still nowhere near streamable speeds.

3) What will occur from the increased posts of illegal copyright content in these other movie sites? Google has yet to settle it's billion dollar copyright suits and with Stage 6 being shut down, they are likely to see an increase of illegal content on their servers and many more law suits. Being a Microsoft developer, and having watched Google revamp the internet dev vertical, (making it harder for everyone) I have every interest in seeing them get squashed by these claims.

4) The studios are playing around with digital markers in video which identify the video as being copyrighted. The technology basically read frames and look for strange shapes / overlays of shapes to be determine the source - and thereby can determine if the content is copyrighted. Moreover - they are digitally stamping screeners with unique imprints to identify the shop that leaked the film. It is just a matter of time before the USA legislates that the loophole in DMCA which provides for "take down notices" is changed OR more likely the free market will dictate that change based on the reduced costs of automation (hold on for recession everyone, it will be the next step in automation ... sorry). If I was Veoh, I'd rather automate this process than have a department that responds to take down notices. Keep in mind, torrent sites, while they may be able to determine where the leak is, they won't be able to stop the torrents from being shared.

Now if only I could run bit torrent to a video stream, then I'd be happy.

Losing Stage 6 is like losing the love of your life, no matter how hard you try to win her back, the reality is they are already gone.

Over and Out


Queen West 6 Alarm Blaze Photos

For anyone wondering just how close the fire was to my building, here are some pictures: click here

You can see my building in the foreground, yellow brick double wide. My unit is in the bottom right corner.

This is what we woke up to. First, total
smoke filled darkness. Then enormous
plumes of smoke appeared. It was
a tremendous specticle

DreamSpark: Free Microsoft Dev Tools For Students

As I look at a $2500 MSDN Subscription fee, this makes me very jealous. Got any friends that are students?:

"DreamSpark is simple, it's all about giving students Microsoft professional-level developer and design tools at no charge so you can chase your dreams and create the next big breakthrough in technology - or just get a head start on your career.

Who can get this right now?
We are kicking this off in 11 countries/regions, giving DreamSpark to millions of students in the United States, the United Kingdom, Canada, China, Germany, France, Finland, Spain, Sweden, Switzerland and Belgium. If you are not residing in one of the countries listed keep checking back, we will be adding more countries throughout the year."
Applications Include:
  • Visual Studio 2008 Pro
  • Windows Server 2003 Standard
  • SQL Server 2005 Developer
  • Microsoft Expression Studio
  • XNA Game Studio 2.0
  • XNA Creators Club
  • Visual Stuido 2005 Pro
  • Express Editions of (VB, C#, C++, J#, SQL Server, Visual Web)
  • Microsoft Virtual PC
You can access DreamSpark here: https://downloads.channel8.msdn.com/


Queen West 6 Alarm Blaze - My Eyewitness Story - Toronto

Holy Smokes, I think the super was banging on my door for about 5 mins at 5am trying to wake me up to get out of the building.

The six alarm blaze just took out pretty much my entire block - every building between Queen & Bathurst / Richmond & Portland with the exception of the Big Bop (thank god!!) and my super sweet hard loft building (and a couple others).
Apparently my building has no emergency lighting. Let me tell you, waking up alone in a big loft at 5am in the PITCH black to escape a raging inferno really sucks. Couldn't find my lighter (hmmm), barely tracked down my smokes & laptop (minus power cord) before the smell of real smoke had me cruising out the door at full limp. Without those precious items in hand, escape would have been frivolous!

I took the back stairs down to Richmond, pushed open the door to a small infantry of firefighters working overtime to hook up their hoses. Noticing me they started to scream “get out of there, someone get this guy out of here”. I limped over to Bathurst to see the rest of my building flooding the street. People in pajamas, house coats. People like me filled the street with their valuables in hand, dogs, cats, birds – every pet imaginable were ordered outside in the nearly minus twenty degrees - on direct evacuation order from the fire department.

The intersection was a mad house. Fire engines and pumpers screaming around the corner every couple minutes, as an ordinary street would be lined with parked cars, both Bathurst and Queen were flooded with cops, ems workers and crazy paparazzi. One officer apparently came all the way in from Scarborough to help out.

Walking to the north side of my building I took my first glimpse down the alley to see what the commotion was about. Although it was still almost pitch black outside a faint glow from the rising sun illuminated the enormous plume of smoke that seemed to ascend endlessly into the predawn sky. We walked up to Queen to see the rest of the fire ravaging the top floor of what looked to be the entire row of heritage shops. The flames ascended so high into the plume of smoke it even looked like the sky was on fire. Smoke billowing out of the buildings almost like an inverted river rapid – as if it was being forced out at high speed – possibly due to the amount of steam. It was truly shocking at how completely blanked the entire area was in smoke. For a couple minutes I couldn’t even see more than fifteen feet in front of me – definitely not good for the lungs.

The firefighters sprayed the blaze in vain with their water turning into snow in mid air as they tried to get things under control. It was truly a pity to see flames burning the top side of wood as icicles gathered beneath – natures little paradox. There were an unimaginable number of hoses, pumpers, engines and firefighters on the scene. Truly a spectacle.

For a few hours the property our building stood on was off limits to the public. We were rushed across the street and all waited in the frigid wind before a TTC bus showed up to provide some temporary warmth. At that point, the fire reaching its climax, I had absolutely no interest in being out in the cold so I jumped in a taxi and went to visit my parents for a good old dawn social - but mostly to follow the rest of the story from the warmth and comfort of a luxury condo.

All in all, apparently 14 addresses were destroyed by the fire. One building has totally collapsed sending debris into Queen Street (see pics), a couple more look like a strong wind could push them over. It’s a real shame – and it’s been rumored all day that some crack head drug operation may have started the blaze. Everyone knows everyone down here so it will be interesting to find out what really happened.

It’s also nice to know that the city is here for us. As it was just after 5am I think it may be a bit much to ask for temporary shelter to be provided immediately, but at minus twenty, the fire fighters may want to reconsider how prematurely buildings are evacuated with respect to having pets and small kids out in the cold. Having said that they did have an endless stock of freezing cold water – exactly what I’m looking for in the middle of a freezing cold fire. In hindsight I think all the right decisions were made and I have to thank the fire fighters for saving our building from the fire. They are truly amazing people and deserve a ton of credit for not letting this spread even further than it already did. Great Work!!

I’m back home again, exhausted from the night of the fire. I didn’t light it but I tried to blah blah … Our building is OK but my place really smells like smoke. Thanks to everyone who sent me concerned messages. Everything is OK and back to normal.

My girlfriend took these pictures of the aftermath of the fire (http://picasaweb.google.com/thaconlan/QueenStreetFireFeb2008). My neighbor took a bunch of pictures of the early morning hours when the fire was raging out of control - I will post as soon as possible.

Now if only my ankle would get to 100%. Stupid cube vans. I bet this fire was started by a white cube van – think about it.

Over And Out


Personal Search Engine + hmmm = Personal Web Crawler

Just another thought today. Search engines are built on extremely complex grid like infrastructures. At this point, with the given technology it is not feasible to miniturize these applications so they may run with the same power on our disconnected little lonely laptop or desktop PC. blah blah blah ...

With all this talk about Google saving my search history and relating it to my email and so on and so forth I got to thinking about a Personal Search Engine (PSE). Sure my PSE would probably still rely on Google, but it would do this in a much less trackable way (say by building custom high level indexes on my PC and using a shared Personal Search Engine tracker cookie to agg all PSE user search content). In essence PSE would be a privacy proxy to keep your personal information personal - and a free search history tracker.

The catch would be that PSE could be enabled to auto download content. As such, I could download all .pdf files on a topic to be explored when offline, I could automatically download any .flv file etc. This could all be done VIA Regex patterns the user could build in a slick interface.

Further, this PSE wouldn't be a start page like destination site, it would actually copy content to your hard disk that is shared in any HTTP ring. I mean, at the end of the day, we use the web for content, not for the funky look of a page with all it's advertising.

I like the idea of having a search bar embedded on my desktop for web, or local search. I don't care if you think they have this now, it isn't a proxy and it doesn't auto download stuff.

Calling on the MPAA! Do you want to reduce copyrights

I wrote an application that could tremendously reduce copyright infringement on the www. However, I'm really caught between selling this as a service to the MPAA and making it an open source Web Media player.

While I need to make money to eat, to sleep, to live, I also don't want to be a part of the solution as it means no free high quality DivX movie downloads. But better that than be part of the problem. Or something like that.

Is anyone aware if the MPAA is working on copyright reduction / copyright propogation reduction technologies?


C# - Get Regional Date Settings

Heck, I don't know if this works in all circumstances so please let me know if you use this and are or are not happy with it.

string RegionalFormat = (new DateTime(2008, 2, 29)).ToString().Split("/".ToCharArray())[0] == "29" ? "d/M/yyyy" : "M/d/yyyy";

Over and Out


RE: BlackBerry Remote Stereo Gateway


Mom, do I still have my old stereo in storage somewhere?

Behold RIM Genius ... God bless the two CEO's who let this idea roll ... RIM in all of it's success has finally developed a 21st century device to support the increasingly plummeting 20th century technology base. About 8 years too late, but good work I guess. I honestly can't remember the last time anyone I knew bought a stereo or a component device and hence would like to reinforce this being a "pivotal moment in the history of the BlackBerry franchise," .... gotta keep these trade secrets close RIM, never know when someone will make a UHF/VHF antenna to output their iPod / Zune to a rabbit ear (read VHF/UHF) based COLOR TV from the 70's ...

What really rattles me timbers is: there is something called WiFi that pretty much does all this stuff VIA standard interfaces. Hmm, why not use a 1998 Blue Tooth based connection ... we have 802.11n but why not use 802.11a ... good idea!!!

I tip my hat to your engineers who have obviously outdone themselves with this over engineering effort. Didn't Apple do this in the form of an FM Transmitter you plug into the headphone jack of an ANY DEVICE WITH A HEADPHONE JACK? I mean, i can play an ANY DEVICE WITH A HEADPHONE JACK and listen to it through my Zune Radio or 20th century
stereo. Anything that has a radio (not even a headphone jack or any hardline input device) can play the music. Oh, but this is high fi - well then look at the bitrates in MP3 and say that again, HiFi doesn't exist in this realm, and to be frank, how many dusty 1900's stereo's can actually play hifi??

Remote control, wtf... this has to be a joke or the marketing people are just illiterate. RIM may want to actually look that one up in the dictionary: REMOTE: __ CONTROL: ___. There is nothing remote controlling anything!!! All you're doing is playing songs on your Blackberry and streaming them to the air. So what you've developed is a local control with a wireless data stream and a name that makes absolutely no sense.

Better Ideas:
Develop a base station like all the iPod Docks? How about a set of wireless speakers you can stream media to over 802.11n? Native support of MP3, DivX, and even wmv or flv? How about a PC to TV device, a freaken trackball that lasts longer than 6 months, or a base install of Firefox Mini on the device? I mean sweet baby JC, imagine how far ad hoc wireless networks could go for Blackberries creating wireless LANs on the fly?

You guys basically pioneered the smart phone and now your happy to announce a hybrid 20th / 21st century device? Holy crap that's backwards ass backwards.

Over And Out


Long Break, Run over by Cube Van, and JavaScript

Sorry for the delay in my posts. It's been too long and I apologize.

Amongst other things, I managed to get run over by a Cube Van on my way into the office (didn't break a bone!!), changed consulting firms, and am once again enjoying life.

Now that I'm back at it I wanted to post a link to the Art and Science of Javascript it is a great book that actually talks to real world JavaScript examples. Isn't it about time something like this came out.

Please Give It a Read, and if you find an eBook version, please leave a comment in this blog posting.

Over And Out