coComment Logo for my blog

coComment Comments

Jayson Knight requested a logo for coComment to put on his blog. Though I think he refered to the comment form, I created two different "blog buttons" (or how these 80x15 images are called). Here they are:

  • is shown on every page and indicates that my blog supports coComment. It links to my coComment conversations.
  • is used in the comment form to inform the user that she can use coComment with my blog.

Update: I added a small explanation to define the scope of each of the images.

More coComment

coComment Comments

Dave Burke entered the coComment zone and said:

The thing is, there's no way to know if a blog (particularly a CS blog) supports CoComment. We CS guys may want to add a "CoComment Enabled" message or something to our blog comment form until the CoComment capture process is finalized.

Well, apparently they are working on it:

For advanced bloggers who would like to more fully integrate coComment features in their own blog, coComment will offer:

  • The ability to add elements of the coComment service to blogs based on non-standard blogging platforms in order to ease the usage of coComment for commenters (automated capture).

and just a couple of minutes ago Jayson Knight confirmed it in a comment to Dave's post:

Wahoo! Dual shoutouts...thanks! I've actually been in pretty close communication (both on and offline) with the CoComment devs about this service, namely this thread: http://www.cocomment.com/teamblog/?p=27#comments and this one: http://www.cocomment.com/teamblog/?p=21#comments. Merlin (the guy who seems to be in charge) has stated that he has his designers working on a solution where coco enabled blogs will display some sort of icon in the comment form box to let folks know it accepts coComments. I then asked "hey, why not ditch the bookmarklet all together and automate it"...they're one step ahead of me and said they'd have some new code for us early this week (their blog is already automated; if you have a coco account and leave a comment it's automatically tracked...look ma, no bookmarklet!). I highly recommend keeping up w/ their blog, so far they've been extremely receptive to ideas concerning coco. These guys are gonna be rock stars!

BTW, when I hear the term coComment, somehow I must think of coconut. This leads me to a better name for their service: coCoNet.

Revised coComment support

Yesterday Jayson Knight described how to add coComment support to CommunityServer. I'm a user of coComment too, therefore I added Jayson's hack to my blog.

However, I don't like how the URL to the blog post is rendered (it's the rewritten URL, not the friendly one), so I decided to fix that. Furthermore, his solution does not work if you're logged in in CommunityServer, because in this case there's no field for the comment author's name. No offense, Jayson, since you admitting that your implemention is only a quick hack ūüėČ

Anyway, here's what I came up with:

<%@ Import Namespace="CommunityServer.Components" %>
<%@ Import Namespace="CommunityServer.Blogs.Components" %>
<% WeblogPost currentPost = WeblogPosts.GetWeblogEntry(CSContext.Current.BlogGroupID, CSContext.Current.PostID); %>
<% bool isAuthor = CSContext.Current.IsAuthenticated && CSContext.Current.User.UserID == currentPost.AuthorID; %>
<script type="text/javascript">
    var blogTool                = "<%=SiteStatistics.CommunityServerVersionVersionInfo %>";
    var blogURL                 = "<%=Globals.FullPath(currentPost.Weblog.HomePage) %>";
    var blogTitle               = "<%=currentPost.Weblog.Name %>";
    var postURL                 = "<%=Globals.FullPath(BlogUrls.Instance().Post(currentPost)) %>";
    var postTitle               = "<%=currentPost.Subject %>";
    var commentAuthorLoggedIn   = <%=Convert.ToString(isAuthor).ToLower() %>;
<% if (isAuthor) { %>
    var commentAuthor           = "<%=CSContext.Current.User.DisplayName %>";
<% } else{ %>
    var commentAuthorFieldName  = "<%=tbName.UniqueID %>";
<% } %>
    var commentFormName         = "__aspnetForm";
    var commentTextFieldName    = "<%=tbComment.UniqueID %>";
    var commentButtonName       = "<%=btnSubmit.UniqueID %>";
</script>

Update: There were two bugs: the value for commentAuthorLoggedIn was quoted and must be lower cased, and commentButtonID must be commentButtonName. I updated the script above.

My Tool List

Software, Tools Comments

At the last meeting of our UserGroup I've presented a list of tools I'm using frequently. Because of strong demand I promised to publish it here on my blog:

General Tools and System Tweaking

TweakUI
This PowerToy gives you access to system settings that are not exposed in the Windows XP default user interface, including mouse settings, Explorer settings, taskbar settings, and more.

ClearType Tuner PowerToy
This PowerToy lets you use ClearType technology to make it easier to read text on your screen, and installs in the Control Panel for easy access.

TaskSwitchXP
is a replacement for the standard Windows Alt-Tab switcher, which adds visual styles to the dialog and offers a thumbnail preview. It can also minimize applications to the taskbar notification area by right-clicking their minimize button.

LClock
An enhanced clock for the taskbar notification area.

MSN Toolbar Suite
No need to describe this, right?

NotePad2
A nifty lightweight notepad replacement.

4NT
A powerful command line processor.

Synergy
Allows you to share a single mouse and keyboard between multiple computers. I use to control both my desktop and my laptop with the devices attached to the desktop. It even synchronizes the clipboard.

SpamBayes
An anti-spam Outlook add-in using a Bayesian filter.

Plaxo
Synchronizes my contacts and appointments between my work and my home machines.

ClipPath
A little shell extension which copies the selected files path to the clipboard. One of those little tools which value you don't appreciate until you need it.

FolderShare
Synchronizes files between multiple computers. Bought by Microsoft last year

Developer's Friends

SysInternals' Tools
DebugView, Process Explorer, PsTools,FileMon, and RegMon.

Dependancy Walker
Scans any Win32 module and builds a hierarchical tree diagram of all dependent modules.

psubst
Similar to subst, but persistent, i.e. the substitutions are kept after reboots.

WinCvs and TortoiseCVS
The former is a stand-alone GUI client for CVS, while the latter is a shell extension.

BeyondCompare
A powerful file and folder comparison utility.

ReSharper
A refactoring add-in for Visual Studio, which also supports enhanced highlighting (including errors and warnings), intellisense, and much more.

TestDriven.NET
An unit testing add-in for Visual Studio.

Reflector
A .NET class browser.

GhostDoc
An add-in for Visual Studio automating the creation of XML documentation comments.

That's it for today. I bet the real list of tools on my machine is more than two times as long as the list above, so perhaps I'll update this post later... at least I've planned so.