Shiney new logo

Submitted by Robert MacLean on Tue, 08/14/2007 - 16:46

Sarah Grant noted today on the CRM team blog that support for Dynamics had been added to the MCP logo builder, which is great for me since it means I can now build a logo for myself Laughing Which will be shown with pride on website from now on. But for those reading through rss readers then here is the logo

Rawr Bear ver 1

Submitted by Robert MacLean on Sun, 08/12/2007 - 18:40

The first version of rawr bear 

 | Ω  ║║║ Ω |
  \   θ θ   /
   \ / ☼ \ /
   / \_|_/ \
  /         \
 ¯\/       \/¯
 \ \       / /

Taglocity review

Submitted by Robert MacLean on Fri, 08/10/2007 - 09:09



Taglocity is a Outlook 2003/2007 plug in which gives the same idea is tags on blog (like on the right) but to email. Now this isn't really anything special for Outlook as you can get basically this same ability with flags in Outlook. There are three really good features in it though which help it stand out above just flags:

  1. There is a tag cloud view at the bottom of Outlook. This is great since you can have easy access to more tags than you can have with flags. However this appears either as a floating window (annoying) or docked (better), but in either mode you can not choose what windows it should show on, so it shows on everything. I'm a power calendar user and really don't need to lose space to tags in an area I won't use them.
  2. Next is the auto tag, which works off Bayes to predict what tag should be on what. This is great in idea, but not well implemented. Firstly when I get in to the office in the morning I generally get about 30 emails, which causes the Outlook to lock for 1 to 2 minutes while it auto tags. It does not auto tag blog posts. And in the end it seems to either want to tag everything or tag nothing, maybe thats cause I deal across a lot of different subjects with different tags and it makes it harder but it really shouldn't be.
  3. Lastly is the find feature which lets you do proper boolean expression searches based on tags, which is really useful since the result are almost instant. The downside is that it limited to the current folder with no way to search all folders.

Anyway after using the professional trial for 14 days it expired and I now have the option to purchase or drop to personal edition. The personal edition has a tag cap which is a problem since I do need a lot of tags, and based on the negative points in the main features I can't agree to pay for it. So in the end it will go the way of the dodo and be uninstalled.  

 Side Bar

Details and downloads on Taglocity can be found at

I used Taglocity 1.1 with Outlook 2007 on Vista. Outlook 2007 was patched with the performance hotfix.

This ran on an Acer TravelMate 3270 laptop (Intel Core 2 1.67Ghz, 1.5Gb of RAM, 80Gb Hard drive)




Comments back

Submitted by Robert MacLean on Tue, 08/07/2007 - 12:31

Just a heads up that comments are now enabled again!! Laughing

Horrible web UI

Submitted by Robert MacLean on Mon, 08/06/2007 - 20:54
I really don't get to use the annoyances tag enough :) For some reason despite the fact I am annoyed almost daily I don't blog about it. But this sort of justified it! It's from the Unreal Tournament 3 site. When you get to the site you get presented with 3 drop downs and no explanation for what they are for.

An so the wheel turns...

Submitted by Robert MacLean on Mon, 08/06/2007 - 17:22

I was searching for something (don't ask) and came across an interesting post about upgrading to Microsoft's latest OS:
My initial reaction is that the fancy UI effects make things feel a little sluggish, but there are some very interesting improvements as well (and the visual effects can all be turned off).

The amount of times I've heard that in the last few months about Vista is crazy, but heres the funny bit. The post is about XP. Which made me think back to that and yep I ran XP with the themes turned off for ages (get those few extra FPS out of Unreal '99. By the time I upgraded to Vista toggling themes in XP wasn't even a choice, it wasn't done. It made windows seem odd. Now comes Vista and here we are again. Guess what's going to happen in the next four years? ;)

FindControl and Master Pages

Submitted by Robert MacLean on Sun, 08/05/2007 - 19:12
Continuing with my earlier post on enums where I proved people wrong, I decided to prove another MVP wrong. Once again for those who are already in the know they can skip to example 2 below.

FindControl Basics

First off a primer on FindControl taken from the MSDN help: Searches the current naming container for a server control with the specified id parameter. Example: The following example defines a Button1_Click event handler. When invoked, this handler uses the FindControl method to locate a control with an ID property of TextBox2 on the containing page. If the control is found, its parent is determined using the Parent property and the parent control's ID is written to the page. If TextBox2 is not found, "Control Not Found" is written to the page.
  1. private void Button1_Click(object sender, EventArgs MyEventArgs)
  2. {
  3.       // Find control on page.
  4.       Control myControl1 = FindControl("TextBox2");
  5.       if(myControl1!=null)
  6.       {
  7.          // Get control's parent.
  8.          Control myControl2 = myControl1.Parent;
  9.          Response.Write("Parent of the text box is : " + myControl2.ID);
  10.       }
  11.       else
  12.       {
  13.          Response.Write("Control not found");
  14.       }
  15. }

Searching Master Page content using FindControl

You could build a recursive find control method which searches master pages and content pages control internally looping through each control and checking the ID, but then you would need to also build one which takes logic for the offset overloaded version. Sounds like too much work, and I guess MS thought so too since it was never designed this way. Example 2: If you wanted to search the master page for a control you could do the following:
  1. this.Master.FindControl("ControlID")
This will find any control in the master page which happens to have the ID "ControlID". This control can be a sub control of another control. Whats going on here? Well to understand, I downloaded the famous Reflector and searched Microsoft's Framework for this.
  1. protected virtual Control FindControl(string id, int pathOffset)
  2. {
  3.     string str;
  4.     this.EnsureChildControls();
  5.     if (!this.flags[0x80])
  6.     {
  7.         Control namingContainer = this.NamingContainer;
  8.         if (namingContainer != null)
  9.         {
  10.             return namingContainer.FindControl(id, pathOffset);
  11.         }
There is more to it and you can read it here (You'll need Reflector 5 or higher installed for that to work). The important thing to note is the recursion being done there!!! Thus we do not need to worry about it. There is a problem though, this searches the master page only. How do we get to the content page? Example 3: If you wanted to search for a control in the content page. Assuming our Content Place Holder ID is named "Content" you can then put that in FindControl followed by either $ or : and then the control you want to find.
  1. this.Master.FindControl("Content$ControlID")
  1. this.Master.FindControl("Content:ControlID")
There you go, now you can find any control (nested or otherwise) on any content page :)