<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Ruurd Boeke Enterprise development and technobabble - Tools</title>
    <link>http://www.sitechno.com/Blog/</link>
    <description>All about agile, OR-mapping and winfx - yeah baby!</description>
    <language>en-us</language>
    <copyright>Ruurd Boeke</copyright>
    <lastBuildDate>Sun, 12 Apr 2009 00:29:47 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>contact@sitechno.com</managingEditor>
    <webMaster>contact@sitechno.com</webMaster>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=17d1cf77-0b08-40bc-86eb-81c42a8b2e6f</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,17d1cf77-0b08-40bc-86eb-81c42a8b2e6f.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,17d1cf77-0b08-40bc-86eb-81c42a8b2e6f.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=17d1cf77-0b08-40bc-86eb-81c42a8b2e6f</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In a <a href="http://www.sitechno.com/Blog/SpeedUpIE8Tips.aspx" target="_blank">previous
post</a> I mentioned ways to speed up IE8. For me, having used Spybot a long time
ago proved to be the culprit: it had added a slew of sites (hundreds) to the blocked
sites zone. I removed it and all was well..
</p>
        <p>
Or was it?
</p>
        <p>
I noticed that IE8 still did not come up as quick as it did on my other computers.
Opening a tab was fast, but opening another tab proved to be slow. Actually, I found
that the first tab I opened was fast, the next one was slow, the following was fast
again. Possibly some pre-creation of processes going on?
</p>
        <p>
Today I finally did the smart thing and hooked up filemon to see what was actually
going on. It turns out that there were still hundreds of domains somewhere hidden
in my registry. They no longer showed up in any dialog box concerning security, but
they were there! I removed the key and now IE8 is <strong>really</strong> fast. As
in, faster than Chrome or Firefox, when opening new tabs. Incredible!
</p>
        <p>
So, if you feel that IE8 is still a bit sluggish for you, go and see what the following
registry key contains:
</p>
        <p>
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Internet
Settings\ZoneMap\Domains
</p>
        <p>
(Note that I’m on a x64 machine, hence the WOW64 node).
</p>
        <p>
My solution is to delete the Domains key.
</p>
        <p>
          <font size="1">(I can’t even convey how happy I am with this simple find. We all spend
a lot of our time inside our browser and I like IE8 better than other browsers. It
is just a very capable and well-thought-out user experience. But if something is slow,
it kills the experience!)</font>
        </p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=17d1cf77-0b08-40bc-86eb-81c42a8b2e6f" />
      </body>
      <title>Internet explorer 8 speed, update</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,17d1cf77-0b08-40bc-86eb-81c42a8b2e6f.aspx</guid>
      <link>http://www.sitechno.com/Blog/InternetExplorer8SpeedUpdate.aspx</link>
      <pubDate>Sun, 12 Apr 2009 00:29:47 GMT</pubDate>
      <description>&lt;p&gt;
In a &lt;a href="http://www.sitechno.com/Blog/SpeedUpIE8Tips.aspx" target="_blank"&gt;previous
post&lt;/a&gt; I mentioned ways to speed up IE8. For me, having used Spybot a long time
ago proved to be the culprit: it had added a slew of sites (hundreds) to the blocked
sites zone. I removed it and all was well..
&lt;/p&gt;
&lt;p&gt;
Or was it?
&lt;/p&gt;
&lt;p&gt;
I noticed that IE8 still did not come up as quick as it did on my other computers.
Opening a tab was fast, but opening another tab proved to be slow. Actually, I found
that the first tab I opened was fast, the next one was slow, the following was fast
again. Possibly some pre-creation of processes going on?
&lt;/p&gt;
&lt;p&gt;
Today I finally did the smart thing and hooked up filemon to see what was actually
going on. It turns out that there were still hundreds of domains somewhere hidden
in my registry. They no longer showed up in any dialog box concerning security, but
they were there! I removed the key and now IE8 is &lt;strong&gt;really&lt;/strong&gt; fast. As
in, faster than Chrome or Firefox, when opening new tabs. Incredible!
&lt;/p&gt;
&lt;p&gt;
So, if you feel that IE8 is still a bit sluggish for you, go and see what the following
registry key contains:
&lt;/p&gt;
&lt;p&gt;
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Internet
Settings\ZoneMap\Domains
&lt;/p&gt;
&lt;p&gt;
(Note that I’m on a x64 machine, hence the WOW64 node).
&lt;/p&gt;
&lt;p&gt;
My solution is to delete the Domains key.
&lt;/p&gt;
&lt;p&gt;
&lt;font size="1"&gt;(I can’t even convey how happy I am with this simple find. We all spend
a lot of our time inside our browser and I like IE8 better than other browsers. It
is just a very capable and well-thought-out user experience. But if something is slow,
it kills the experience!)&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=17d1cf77-0b08-40bc-86eb-81c42a8b2e6f" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,17d1cf77-0b08-40bc-86eb-81c42a8b2e6f.aspx</comments>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=d1f58a9f-67ab-4527-a353-28d33090b74e</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,d1f58a9f-67ab-4527-a353-28d33090b74e.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,d1f58a9f-67ab-4527-a353-28d33090b74e.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d1f58a9f-67ab-4527-a353-28d33090b74e</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The company where I work uses discussion lists quite religiously, and I’m sure other
companies do as well. A discussion list or group allows you to subscribe to emails
about a particular subject, for instance ‘silverlight’. People can send email to the
group and everyone that has subscribed will receive it.
</p>
        <p>
The problem is that this can become chaotic pretty quickly. Of course, everyone will
setup a rule in Outlook to move incoming mail from a group to a particular folder,
but I’m interested in creating a workflow that will help me stay on top of all of
those emails, all the time. That is hard, mainly because you will keep getting email
from conversations that you do not care about. Some of these conversations take days
to come to a conclusion, making you manually wade through all of that over and over
again.
</p>
        <p>
There are many systems devised to deal with email stress and organizing your life
inside Outlook. One important system is GTD (Getting Things Done). I find that those
do not directly apply to email received from discussion lists.
</p>
        <p>
What is needed, is some way to kill a thread and not be bothered with it again. There
are programs that will allow you to do that and I’ve played around with all of them. 
<br />
However, none quite suited me, maybe because I don’t trust programs to delete email.
There is one that is called ThreadKiller, which did not install for me. I believe
it does the same as I’m describing here.
</p>
        <p>
I am interested in the following workflow:
</p>
        <ol>
          <li>
email comes, either new threads or replies to old threads 
</li>
          <li>
I will look at the new threads and decide if I’m interested in them or not 
</li>
          <li>
Threads that I no longer want, should be moved to a folder 
</li>
          <li>
When I have time to actually read whole conversations, of the threads that remain,
I will first make sure that new replies to threads are removed 
</li>
        </ol>
        <p>
Basically it boils down to finding some way to easily find and delete mail that belongs
to threads I don’t want any more. Easier said than done! I ended up having to drop
to VB macros, which I really wanted to avoid. 
</p>
        <p>
Here is a description of my current setup.
</p>
        <h5>Step 1: searchfolder to manage new threads
</h5>
        <p>
Each discussion list I am on will have a searchfolder that only shows me ‘new’ mail.
You can create one by adding a search folder, and using the ‘advanced’ tab to setup
these two criteria:
</p>
        <p>
1. In Folder is (exactly) –the name of the folder that has the mail from the group
- 
<br />
2. Subject doesn’t contain RE:
</p>
        <h5>Step 2: setup a delete staging folder
</h5>
        <p>
Create a folder called Delete staging. It will contain the start of threads that you
are no longer interested in. Basically I will have a macro later on, that will look
in this folder and remove all the mail that belong to the same subject.
</p>
        <h5>Step 3: easily move new threads to the delete staging folder
</h5>
        <p>
I’m a keyboard junkie, and I want to easily move emails to that folder. 
<br />
I dropped into the VB Macro editor and used this code:
</p>
        <pre class="brush: vb; ruler: true; auto-links: false;">Sub MoveToDeleteStaging()
    Dim objItem As Outlook.MailItem
    Set objItem = Application.ActiveExplorer.Selection.Item(1)
        Dim objNamespace As NameSpace
    Dim objInboxFolder As Outlook.MAPIFolder
        Set objNamespace = Application.GetNamespace("MAPI")
    Set objInboxFolder = objNamespace.GetDefaultFolder(olFolderInbox)
    Set deleteFolder = objInboxFolder.Folders("Delete staging")
    
    objItem.Move (deleteFolder)
End Sub</pre>
        <p>
Even though I despise VB, this code is quite simple indeed. You can see that I hard
coded the folder “Delete staging” in there.
</p>
        <p>
Now, customize the toolbar to add this macro there. Rename it to something like ‘&amp;Delete
Thread’, using the ampersand to indicate the shortcut key.
</p>
        <p>
When you select a mail item and you execute the macro, it will move the item to the
delete staging folder.
</p>
        <h5>Step 4: scrub your folder
</h5>
        <p>
The real work is to make sure that mail you receive gets deleted. The best way might
be to create a rule to do that as the mail comes in. I don’t like that, because I
get a kick out of seeing how much mail was removed. So for now I use a manual process.
The code can be easily adjusted to run as a rule when new mail arrives.
</p>
        <p>
So, being a VB newbie, I’ve written code that is vey inefficient but luckily very
useful. The macro below will iterate through all the items in the delete staging folder
and remove any mail it finds in the folder that you are scrubbing.
</p>
        <pre class="brush: vb; ruler: true; auto-links: false;">Sub DeleteMessagesThatAreInDeleteStagingFolder()
    Dim deleteFolder As Outlook.Folder
    Dim currentFolder As Outlook.Folder
    Dim runningItem As Outlook.MailItem
    Dim threadItems As Outlook.Items
    Dim itemToDelete As Outlook.MailItem
    Dim objNamespace As NameSpace
    Dim objInboxFolder As Outlook.MAPIFolder
    Dim Filter As String
        
    Set objNamespace = Application.GetNamespace("MAPI")
    Set objInboxFolder = objNamespace.GetDefaultFolder(olFolderInbox)
    Set deleteFolder = objInboxFolder.Folders("Delete staging")
        
    Set currentFolder = Application.ActiveExplorer.currentFolder
    
    For Each runningItem In deleteFolder.Items
        Filter = "@SQL=" &amp; Chr(34) &amp; _
            "urn:schemas:httpmail:thread-topic" &amp; _
            Chr(34) &amp; "= '" &amp; Replace(runningItem.ConversationTopic, "'", "''") &amp; "'"
        Set threadItems = currentFolder.Items.Restrict(Filter)
        For Each itemToDelete In threadItems
            itemToDelete.Delete
        Next
    Next
    
End Sub</pre>
        <p>
The code uses a filter in the dsal language (some sort of SQL wannabe language used
by Outlook) to filter the email in the folder so it can then delete it. 
</p>
        <p>
Again, I created a toolbar shortcut for it.
</p>
        <h5>Usage:
</h5>
        <p>
Just go to your search folder and quickly triage all the mail that is there by either
reading the mail or moving it to the delete staging folder. Then go to the actual
folder and scrub it using the second macro. This will remove all the threads that
you were not interested in, leaving you with threads to you do want to read!!
</p>
        <p>
I hope that is useful to someone.
</p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=d1f58a9f-67ab-4527-a353-28d33090b74e" />
      </body>
      <title>Surviving email-overload from discussion lists in Outlook</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,d1f58a9f-67ab-4527-a353-28d33090b74e.aspx</guid>
      <link>http://www.sitechno.com/Blog/SurvivingEmailoverloadFromDiscussionListsInOutlook.aspx</link>
      <pubDate>Sat, 04 Apr 2009 23:45:09 GMT</pubDate>
      <description>&lt;p&gt;
The company where I work uses discussion lists quite religiously, and I’m sure other
companies do as well. A discussion list or group allows you to subscribe to emails
about a particular subject, for instance ‘silverlight’. People can send email to the
group and everyone that has subscribed will receive it.
&lt;/p&gt;
&lt;p&gt;
The problem is that this can become chaotic pretty quickly. Of course, everyone will
setup a rule in Outlook to move incoming mail from a group to a particular folder,
but I’m interested in creating a workflow that will help me stay on top of all of
those emails, all the time. That is hard, mainly because you will keep getting email
from conversations that you do not care about. Some of these conversations take days
to come to a conclusion, making you manually wade through all of that over and over
again.
&lt;/p&gt;
&lt;p&gt;
There are many systems devised to deal with email stress and organizing your life
inside Outlook. One important system is GTD (Getting Things Done). I find that those
do not directly apply to email received from discussion lists.
&lt;/p&gt;
&lt;p&gt;
What is needed, is some way to kill a thread and not be bothered with it again. There
are programs that will allow you to do that and I’ve played around with all of them. 
&lt;br /&gt;
However, none quite suited me, maybe because I don’t trust programs to delete email.
There is one that is called ThreadKiller, which did not install for me. I believe
it does the same as I’m describing here.
&lt;/p&gt;
&lt;p&gt;
I am interested in the following workflow:
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
email comes, either new threads or replies to old threads 
&lt;/li&gt;
&lt;li&gt;
I will look at the new threads and decide if I’m interested in them or not 
&lt;/li&gt;
&lt;li&gt;
Threads that I no longer want, should be moved to a folder 
&lt;/li&gt;
&lt;li&gt;
When I have time to actually read whole conversations, of the threads that remain,
I will first make sure that new replies to threads are removed 
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Basically it boils down to finding some way to easily find and delete mail that belongs
to threads I don’t want any more. Easier said than done! I ended up having to drop
to VB macros, which I really wanted to avoid. 
&lt;/p&gt;
&lt;p&gt;
Here is a description of my current setup.
&lt;/p&gt;
&lt;h5&gt;Step 1: searchfolder to manage new threads
&lt;/h5&gt;
&lt;p&gt;
Each discussion list I am on will have a searchfolder that only shows me ‘new’ mail.
You can create one by adding a search folder, and using the ‘advanced’ tab to setup
these two criteria:
&lt;/p&gt;
&lt;p&gt;
1. In Folder is (exactly) –the name of the folder that has the mail from the group
- 
&lt;br /&gt;
2. Subject doesn’t contain RE:
&lt;/p&gt;
&lt;h5&gt;Step 2: setup a delete staging folder
&lt;/h5&gt;
&lt;p&gt;
Create a folder called Delete staging. It will contain the start of threads that you
are no longer interested in. Basically I will have a macro later on, that will look
in this folder and remove all the mail that belong to the same subject.
&lt;/p&gt;
&lt;h5&gt;Step 3: easily move new threads to the delete staging folder
&lt;/h5&gt;
&lt;p&gt;
I’m a keyboard junkie, and I want to easily move emails to that folder. 
&lt;br /&gt;
I dropped into the VB Macro editor and used this code:
&lt;/p&gt;
&lt;pre class="brush: vb; ruler: true; auto-links: false;"&gt;Sub MoveToDeleteStaging()
    Dim objItem As Outlook.MailItem
    Set objItem = Application.ActiveExplorer.Selection.Item(1)
        Dim objNamespace As NameSpace
    Dim objInboxFolder As Outlook.MAPIFolder
        Set objNamespace = Application.GetNamespace(&amp;quot;MAPI&amp;quot;)
    Set objInboxFolder = objNamespace.GetDefaultFolder(olFolderInbox)
    Set deleteFolder = objInboxFolder.Folders(&amp;quot;Delete staging&amp;quot;)
    
    objItem.Move (deleteFolder)
End Sub&lt;/pre&gt;
&lt;p&gt;
Even though I despise VB, this code is quite simple indeed. You can see that I hard
coded the folder “Delete staging” in there.
&lt;/p&gt;
&lt;p&gt;
Now, customize the toolbar to add this macro there. Rename it to something like ‘&amp;amp;Delete
Thread’, using the ampersand to indicate the shortcut key.
&lt;/p&gt;
&lt;p&gt;
When you select a mail item and you execute the macro, it will move the item to the
delete staging folder.
&lt;/p&gt;
&lt;h5&gt;Step 4: scrub your folder
&lt;/h5&gt;
&lt;p&gt;
The real work is to make sure that mail you receive gets deleted. The best way might
be to create a rule to do that as the mail comes in. I don’t like that, because I
get a kick out of seeing how much mail was removed. So for now I use a manual process.
The code can be easily adjusted to run as a rule when new mail arrives.
&lt;/p&gt;
&lt;p&gt;
So, being a VB newbie, I’ve written code that is vey inefficient but luckily very
useful. The macro below will iterate through all the items in the delete staging folder
and remove any mail it finds in the folder that you are scrubbing.
&lt;/p&gt;
&lt;pre class="brush: vb; ruler: true; auto-links: false;"&gt;Sub DeleteMessagesThatAreInDeleteStagingFolder()
    Dim deleteFolder As Outlook.Folder
    Dim currentFolder As Outlook.Folder
    Dim runningItem As Outlook.MailItem
    Dim threadItems As Outlook.Items
    Dim itemToDelete As Outlook.MailItem
    Dim objNamespace As NameSpace
    Dim objInboxFolder As Outlook.MAPIFolder
    Dim Filter As String
        
    Set objNamespace = Application.GetNamespace(&amp;quot;MAPI&amp;quot;)
    Set objInboxFolder = objNamespace.GetDefaultFolder(olFolderInbox)
    Set deleteFolder = objInboxFolder.Folders(&amp;quot;Delete staging&amp;quot;)
        
    Set currentFolder = Application.ActiveExplorer.currentFolder
    
    For Each runningItem In deleteFolder.Items
        Filter = &amp;quot;@SQL=&amp;quot; &amp;amp; Chr(34) &amp;amp; _
            &amp;quot;urn:schemas:httpmail:thread-topic&amp;quot; &amp;amp; _
            Chr(34) &amp;amp; &amp;quot;= '&amp;quot; &amp;amp; Replace(runningItem.ConversationTopic, &amp;quot;'&amp;quot;, &amp;quot;''&amp;quot;) &amp;amp; &amp;quot;'&amp;quot;
        Set threadItems = currentFolder.Items.Restrict(Filter)
        For Each itemToDelete In threadItems
            itemToDelete.Delete
        Next
    Next
    
End Sub&lt;/pre&gt;
&lt;p&gt;
The code uses a filter in the dsal language (some sort of SQL wannabe language used
by Outlook) to filter the email in the folder so it can then delete it. 
&lt;/p&gt;
&lt;p&gt;
Again, I created a toolbar shortcut for it.
&lt;/p&gt;
&lt;h5&gt;Usage:
&lt;/h5&gt;
&lt;p&gt;
Just go to your search folder and quickly triage all the mail that is there by either
reading the mail or moving it to the delete staging folder. Then go to the actual
folder and scrub it using the second macro. This will remove all the threads that
you were not interested in, leaving you with threads to you do want to read!!
&lt;/p&gt;
&lt;p&gt;
I hope that is useful to someone.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=d1f58a9f-67ab-4527-a353-28d33090b74e" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,d1f58a9f-67ab-4527-a353-28d33090b74e.aspx</comments>
      <category>Personal;Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=cbe50709-e1f6-4e67-a779-ca1cf4c747c3</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,cbe50709-e1f6-4e67-a779-ca1cf4c747c3.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,cbe50709-e1f6-4e67-a779-ca1cf4c747c3.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=cbe50709-e1f6-4e67-a779-ca1cf4c747c3</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Completely unrelated to anything on this site, I wanted to talk about IE8 for a minute.
It looks like a great browser, but on my home machine, just spinning up a tab took
about 3 seconds. When I noticed that other people did not have this problem, I started
to investigate. These are the two tips that I’ve found:
</p>
        <p>
The first is by <a href="http://blogs.zdnet.com/Bott/?p=754" target="_blank">Ed Bot</a> and
basically tells you to execute ‘regsvr32 actxprxy.dll’ from an elevated command prompt.
That registers a dll that in certain configurations is not registered. It can make
a huge difference.
</p>
        <p>
The second on is the the one that saved me. I don’t know the source, but there are
several blogs telling you to look at your restricted sites (Tools/InternetOptions/Security/Restricted
Sites, press the button labeled ‘sites’ ). 
<br />
I had used spybot long ago, which had added a huge list of sites there. Apparently
this can really slow down outlook and ie! 
<br />
Remove them by resetting your settings to default (Advanced tab, button labeled ‘reset’).
</p>
        <p>
Now I have a blindingly fast internet explorer, and I must admit, I do love this browser
now. Switching back!
</p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=cbe50709-e1f6-4e67-a779-ca1cf4c747c3" />
      </body>
      <title>Speed up IE8 tips</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,cbe50709-e1f6-4e67-a779-ca1cf4c747c3.aspx</guid>
      <link>http://www.sitechno.com/Blog/SpeedUpIE8Tips.aspx</link>
      <pubDate>Sat, 28 Mar 2009 22:08:28 GMT</pubDate>
      <description>&lt;p&gt;
Completely unrelated to anything on this site, I wanted to talk about IE8 for a minute.
It looks like a great browser, but on my home machine, just spinning up a tab took
about 3 seconds. When I noticed that other people did not have this problem, I started
to investigate. These are the two tips that I’ve found:
&lt;/p&gt;
&lt;p&gt;
The first is by &lt;a href="http://blogs.zdnet.com/Bott/?p=754" target="_blank"&gt;Ed Bot&lt;/a&gt; and
basically tells you to execute ‘regsvr32 actxprxy.dll’ from an elevated command prompt.
That registers a dll that in certain configurations is not registered. It can make
a huge difference.
&lt;/p&gt;
&lt;p&gt;
The second on is the the one that saved me. I don’t know the source, but there are
several blogs telling you to look at your restricted sites (Tools/InternetOptions/Security/Restricted
Sites, press the button labeled ‘sites’ ). 
&lt;br /&gt;
I had used spybot long ago, which had added a huge list of sites there. Apparently
this can really slow down outlook and ie! 
&lt;br /&gt;
Remove them by resetting your settings to default (Advanced tab, button labeled ‘reset’).
&lt;/p&gt;
&lt;p&gt;
Now I have a blindingly fast internet explorer, and I must admit, I do love this browser
now. Switching back!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=cbe50709-e1f6-4e67-a779-ca1cf4c747c3" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,cbe50709-e1f6-4e67-a779-ca1cf4c747c3.aspx</comments>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=bc92ba62-cd46-4f3f-8604-1d5b3d871abd</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,bc92ba62-cd46-4f3f-8604-1d5b3d871abd.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,bc92ba62-cd46-4f3f-8604-1d5b3d871abd.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=bc92ba62-cd46-4f3f-8604-1d5b3d871abd</wfw:commentRss>
      <slash:comments>5</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m very excited that Silverlight 2 has been released. I’m too new to Microsoft to
claim even the slightest involvement, but it’s wonderful to see the excitement both
within Microsoft as outside. 
<br />
It will be interesting to see what will happen with the (already great) uptake of
Silverlight by the market.
</p>
        <p>
As I am spending most of my days knee-deep in Xaml nowadays, I always try to find
things that will help me be more productive. It happens quite often that I want to
select a complete xaml tag. It’s way too much effort to use the mouse to select it,
so I often use the control-m-m shortcut to collapse a tag and then select it. However,
a few days ago I took 5 minutes to automate this.
</p>
        <p>
          <a href="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/MacroforquicklyselectingacompleteXaomlta_BAA6/image_2.png">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/MacroforquicklyselectingacompleteXaomlta_BAA6/image_thumb.png" width="244" height="55" />
          </a>
        </p>
        <p>
When you put your mouse somewhere in the Grid tag, and use my macro, you end up with
this:
</p>
        <p>
          <a href="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/MacroforquicklyselectingacompleteXaomlta_BAA6/image_4.png">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/MacroforquicklyselectingacompleteXaomlta_BAA6/image_thumb_1.png" width="244" height="55" />
          </a>
        </p>
        <p>
You can even put your mouse in the endtag. I bound it to Control-Q and it has made
my life that much better!
</p>
        <p>
The macro is as simple as this: 
<br /></p>
        <pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">Sub</span> SelectXMLTagContents() </pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        DTE.ActiveDocument.Selection.StartOfLine(VsStartOfLineOptions.VsStartOfLineOptionsFirstColumn)
</pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        DTE.ExecuteCommand(<span style="color: maroon">"Edit.ToggleOutliningExpansion"</span>) </pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        DTE.ActiveDocument.Selection.StartOfLine(VsStartOfLineOptions.VsStartOfLineOptionsFirstColumn)
</pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        DTE.ActiveDocument.Selection.EndOfLine(<span style="color: maroon">True</span>) </pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">        DTE.ExecuteCommand(<span style="color: maroon">"Edit.ToggleOutliningExpansion"</span>) </pre>
          <span style="color: blue">End</span>
          <span style="color: blue">Sub</span>
        </pre>
        <p>
It collapses a tag, jumps to the first column, selects the line and then does an uncollapse. 
</p>
        <p>
For those using a tool like Karl’s ‘<a target="_blank" href="http://karlshifflett.wordpress.com/xaml-power-toys/">Xaml
Power Toys</a>’, it might also be a worthwile addition to their shortcuts.
</p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=bc92ba62-cd46-4f3f-8604-1d5b3d871abd" />
      </body>
      <title>Macro for quickly selecting a complete X(a/o)ml tag</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,bc92ba62-cd46-4f3f-8604-1d5b3d871abd.aspx</guid>
      <link>http://www.sitechno.com/Blog/MacroForQuicklySelectingACompleteXaomlTag.aspx</link>
      <pubDate>Sun, 19 Oct 2008 20:17:36 GMT</pubDate>
      <description>&lt;p&gt;
I’m very excited that Silverlight 2 has been released. I’m too new to Microsoft to
claim even the slightest involvement, but it’s wonderful to see the excitement both
within Microsoft as outside. 
&lt;br /&gt;
It will be interesting to see what will happen with the (already great) uptake of
Silverlight by the market.
&lt;/p&gt;
&lt;p&gt;
As I am spending most of my days knee-deep in Xaml nowadays, I always try to find
things that will help me be more productive. It happens quite often that I want to
select a complete xaml tag. It’s way too much effort to use the mouse to select it,
so I often use the control-m-m shortcut to collapse a tag and then select it. However,
a few days ago I took 5 minutes to automate this.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/MacroforquicklyselectingacompleteXaomlta_BAA6/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/MacroforquicklyselectingacompleteXaomlta_BAA6/image_thumb.png" width="244" height="55" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
When you put your mouse somewhere in the Grid tag, and use my macro, you end up with
this:
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/MacroforquicklyselectingacompleteXaomlta_BAA6/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/MacroforquicklyselectingacompleteXaomlta_BAA6/image_thumb_1.png" width="244" height="55" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
You can even put your mouse in the endtag. I bound it to Control-Q and it has made
my life that much better!
&lt;/p&gt;
&lt;p&gt;
The macro is as simple as this: 
&lt;br /&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: blue"&gt;Sub&lt;/span&gt; SelectXMLTagContents() &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        DTE.ActiveDocument.Selection.StartOfLine(VsStartOfLineOptions.VsStartOfLineOptionsFirstColumn)
&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        DTE.ExecuteCommand(&lt;span style="color: maroon"&gt;&amp;quot;Edit.ToggleOutliningExpansion&amp;quot;&lt;/span&gt;) &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        DTE.ActiveDocument.Selection.StartOfLine(VsStartOfLineOptions.VsStartOfLineOptionsFirstColumn)
&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        DTE.ActiveDocument.Selection.EndOfLine(&lt;span style="color: maroon"&gt;True&lt;/span&gt;) &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        DTE.ExecuteCommand(&lt;span style="color: maroon"&gt;&amp;quot;Edit.ToggleOutliningExpansion&amp;quot;&lt;/span&gt;) &lt;/pre&gt;
&lt;span style="color: blue"&gt;End&lt;/span&gt; &lt;span style="color: blue"&gt;Sub&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
It collapses a tag, jumps to the first column, selects the line and then does an uncollapse. 
&lt;/p&gt;
&lt;p&gt;
For those using a tool like Karl’s ‘&lt;a target="_blank" href="http://karlshifflett.wordpress.com/xaml-power-toys/"&gt;Xaml
Power Toys&lt;/a&gt;’, it might also be a worthwile addition to their shortcuts.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=bc92ba62-cd46-4f3f-8604-1d5b3d871abd" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,bc92ba62-cd46-4f3f-8604-1d5b3d871abd.aspx</comments>
      <category>Code;Silverlight;Tools;WF (Workflow);WPF (Avalon)</category>
    </item>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=a8ea4ab0-9f18-4b95-8bb8-0298d02679d5</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,a8ea4ab0-9f18-4b95-8bb8-0298d02679d5.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,a8ea4ab0-9f18-4b95-8bb8-0298d02679d5.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=a8ea4ab0-9f18-4b95-8bb8-0298d02679d5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m kind of a tool freak, and when mouse gestures were added in some browsers, I really
felt they added value. 
<br />
I was interested in using gestures in more applications (like Visual Studio) and found
the tool ‘<a target="_blank" href="http://www.tcbmi.com/strokeit/">StrokeIt’</a>.
It is a great tool, fast, accurate, highly configurable and when I introduce it to
team members they tend to giggle. So that’s all cool.
</p>
        <p>
However, it does not work well with UAC and X64, much to the dismay of many users
on the strokeIt forums. The tool hasn’t been updated since 2005, so that does not
bode well.
</p>
        <p>
Now I have found <a target="_blank" href="http://www.handform.net/gmote.php">gMote</a> and
it is everything I could ever ask for (well, except for a more fun name). 
<br />
It works very well and has a very nice workflow for defining gestures and assigning
tasks for it. I already setup gestures for navigating tabs, paging up and down, minimizing
windows and closing tabs/windows.
</p>
        <p>
One tip: I used to use the right mouse button to draw gestures, but that seems to
work less reliable. Instead, I now use the middle mouse button.
</p>
        <p>
Go and download <a target="_blank" href="http://www.handform.net/gmote.php">gMote</a> now!
I couldn’t be happier.
</p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=a8ea4ab0-9f18-4b95-8bb8-0298d02679d5" />
      </body>
      <title>Genius tool: gestures for everything</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,a8ea4ab0-9f18-4b95-8bb8-0298d02679d5.aspx</guid>
      <link>http://www.sitechno.com/Blog/GeniusToolGesturesForEverything.aspx</link>
      <pubDate>Sun, 31 Aug 2008 18:25:56 GMT</pubDate>
      <description>&lt;p&gt;
I’m kind of a tool freak, and when mouse gestures were added in some browsers, I really
felt they added value. 
&lt;br /&gt;
I was interested in using gestures in more applications (like Visual Studio) and found
the tool ‘&lt;a target="_blank" href="http://www.tcbmi.com/strokeit/"&gt;StrokeIt’&lt;/a&gt;.
It is a great tool, fast, accurate, highly configurable and when I introduce it to
team members they tend to giggle. So that’s all cool.
&lt;/p&gt;
&lt;p&gt;
However, it does not work well with UAC and X64, much to the dismay of many users
on the strokeIt forums. The tool hasn’t been updated since 2005, so that does not
bode well.
&lt;/p&gt;
&lt;p&gt;
Now I have found &lt;a target="_blank" href="http://www.handform.net/gmote.php"&gt;gMote&lt;/a&gt; and
it is everything I could ever ask for (well, except for a more fun name). 
&lt;br /&gt;
It works very well and has a very nice workflow for defining gestures and assigning
tasks for it. I already setup gestures for navigating tabs, paging up and down, minimizing
windows and closing tabs/windows.
&lt;/p&gt;
&lt;p&gt;
One tip: I used to use the right mouse button to draw gestures, but that seems to
work less reliable. Instead, I now use the middle mouse button.
&lt;/p&gt;
&lt;p&gt;
Go and download &lt;a target="_blank" href="http://www.handform.net/gmote.php"&gt;gMote&lt;/a&gt; now!
I couldn’t be happier.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=a8ea4ab0-9f18-4b95-8bb8-0298d02679d5" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,a8ea4ab0-9f18-4b95-8bb8-0298d02679d5.aspx</comments>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=513fc4a7-7d71-420a-be10-998113ad41ed</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,513fc4a7-7d71-420a-be10-998113ad41ed.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,513fc4a7-7d71-420a-be10-998113ad41ed.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=513fc4a7-7d71-420a-be10-998113ad41ed</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I <a target="_blank" href="http://blogs.msdn.com/ie">installed IE8 beta 2</a> yesterday
and it rocks. It is much faster than IE7, seems rock stable (fingers crossed) and
has all kind of nifty new features. It has taken away my need for Firefox at the moment.
</p>
        <p>
In FF I had a button that allowed me to subscribe to a blog in google reader and it
works in Internet explorer as well:
</p>
        <pre>javascript:<span style="color: blue">var</span>%<span style="color: maroon">20</span>b=document.body;<span style="color: blue">var</span>%<span style="color: maroon">20</span>GR________bookmarklet_domain=<span style="color: maroon">'http://www.google.com'</span>;<span style="color: blue">if</span>(b&amp;&amp;!document.xmlVersion){<span style="color: blue">void</span>(z=document.createElement(<span style="color: maroon">'script'</span>));<span style="color: blue">void</span>(z.src=<span style="color: maroon">'http://www.google.com/reader/ui/subscribe-bookmarklet.js'</span>);<span style="color: blue">void</span>(b.appendChild(z));}<span style="color: blue">else</span>{location=<span style="color: maroon">'http://www.google.com/reader/view/feed/'</span>+encodeURIComponent(location.href)}</pre>
        <p>
        </p>
        <p>
Basically, you can navigate to a page with a blog in it and just press this bookmark.
It will open up reader and it will show you the feed it finds.
</p>
        <p>
But, given those cool accelerators in IE8, I thought it would be a nice exercise to
create an accelerator that I can click when I am on a blog. 
<br />
Here it is:
</p>
        <pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;?</span>
            <span style="color: maroon">xml</span>
            <span style="color: red">version</span>="<span style="color: blue">1.0</span>" <span style="color: red">encoding</span>="<span style="color: blue">UTF-8</span>"<span style="color: blue">?&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>
            <span style="color: maroon">os:openServiceDescription</span>
          </pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: red">xmlns:os</span>="<span style="color: blue">http://www.microsoft.com/schemas/openservicedescription/1.0</span>"<span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>
            <span style="color: maroon">os:homepageUrl</span>
            <span style="color: blue">&gt;</span>http://www.google.com<span style="color: blue">&lt;</span>/<span style="color: maroon">os:homepageUrl</span><span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>
            <span style="color: maroon">os:display</span>
            <span style="color: blue">&gt;</span>
          </pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>
            <span style="color: maroon">os:name</span>
            <span style="color: blue">&gt;</span>Subscribe
to rss feed <span style="color: blue">&lt;</span>/<span style="color: maroon">os:name</span><span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>
            <span style="color: maroon">os:description</span>
            <span style="color: blue">&gt;</span>View
the feed in google reader<span style="color: blue">&lt;</span>/<span style="color: maroon">os:description</span><span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>/<span style="color: maroon">os:display</span><span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>
            <span style="color: maroon">os:activity</span>
            <span style="color: red">category</span>="<span style="color: blue">Blog</span>"<span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>
            <span style="color: maroon">os:activityAction</span>
            <span style="color: red">context</span>="<span style="color: blue">document</span>"<span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>
            <span style="color: maroon">os:execute</span>
            <span style="color: red">action</span>="<span style="color: blue">http://www.google.com/reader/view/feed/{documentUrl}</span>" <span style="color: red">method</span>="<span style="color: blue">get</span>"<span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>/<span style="color: maroon">os:execute</span><span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>/<span style="color: maroon">os:activityAction</span><span style="color: blue">&gt;</span></pre>
          <pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
            <span style="color: blue">&lt;</span>/<span style="color: maroon">os:activity</span><span style="color: blue">&gt;</span></pre>
          <span style="color: blue">&lt;</span>/<span style="color: maroon">os:openServiceDescription</span><span style="color: blue">&gt;</span></pre>
        <p>
Since the accelerator api will not recognize an url like this: <a title="http://www.sitechno.com/Blog/SyndicationService.asmx/GetRss" href="http://www.sitechno.com/Blog/SyndicationService.asmx/GetRss">http://www.sitechno.com/Blog/SyndicationService.asmx/GetRss</a> as
a ‘Link’, I had to use the document context. When you install this accelerator, you
can navigate to the actual feed and then rightclick anywhere in the page. There should
be an option to ‘subscribe to rss feed’ and hitting that will take you to google. 
</p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
These accelerators have potential: it was very simple to write this and it is well
integrated into IE. I hope they extend it so we can get accelerators to work on more
‘stuff’!
</p>
        <p>
          <a onclick="javascript:window.external.addService('content/binary/subscribeInGoogleReader.xml')">Install
googlereader subscription accelerator</a>
        </p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=513fc4a7-7d71-420a-be10-998113ad41ed" />
      </body>
      <title>IE8 Beta 2 accelerator- subscribe to blogs in google reader</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,513fc4a7-7d71-420a-be10-998113ad41ed.aspx</guid>
      <link>http://www.sitechno.com/Blog/IE8Beta2AcceleratorSubscribeToBlogsInGoogleReader.aspx</link>
      <pubDate>Thu, 28 Aug 2008 19:09:13 GMT</pubDate>
      <description>&lt;p&gt;
I &lt;a target="_blank" href="http://blogs.msdn.com/ie"&gt;installed IE8 beta 2&lt;/a&gt; yesterday
and it rocks. It is much faster than IE7, seems rock stable (fingers crossed) and
has all kind of nifty new features. It has taken away my need for Firefox at the moment.
&lt;/p&gt;
&lt;p&gt;
In FF I had a button that allowed me to subscribe to a blog in google reader and it
works in Internet explorer as well:
&lt;/p&gt;
&lt;pre&gt;javascript:&lt;span style="color: blue"&gt;var&lt;/span&gt;%&lt;span style="color: maroon"&gt;20&lt;/span&gt;b=document.body;&lt;span style="color: blue"&gt;var&lt;/span&gt;%&lt;span style="color: maroon"&gt;20&lt;/span&gt;GR________bookmarklet_domain=&lt;span style="color: maroon"&gt;'http://www.google.com'&lt;/span&gt;;&lt;span style="color: blue"&gt;if&lt;/span&gt;(b&amp;amp;&amp;amp;!document.xmlVersion){&lt;span style="color: blue"&gt;void&lt;/span&gt;(z=document.createElement(&lt;span style="color: maroon"&gt;'script'&lt;/span&gt;));&lt;span style="color: blue"&gt;void&lt;/span&gt;(z.src=&lt;span style="color: maroon"&gt;'http://www.google.com/reader/ui/subscribe-bookmarklet.js'&lt;/span&gt;);&lt;span style="color: blue"&gt;void&lt;/span&gt;(b.appendChild(z));}&lt;span style="color: blue"&gt;else&lt;/span&gt;{location=&lt;span style="color: maroon"&gt;'http://www.google.com/reader/view/feed/'&lt;/span&gt;+encodeURIComponent(location.href)}&lt;/pre&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Basically, you can navigate to a page with a blog in it and just press this bookmark.
It will open up reader and it will show you the feed it finds.
&lt;/p&gt;
&lt;p&gt;
But, given those cool accelerators in IE8, I thought it would be a nice exercise to
create an accelerator that I can click when I am on a blog. 
&lt;br /&gt;
Here it is:
&lt;/p&gt;
&lt;pre&gt;&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: maroon"&gt;xml&lt;/span&gt; &lt;span style="color: red"&gt;version&lt;/span&gt;=&amp;quot;&lt;span style="color: blue"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;encoding&lt;/span&gt;=&amp;quot;&lt;span style="color: blue"&gt;UTF-8&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;?&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;os:openServiceDescription&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: red"&gt;xmlns:os&lt;/span&gt;=&amp;quot;&lt;span style="color: blue"&gt;http://www.microsoft.com/schemas/openservicedescription/1.0&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;os:homepageUrl&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;http://www.google.com&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;os:homepageUrl&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;os:display&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;os:name&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;Subscribe
to rss feed &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;os:name&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;os:description&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;View
the feed in google reader&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;os:description&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;os:display&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;os:activity&lt;/span&gt; &lt;span style="color: red"&gt;category&lt;/span&gt;=&amp;quot;&lt;span style="color: blue"&gt;Blog&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;os:activityAction&lt;/span&gt; &lt;span style="color: red"&gt;context&lt;/span&gt;=&amp;quot;&lt;span style="color: blue"&gt;document&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: maroon"&gt;os:execute&lt;/span&gt; &lt;span style="color: red"&gt;action&lt;/span&gt;=&amp;quot;&lt;span style="color: blue"&gt;http://www.google.com/reader/view/feed/{documentUrl}&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;method&lt;/span&gt;=&amp;quot;&lt;span style="color: blue"&gt;get&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;            &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;os:execute&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;        &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;os:activityAction&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;os:activity&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;/&lt;span style="color: maroon"&gt;os:openServiceDescription&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;p&gt;
Since the accelerator api will not recognize an url like this: &lt;a title="http://www.sitechno.com/Blog/SyndicationService.asmx/GetRss" href="http://www.sitechno.com/Blog/SyndicationService.asmx/GetRss"&gt;http://www.sitechno.com/Blog/SyndicationService.asmx/GetRss&lt;/a&gt; as
a ‘Link’, I had to use the document context. When you install this accelerator, you
can navigate to the actual feed and then rightclick anywhere in the page. There should
be an option to ‘subscribe to rss feed’ and hitting that will take you to google. 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
These accelerators have potential: it was very simple to write this and it is well
integrated into IE. I hope they extend it so we can get accelerators to work on more
‘stuff’!
&lt;/p&gt;
&lt;p&gt;
&lt;a onclick="javascript:window.external.addService(&amp;#39;content/binary/subscribeInGoogleReader.xml&amp;#39;)"&gt;Install
googlereader subscription accelerator&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=513fc4a7-7d71-420a-be10-998113ad41ed" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,513fc4a7-7d71-420a-be10-998113ad41ed.aspx</comments>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=72192eb8-054e-4362-a046-31655e7d0885</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,72192eb8-054e-4362-a046-31655e7d0885.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,72192eb8-054e-4362-a046-31655e7d0885.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=72192eb8-054e-4362-a046-31655e7d0885</wfw:commentRss>
      <slash:comments>7</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm working on a sweet project at the moment using both WPF and WF. One of my custom
activities has a property of type Type, where it would be cool for the user of the
activity to be able to use the designer to select a type, just like what happens in
the WF designer when I choose a type. However, no type picker popped up. 
</p>
        <p>
So I went googling and found that <a href="http://www.clariusconsulting.net/blogs/kzu/" target="_blank">Daniel
Cazzulino</a> also ran into this problem and created a fantastic little project to
harness the power of the real WF typebrowser. He writes about it on this <a href="http://www.clariusconsulting.net/blogs/kzu/archive/2006/01/07/WFTypeBrowser.aspx" target="_blank">blogpost</a> and
later moves the project to code project. You can find the article and his download
code <a href="http://www.codeproject.com/KB/cs/WFTypeBrowser.aspx" target="_blank">here</a>. 
</p>
        <p>
However, as you can read in the comments, something was broken. Looking through the
code, although small, made me not want to waste time on understanding the System.ComponentModel
namespace in that much detail at this point ;-) (although, when working with WF, you
will soon need to customize property pickers, so I will have to look into it someday
soon). 
<br />
Daniel himself points to the <a href="http://www.codeplex.com/entlib" target="_blank">Patterns
and Practises entlib</a> library: they offer the same functionality. I downloaded
their sourcecode, and I'm quite sure they just used Daniels code and improved upon
it a bit. However, with all the Entlib references, the project felt a bit heavy.
</p>
        <p>
What I have done is rip out all the references to entlib that I do not care about,
used a few files from Daniels original solution and worked around a few shortcomings.
Nothing fancy, I just hacked at it until it worked. 
</p>
        <p>
          <a href="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/ReusingtheWFTypeBrowserinyourapplication_B003/image_2.png">
            <img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="image" src="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/ReusingtheWFTypeBrowserinyourapplication_B003/image_thumb.png" width="638" border="0" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Now, since I have used some code (without license) by Daniel and code by the Entlib
group, I'm not sure if I can publish a derivative without getting into problems. However,
I've read their <a href="http://www.codeplex.com/entlib/license" target="_blank">license</a>,
and I think it's okay.
</p>
        <p>
You can <a href="http://www.sitechno.com/blog/content/binary/TypeBrowserPatternsPractices.zip" target="_blank">download
the project here</a>, don't ask for changes because I'm not interested in spending
more time on it. All credits go to Daniel.
</p>
        <p>
(Also, find out how to create your own typefilters in his post).
</p>
        <p>
Have fun with it. Leave a comment if you find it useful.
</p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=72192eb8-054e-4362-a046-31655e7d0885" />
      </body>
      <title>Reusing the WF TypeBrowser in your applications</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,72192eb8-054e-4362-a046-31655e7d0885.aspx</guid>
      <link>http://www.sitechno.com/Blog/ReusingTheWFTypeBrowserInYourApplications.aspx</link>
      <pubDate>Wed, 13 Feb 2008 12:30:24 GMT</pubDate>
      <description>&lt;p&gt;
I'm working on a sweet project at the moment using both WPF and WF. One of my custom
activities has a property of type Type, where it would be cool for the user of the
activity to be able to use the designer to select a type, just like what happens in
the WF designer when I choose a type. However, no type picker popped up. 
&lt;/p&gt;
&lt;p&gt;
So I went googling and found that &lt;a href="http://www.clariusconsulting.net/blogs/kzu/" target="_blank"&gt;Daniel
Cazzulino&lt;/a&gt; also ran into this problem and created a fantastic little project to
harness the power of the real WF typebrowser. He writes about it on this &lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2006/01/07/WFTypeBrowser.aspx" target="_blank"&gt;blogpost&lt;/a&gt; and
later moves the project to code project. You can find the article and his download
code &lt;a href="http://www.codeproject.com/KB/cs/WFTypeBrowser.aspx" target="_blank"&gt;here&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
However, as you can read in the comments, something was broken. Looking through the
code, although small, made me not want to waste time on understanding the System.ComponentModel
namespace in that much detail at this point ;-) (although, when working with WF, you
will soon need to customize property pickers, so I will have to look into it someday
soon). 
&lt;br /&gt;
Daniel himself points to the &lt;a href="http://www.codeplex.com/entlib" target="_blank"&gt;Patterns
and Practises entlib&lt;/a&gt; library: they offer the same functionality. I downloaded
their sourcecode, and I'm quite sure they just used Daniels code and improved upon
it a bit. However, with all the Entlib references, the project felt a bit heavy.
&lt;/p&gt;
&lt;p&gt;
What I have done is rip out all the references to entlib that I do not care about,
used a few files from Daniels original solution and worked around a few shortcomings.
Nothing fancy, I just hacked at it until it worked. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/ReusingtheWFTypeBrowserinyourapplication_B003/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="image" src="http://www.sitechno.com/Blog/content/binary/WindowsLiveWriter/ReusingtheWFTypeBrowserinyourapplication_B003/image_thumb.png" width="638" border="0" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Now, since I have used some code (without license) by Daniel and code by the Entlib
group, I'm not sure if I can publish a derivative without getting into problems. However,
I've read their &lt;a href="http://www.codeplex.com/entlib/license" target="_blank"&gt;license&lt;/a&gt;,
and I think it's okay.
&lt;/p&gt;
&lt;p&gt;
You can &lt;a href="http://www.sitechno.com/blog/content/binary/TypeBrowserPatternsPractices.zip" target="_blank"&gt;download
the project here&lt;/a&gt;, don't ask for changes because I'm not interested in spending
more time on it. All credits go to Daniel.
&lt;/p&gt;
&lt;p&gt;
(Also, find out how to create your own typefilters in his post).
&lt;/p&gt;
&lt;p&gt;
Have fun with it. Leave a comment if you find it useful.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=72192eb8-054e-4362-a046-31655e7d0885" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,72192eb8-054e-4362-a046-31655e7d0885.aspx</comments>
      <category>Tools;WF (Workflow);WPF (Avalon)</category>
    </item>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=cffa53d8-24f9-40bd-8667-09471ade07a3</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,cffa53d8-24f9-40bd-8667-09471ade07a3.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,cffa53d8-24f9-40bd-8667-09471ade07a3.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=cffa53d8-24f9-40bd-8667-09471ade07a3</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
I've completely rewritten the RssBandit to Grazr converter, so that alphabetic order
is used. That looks way nicer, doesn't it?
</p>
        <p>
          <a href="http://www.sitechno.com/blog/content/binary/Program.cs.txt">Program.cs (4.49
KB)</a>
        </p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=cffa53d8-24f9-40bd-8667-09471ade07a3" />
      </body>
      <title>RssBandit to Grazr updated</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,cffa53d8-24f9-40bd-8667-09471ade07a3.aspx</guid>
      <link>http://www.sitechno.com/Blog/RssBanditToGrazrUpdated.aspx</link>
      <pubDate>Wed, 07 Jun 2006 12:54:35 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
I've completely rewritten the RssBandit to Grazr converter, so that alphabetic order
is used. That looks way nicer, doesn't it?
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.sitechno.com/blog/content/binary/Program.cs.txt"&gt;Program.cs (4.49
KB)&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=cffa53d8-24f9-40bd-8667-09471ade07a3" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,cffa53d8-24f9-40bd-8667-09471ade07a3.aspx</comments>
      <category>Tools</category>
    </item>
    <item>
      <trackback:ping>http://www.sitechno.com/Blog/Trackback.aspx?guid=0c71f5c8-8caf-47af-8364-13c9381a2142</trackback:ping>
      <pingback:server>http://www.sitechno.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.sitechno.com/Blog/PermaLink,guid,0c71f5c8-8caf-47af-8364-13c9381a2142.aspx</pingback:target>
      <dc:creator>Ruurd Boeke</dc:creator>
      <wfw:comment>http://www.sitechno.com/Blog/CommentView,guid,0c71f5c8-8caf-47af-8364-13c9381a2142.aspx</wfw:comment>
      <wfw:commentRss>http://www.sitechno.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0c71f5c8-8caf-47af-8364-13c9381a2142</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
People that know me, know that I love <a href="http://www.jetbrains.com/resharper/index.html">Resharper</a>.
They now have a 2.0 version for Visual Studio 2005 and my bet is that I will love
it as soon as I try it. But there was always one thing that I disliked about Resharper:
the caching of the solution took ages on big projects.
</p>
        <p>
          <img title="Filebrowser" height="1" hspace="10" src="http://www.sitechno.com/blog/ftb/Utility/spacer.gif" width="1" align="right" vspace="10" />Visual
Studio 2005 gives us some refactoring tools and code snippets. Although they lack
the power of Resharper, they will do for me. But what I can not live without is the
fast code navigation that Resharper brought us. Their type navigator works instantly
and that feels so incredibly smooth and silky, I just can't do without.<br />
The last couple of months, I have used a new free tool that brings the instant navigation
power without the caching costs. <a href="http://www.usysware.com/dpack/">DPack </a>has
been pushed to the limits and performed incredibly. 
</p>
        <p>
Of course, I still miss a few Resharper features, such as 'find all references', which
is light years ahead of the Visual Studio offering. But the speed of which my solutions
now open does seem to make it up.
</p>
        <p>
Try it, you might like it.
</p>
        <img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=0c71f5c8-8caf-47af-8364-13c9381a2142" />
      </body>
      <title>Must have tool: DPack (replaces Resharper)</title>
      <guid isPermaLink="false">http://www.sitechno.com/Blog/PermaLink,guid,0c71f5c8-8caf-47af-8364-13c9381a2142.aspx</guid>
      <link>http://www.sitechno.com/Blog/MustHaveToolDPackReplacesResharper.aspx</link>
      <pubDate>Wed, 07 Jun 2006 11:50:45 GMT</pubDate>
      <description>&lt;p&gt;
People that know me, know that I love &lt;a href="http://www.jetbrains.com/resharper/index.html"&gt;Resharper&lt;/a&gt;.
They now have a 2.0 version for Visual Studio 2005 and my bet is that I will love
it as soon as I try it. But there was always one thing that I disliked about Resharper:
the caching of the solution took ages on big projects.
&lt;/p&gt;
&lt;p&gt;
&lt;img title=Filebrowser height=1 hspace=10 src="http://www.sitechno.com/blog/ftb/Utility/spacer.gif" width=1 align=right vspace=10&gt;Visual
Studio 2005 gives us some refactoring tools and code snippets. Although they lack
the power of Resharper, they will do for me. But what I can not live without is the
fast code navigation that Resharper brought us. Their type navigator works instantly
and that feels so incredibly smooth and silky, I just can't do without.&lt;br&gt;
The last couple of months, I have used a new free tool that brings the instant navigation
power without the caching costs. &lt;a href="http://www.usysware.com/dpack/"&gt;DPack &lt;/a&gt;has
been pushed to the limits and performed incredibly. 
&lt;/p&gt;
&lt;p&gt;
Of course, I still miss a few Resharper features, such as 'find all references', which
is light years ahead of the Visual Studio offering. But the speed of which my solutions
now open does seem to make it up.
&lt;/p&gt;
&lt;p&gt;
Try it, you might like it.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.sitechno.com/Blog/aggbug.ashx?id=0c71f5c8-8caf-47af-8364-13c9381a2142" /&gt;</description>
      <comments>http://www.sitechno.com/Blog/CommentView,guid,0c71f5c8-8caf-47af-8364-13c9381a2142.aspx</comments>
      <category>Tools</category>
    </item>
  </channel>
</rss>