Microsoft mouse, scrolling and Windows 7

Tags: , ,
Posted in PC Peripherals

Over the weekend I purchased a Microsoft Explorer Mini Mouse which touts the ability to work on any surface. So far I have been pretty impressed with it as the mouse has pretty much worked on every surface I have tried it with.

I picked up on a slight issue on my laptop running Windows 7 though, and thought I would post the details of the solution. After using it for a while I found that the scroll wheel was extremely unresponsive and at times I would have to really give the scroll wheel a spin before any motion was registered on the screen. Updating the scroll sensitivity didn’t change a thing. I was really disappointed and initially thought it was the mouse, however after thinking about it for a bit I considered that perhaps it had something to do with my spanking new OS. So off to Google it was and sure enough, I found a solution on Microsoft’s site. On their Windows 7 hardware support page you will find beta drivers for various hardware devices, including their Mice/Mouses… wow, which is correct? More here.

AJAX Control Toolkit Update

Tags: ,
Posted in Development

A new version of the AJAX Control Toolkit has been released and is now available. You can download it from here.

There are three new controls:


  1. HTMLEditor – essentially a WYSIWYG editor (similar to FCKEditor). Demo.
  2. ComboBox – combines the functionality of a TextBox and DropDownList control. Demo.
  3. ColorPicker – a control which generates a color swatch (in a popup) for users to pick a color from. Demo.

Find out more about the new release here.

MEF Preview 5

Tags: ,
Posted in Development

Just upgraded to MEF preview 5 and thought I would just post a gotcha that had me puzzled for a few minutes. After upgrading none of my exported parts were being picked up after composing an instance of the composition container class. I was exporting my types as per the example below:


    1 [Export("DataTransformation.Task")]

    2 public class Task : DataTransformationTask

    3 {

    4     // ….

    5 }



With MEF preview 5 you have to explicitly pass the type you are exporting in the Export attribute constructor as per below:


    1 [Export("DataTransformation.Task", typeof(DataTransformationTask))]

    2 public class Task : DataTransformationTask

    3 {

    4     // ….

    5 }



If you would like to find out what else has changed I would recommend taking a read through Glenn Block’s blog review here: http://codebetter.com/blogs/glenn.block/archive/2009/04/11/mef-preview-5-changes-and-enhancements.aspx

TinyURL and SEO

Tags: , ,
Posted in Social Media

So, I have finally decided to setup a Twitter profile to find out how it can change my life. With Twitterberry installed on my phone, my profile picture uploaded its all systems go!

One of the first things you will notice once you are up and running is the prolific usage of URL shortening services such as TinyURL (due to the 140 character limit imposed on one’s tweets). This got me thinking about what the the impact of these services have on SEO. No doubt they add value (they take up less space) but obviously contain less metadata about the target of the link. Google’s famous PageRank algorithm utilises a link as a vote towards a target page’s score while the actual URL path is also utilised in some way to identify the relevance of key terms on the target page. So, the question is, do search engines such as Google unpack shortened URLs and uncover the source URL for indexing purposes? Food for thought…

I must admit that although there is value in shortening URLs (such as the example posted on TinyURL’s homepage), they remind me of the kind of links you find in email spam messages. Perhaps that is why I find myself thinking twice before clicking them. I don’t like the fact that I don’t know where I am being navigated to. Although its tough to judge the content of a page just by looking at the URL, I believe many of us have become very good at it. No doubt many people (including myself) have become very adept at rapidly trawling search engine results and picking links they wish to explore, central to this is the URL and the path it exposes. In some cases it may be useful if authors of shortened URL’s exposed a tooltip with the full path to the original URL although I understand that this is not always possible and, to an extent, defeats the purpose.

Maintain debug information while in release mode

Posted on: (1 Comment
Tags:
Posted in Development

If you have every deployed a website / web application, you would most probably have included some kind of logging mechanism that records any exceptions that occur at runtime. In my case, I like to include a global exception catcher in my apps so that I get notified if a user receives any kind of uncaught exception. The main problem with this approach is that if the application is compiled in release mode you normally would not be able to get an exact handle on the line of code that caused the exception. The trace is still useful but would be much more valuable if the line numbers were included.

Well, this is possible even when your app is running in release mode. Simply update your web.config as follows (note the highlighted compilerOptions tag):


  141 <system.codedom>

  142     <compilers>

  143         <compiler language=”c#;cs;csharp” extension=”.cs” warningLevel=”4” type=”Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089compilerOptions=”/debug:pdbonly>

  144             <providerOption name=”CompilerVersion” value=”v3.5“/>

  145             <providerOption name=”WarnAsError” value=”false“/>

  146         </compiler>

  147         <compiler language=”vb;vbs;visualbasic;vbscript” extension=”.vb” warningLevel=”4” type=”Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089compilerOptions=”/debug:pdbonly>

  148             <providerOption name=”CompilerVersion” value=”v3.5“/>

  149             <providerOption name=”OptionInfer” value=”true“/>

  150             <providerOption name=”WarnAsError” value=”false“/>

  151         </compiler>

  152     </compilers>

  153 </system.codedom>



For more information about emitting debug information follow this link: http://msdn.microsoft.com/en-us/library/8cw0bt21(VS.80).aspx

Hope this helps.