<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/" version="2.0">
    <channel>
        <title>Gavin Joyce's Blog</title>
        <link>http://blog.incremental.ie/Default.aspx</link>
        <description>DotNetKicks, Ruby on Rails, .NET &amp; Open Source </description>
        <language>en-GB</language>
        <copyright>Gavin Joyce</copyright>
        <managingEditor>gavin@incremental.ie</managingEditor>
        <generator>Subtext Version 1.9.5.176</generator>
        <image>
            <title>Gavin Joyce's Blog</title>
            <url>http://blog.incremental.ie/images/RSS2Image.gif</url>
            <link>http://blog.incremental.ie/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/gavinjoyce" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="gavinjoyce" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
            <title>CarList.ie Presentation - Dublin 8th April</title>
            <category>Open Source</category>
            <link>http://blog.incremental.ie/archive/2008/04/07/carlist.ie-presentation---dublin-8th-april.aspx</link>
            <description>&lt;p&gt;I'll be presenting the my first rails application, &lt;a href="http://www.carlist.ie"&gt;www.carlist.ie&lt;/a&gt; to the &lt;a href="http://groups.google.com/group/ruby_ireland"&gt;Ruby Ireland group&lt;/a&gt; tomorrow night in the Morrison hotel Dublin at 7pm.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.carlist.ie/"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="159" alt="carlist.ie" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/CarList.iePresentationDublin8thApril_D6BB/carlist.ie_3.png" width="386" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Please &lt;a href="http://groups.google.com/group/ruby_ireland/browse_thread/thread/d939d9853f65bab0"&gt;let us know&lt;/a&gt; if you plan on attending. As usual, there will be drinks and chats after the presentation. &lt;/p&gt;&lt;img src="http://blog.incremental.ie/aggbug/37.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2008/04/07/carlist.ie-presentation---dublin-8th-april.aspx</guid>
            <pubDate>Mon, 07 Apr 2008 14:16:12 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/37.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2008/04/07/carlist.ie-presentation---dublin-8th-april.aspx#feedback</comments>
            <slash:comments>224</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/37.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DotNetKicks: Search and a new build server</title>
            <category>.NET</category>
            <category>DotNetKicks</category>
            <category>Open Source</category>
            <link>http://blog.incremental.ie/archive/2007/10/19/dotnetkicks-search-and-build-server.aspx</link>
            <description>&lt;h2&gt;Search DotNetKicks with Lucene.NET &lt;/h2&gt; &lt;p&gt;One of the features most requested on the &lt;a href="http://code.google.com/p/dotnetkicks/issues/list"&gt;DNK issue tracker&lt;/a&gt; over the past number of weeks was search. &lt;a href="http://www.bitethebullet.co.uk/"&gt;Mark McAvoy&lt;/a&gt; recently joined the DNK project team (welcome Mark!) and took on search as his &lt;a href="http://code.google.com/p/dotnetkicks/issues/detail?id=22"&gt;first task&lt;/a&gt;. Utilising the open source &lt;a href="http://incubator.apache.org/lucene.net/"&gt;Lucene.NET&lt;/a&gt; search engine, you can free text search DNK stories using a number of query operators.&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksSearchandbuildserver_991E/design-pattern-search_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="190" alt="design-pattern-search" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksSearchandbuildserver_991E/design-pattern-search_thumb.png" width="294" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Here are some example queries:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.dotnetkicks.com/search?q=DotNetKicks+JSON&amp;amp;user=False&amp;amp;page=1"&gt;DotNetKicks JSON&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dotnetkicks.com/search?q=DotNetKicks+OR+JSON&amp;amp;user=False&amp;amp;page=1"&gt;DotNetKicks OR JSON&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dotnetkicks.com/search?q=title%3a%22scott*%22&amp;amp;user=False&amp;amp;page=1"&gt;title:"scott*"&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dotnetkicks.com/search?q=description%3a%22design+pattern%22&amp;amp;user=False&amp;amp;page=1"&gt;description:"design pattern"&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;If you are a member of DNK you can also restrict the search to stories which you have kicked.&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksSearchandbuildserver_991E/design-pattern-search_2.png"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;DotNetKicks CruiseControl.NET Build Server&lt;/h2&gt; &lt;p&gt;Another recent development is the addition of a build server on &lt;a href="http://build.dotnetkicks.com/"&gt;http://build.dotnetkicks.com/&lt;/a&gt;. Thanks to &lt;a href="http://dotnetslackers.com/community/blogs/simoneb/"&gt;Simone&lt;/a&gt; for setting this up. We will soon integrate our unit tests and other reports into the build output.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://build.dotnetkicks.com/"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="232" alt="cc" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksSearchandbuildserver_991E/cc_3.png" width="651" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8c41a0b5-0ad4-4db0-9594-1bbce1ba99b6" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;DotNetKicks Tags: &lt;a href="http://www.dotnetkicks.com/tags/DotNetKicks" rel="tag"&gt;DotNetKicks&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/OpenSource" rel="tag"&gt;OpenSource&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/Lucene.NET" rel="tag"&gt;Lucene.NET&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/CruiseControl.NET" rel="tag"&gt;CruiseControl.NET&lt;/a&gt;&lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.incremental.ie%2farchive%2f2007%2f10%2f19%2fdotnetkicks-search-and-build-server.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.incremental.ie%2farchive%2f2007%2f10%2f19%2fdotnetkicks-search-and-build-server.aspx&amp;amp;fgcolor=6699CC&amp;amp;bgcolor=000000" border="0" /&gt;&lt;/a&gt;&lt;img src="http://blog.incremental.ie/aggbug/32.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/10/19/dotnetkicks-search-and-build-server.aspx</guid>
            <pubDate>Fri, 19 Oct 2007 09:53:33 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/32.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/10/19/dotnetkicks-search-and-build-server.aspx#feedback</comments>
            <slash:comments>193</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/32.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DotNetKicks - Now Serving SVN Revision 501</title>
            <category>DotNetKicks</category>
            <category>Open Source</category>
            <link>http://blog.incremental.ie/archive/2007/10/03/dotnetkicks---now-serving-svn-revision-501.aspx</link>
            <description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNowServingSVNRevision501_A67B/commits_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="198" alt="commits" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNowServingSVNRevision501_A67B/commits_thumb_1.png" width="365" align="right" border="0" /&gt;&lt;/a&gt; The DotNetKicks open source project is blistering ahead, there have been 336 commits in the last month taking us up to revision 501. Thanks to everyone who has contributed to the project so far. Our main contributors the past few weeks were &lt;a href="http://jamesewelch.wordpress.com/"&gt;James Welsch&lt;/a&gt;, &lt;a href="http://dotnetslackers.com/community/blogs/simoneb/"&gt;Simone Busoli&lt;/a&gt;, &lt;a href="http://scribesonic.com/Blog/"&gt;Kevin Fricovsky&lt;/a&gt; and &lt;a href="http://www.raboof.com/"&gt;Atif Aziz&lt;/a&gt;.&lt;/p&gt; &lt;h2&gt; &lt;/h2&gt; &lt;h2&gt;JSON Services and DNK Widgets&lt;/h2&gt; &lt;p&gt;We have launched an initial set of &lt;a href="http://www.dotnetkicks.com/services/json/jsonservices.ashx"&gt;DotNetKicks JSON Services&lt;/a&gt;, these will be expanded upon in the near future. We currently support the following anonymous operations:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;font face="Courier" size="1"&gt;getFrontPageStories()&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getFrontPageStoriesPaged(pageNumber, pageSize)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getPopularStories()&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getPopularStoriesPaged(pageNumber, pageSize)&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNowServingSVNRevision501_A67B/my-recent-kicks_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="236" alt="my-recent-kicks" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNowServingSVNRevision501_A67B/my-recent-kicks_thumb.png" width="226" align="right" border="0" /&gt;&lt;/a&gt;&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getPopularStoriesPagedFromTimePeriod(pageNumber, pageSize, timePeriod) &lt;/font&gt; &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getTaggedStories(tag)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getTaggedStoriesPaged(tag, pageNumber, pageSize)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUpcomingPageStories()&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUpcomingPageStoriesPaged(pageNumber, pageSize)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUpcomingStories()&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUpcomingStoriesPaged(pageNumber, pageSize)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUpcomingStoriesPagedFromTimePeriod(pageNumber, pageSize, timePeriod)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUserFriendsKickedStories(username)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUserFriendsKickedStoriesPaged(username, pageNumber, pageSize)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUserFriendsSubmittedStories(username)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUserFriendsSubmittedStoriesPaged(username, pageNumber, pageSize)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUserKickedStories(username)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUserKickedStoriesPaged(username, pageNumber, pageSize)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUserSubmittedStories(username)&lt;/font&gt;  &lt;/li&gt;&lt;li&gt;&lt;font face="Courier" size="1"&gt;getUserSubmittedStoriesPaged(username, pageNumber, pageSize)&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Kevin created a &lt;a href="http://scribesonic.com/Blog/Archive/2007/09/27/My-DotNetKicks-Widget---Version-1.aspx"&gt;screencast&lt;/a&gt; demonstrating how to create a 'my recent kicks' widget using jQuery and the DNK JSON services. Atif created a &lt;a href="http://widgets.dotnetkicks.com/"&gt;live display widget&lt;/a&gt; using jQuery which show the live DNK front page, popular and upcoming stories on one page. Let me know if you have seen any other uses of the JSON api.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;DNK Zeitgeist&lt;/h2&gt; &lt;p&gt;James has continued his great work on the new &lt;a href="http://www.dotnetkicks.com/zeitgeist"&gt;DotNetKicks Zeitgeist&lt;/a&gt;. Looking at the &lt;a href="http://www.dotnetkicks.com/zeitgeist/2007/9"&gt;Zeitgeist for September&lt;/a&gt;, we can see that there were:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;496 stories submitted  &lt;/li&gt;&lt;li&gt;172 stories published  &lt;/li&gt;&lt;li&gt;4733 Kicks  &lt;/li&gt;&lt;li&gt;349 Comments&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;This feature will become a first class citizen in the UI when we redesign the UI.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;DNK Growth&lt;/h2&gt; &lt;p&gt;&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNowServingSVNRevision501_A67B/growth_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="144" alt="growth" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNowServingSVNRevision501_A67B/growth_thumb.png" width="260" align="right" border="0" /&gt;&lt;/a&gt; September broke all the previous records - it was by far our most active month on the site (&lt;a href="http://groups.google.com/group/dotnetkicks-stats-monthly/browse_thread/thread/c545dd12fdbe2b0a"&gt;pdf&lt;/a&gt;). In an effort to be as transparent as possible, we are now publishing the Google Analytics statistics for the site on two Google groups:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://groups.google.com/group/dotnetkicks-stats-daily"&gt;DotNetKicks Daily Statistics&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://groups.google.com/group/dotnetkicks-stats-monthly"&gt;DotNetKicks Monthly Statistics&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Please join either group if you would like to receive these stats by email. It is also a good time to let you friends and colleagues know about DNK and its &lt;a href="http://feeds.feedburner.com/dotnetkicks"&gt;fantastic .NET news feed&lt;/a&gt;.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;&lt;/h2&gt; &lt;h2&gt;Custom Kick It buttons&lt;/h2&gt; &lt;p&gt;&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNowServingSVNRevision501_A67B/custom-kickit_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="120" alt="custom-kickit" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNowServingSVNRevision501_A67B/custom-kickit_thumb.png" width="220" align="right" border="0" /&gt;&lt;/a&gt; Simone recently added another nice new feature which allows you to customise the 'kick it' buttons. You'll see the new options after submitting a story. It will soon be easy to create these kick it buttons from any story page.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;Facebook Group&lt;/h2&gt; &lt;p&gt;James also created a DotNetKicks facebook group which already has 9 members. Search for 'DotNetKicks' on facebook if you would like to join.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h2&gt;Seen in the wild&lt;/h2&gt; &lt;p&gt;I have come across two website using the open source DotNetKicks code base so far:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a title="http://activekix.com/" href="http://activekix.com/"&gt;http://activekix.com/&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a title="http://realestatekicks.com/" href="http://realestatekicks.com/"&gt;http://realestatekicks.com/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Anyone seen any others?&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:425a4852-544e-412d-9afe-7aa51b81e1ed" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;DotNetKicks Tags: &lt;a href="http://www.dotnetkicks.com/tags/DotNetKicks" rel="tag"&gt;DotNetKicks&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/OpenSource" rel="tag"&gt;OpenSource&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/Zeitgeist" rel="tag"&gt;Zeitgeist&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/JSON" rel="tag"&gt;JSON&lt;/a&gt;&lt;/div&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;  &lt;/p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blog.incremental.ie/archive/2007/10/03/dotnetkicks---now-serving-svn-revision-501.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blog.incremental.ie/archive/2007/10/03/dotnetkicks---now-serving-svn-revision-501.aspx&amp;amp;bgcolor=3333FF" border="0" /&gt;&lt;/a&gt;&lt;img src="http://blog.incremental.ie/aggbug/31.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/10/03/dotnetkicks---now-serving-svn-revision-501.aspx</guid>
            <pubDate>Wed, 03 Oct 2007 10:50:30 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/31.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/10/03/dotnetkicks---now-serving-svn-revision-501.aspx#feedback</comments>
            <slash:comments>600</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/31.aspx</wfw:commentRss>
        </item>
        <item>
            <title>New DNK Features: Kick Spy &amp;amp; Shoutbox</title>
            <category>.NET</category>
            <category>DotNetKicks</category>
            <category>Open Source</category>
            <link>http://blog.incremental.ie/archive/2007/09/17/new-dnk-features-kick-spy-amp-shoutbox.aspx</link>
            <description>&lt;p&gt;This week there have been over &lt;a href="http://groups.google.com/group/dotnetkicks-commits" target="_blank"&gt;100 commits&lt;/a&gt; to the DotNetKicks open source trunk. Some fantastic new features are now available on &lt;a href="http://www.dotnetkicks.com/" target="_blank"&gt;DotNetKicks.com&lt;/a&gt; and many others are in progress.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/whoisonline"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="241" alt="kickspy" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/NewDNKFeaturesKickSpyShoutbox_B669/kickspy_3.png" width="367" align="right" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;h3&gt;Kick Spy&lt;/h3&gt; &lt;p&gt;The &lt;a href="http://www.dotnetkicks.com/whoisonline" target="_blank"&gt;Spy&lt;/a&gt; displays each action a user takes on the site including submitting stories, kicking, tagging, commenting and shouting. &lt;/p&gt; &lt;p&gt;This is a work-in-progress and will soon become a self updating filterable control using &lt;a href="http://www.ajaxpro.info/" target="_blank"&gt;Ajax.NET professional&lt;/a&gt; and &lt;a href="http://jquery.com/" target="_blank"&gt;jQuery&lt;/a&gt;. There are plans to extend Kick Spy to user profiles and stories too.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://www.dotnetkicks.com/whoisonline" target="_blank"&gt;View it in action here &amp;gt;&amp;gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;If you would like to shape how this feature end up, please let us know your thoughts : &lt;a title="issue 86 on google code" href="http://code.google.com/p/dotnetkicks/issues/detail?id=86" target="_blank"&gt;issue 86&lt;/a&gt; on Google Code&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3&gt;Shoutbox&lt;/h3&gt; &lt;p&gt;The Shoutbox allows users to have little conversations in various places in the site. &lt;/p&gt; &lt;p&gt;There currently is one on the &lt;a title="Who's online now on DotNetKicks" href="http://www.dotnetkicks.com/whoisonline" target="_blank"&gt;Who's Online&lt;/a&gt; page and on every members profile. &lt;a href="http://www.dotnetkicks.com/users/gavinjoyce"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="355" alt="shoutbox" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/NewDNKFeaturesKickSpyShoutbox_B669/shoutbox_3.png" width="277" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Feel free to drop me a note on &lt;a title="Gavin Joyce on DotNetKicks.com" href="http://www.dotnetkicks.com/users/gavinjoyce" target="_blank"&gt;my profile&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;&lt;a href="http://code.google.com/p/dotnetkicks/issues/detail?id=87" target="_blank"&gt;Issue 87&lt;/a&gt; on Google Code&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3&gt;Other Improvements&lt;/h3&gt; &lt;p&gt;Since joining the project a few weeks ago, James Welch has become a regular contributor to DotNetKicks.&lt;/p&gt; &lt;p&gt;One of the many features that he has added is the ability to view stories both kicked and submitted by friends.&lt;/p&gt; &lt;p&gt;Here are the latest stories that have been submitted by friends of mine on DotNetKicks:&lt;/p&gt; &lt;p&gt;&lt;a title="http://www.dotnetkicks.com/users/gavinjoyce/friends/submitted" href="http://www.dotnetkicks.com/users/gavinjoyce/friends/submitted"&gt;http://www.dotnetkicks.com/users/gavinjoyce/friends/submitted&lt;/a&gt;&lt;/p&gt; &lt;p&gt;He also improved the paging control which now looks like:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/NewDNKFeaturesKickSpyShoutbox_B669/paging_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="45" alt="paging" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/NewDNKFeaturesKickSpyShoutbox_B669/paging_thumb.png" width="389" border="0" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3&gt;&lt;/h3&gt; &lt;h3&gt;Community News&lt;/h3&gt; &lt;p&gt;I asked &lt;a href="http://weblogs.asp.net/scottgu/" target="_blank"&gt;Scott Guthrie&lt;/a&gt; if he would consider placing a 'kick it' button on his blog and he agreed. His posts are some of the most popular on DotNetKicks as you can see from the &lt;a title="Scott Guthrie on DotNetKicks" href="http://www.dotnetkicks.com/tags/ScottGuthrie" target="_blank"&gt;ScottGuthrie&lt;/a&gt; tag. This is a nice boost to the community, I'm sure that we will gain new fans from his blog. Thanks Scott.&lt;/p&gt; &lt;p&gt;Jon Galloway's &lt;a href="http://weblogs.asp.net/jgalloway/archive/2007/03/08/adding-a-dotnetkicks-image-via-javascript.aspx" target="_blank"&gt;JavaScript technique&lt;/a&gt; is used to inject the 'kick it' link and image into the page automatically.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;h3&gt;Coming Soon&lt;/h3&gt; &lt;p&gt;A number of new features are in the pipeline:&lt;/p&gt; &lt;p&gt;&lt;a href="http://code.google.com/p/dotnetkicks/issues/detail?id=53" target="_blank"&gt;DotNetKicks Zeitgeist&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://code.google.com/p/dotnetkicks/issues/detail?id=93" target="_blank"&gt;DotNetKicks Chats&lt;/a&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blog.incremental.ie/archive/2007/09/17/new-dnk-features-kick-spy-amp-shoutbox.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blog.incremental.ie/archive/2007/09/17/new-dnk-features-kick-spy-amp-shoutbox.aspx" border="0" /&gt;&lt;/a&gt;  &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4015d0fd-d2c8-4298-9cea-99b7023725f7" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;DotNetKicks Tags: &lt;a href="http://www.dotnetkicks.com/tags/DotNetKicks" rel="tag"&gt;DotNetKicks&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/OpenSource" rel="tag"&gt;OpenSource&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/KickSpy" rel="tag"&gt;KickSpy&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/Shoutbox" rel="tag"&gt;Shoutbox&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/ScottGuthrie" rel="tag"&gt;ScottGuthrie&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/JamesWelch" rel="tag"&gt;JamesWelch&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.incremental.ie/aggbug/19.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/09/17/new-dnk-features-kick-spy-amp-shoutbox.aspx</guid>
            <pubDate>Mon, 17 Sep 2007 11:58:24 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/19.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/09/17/new-dnk-features-kick-spy-amp-shoutbox.aspx#feedback</comments>
            <slash:comments>238</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/19.aspx</wfw:commentRss>
        </item>
        <item>
            <title>They (spammers) look like ants from here</title>
            <link>http://blog.incremental.ie/archive/2007/09/13/they-spammers-look-like-ants-from-here.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/whoisonline"&gt;&lt;img width="353" height="252" border="0" align="right" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/Theyspammerslooklikeantsfromhere_ED5A/spammers_5.png" alt="spammers" style="border-width: 0px;" /&gt;&lt;/a&gt;Since adding some basic user visualisation to DotNetKicks.com the other day, I have become slightly addicted to viewing the &lt;a href="http://www.dotnetkicks.com/whoisonline"&gt;who's online page&lt;/a&gt;. This morning I added &lt;a href="http://www.dotnetkicks.com/whoisonline"&gt;colour coding&lt;/a&gt; to the users based on their status - green for &lt;font color="#008000"&gt;new users&lt;/font&gt;, blue for &lt;font color="#0000ff"&gt;existing users&lt;/font&gt; and red for &lt;font color="#ff0000"&gt;spammers&lt;/font&gt;.&lt;/p&gt;
&lt;p&gt;Spammers don't really know that their account has been flagged, although they may notice that their posts have been deleted. When they attempt to post a new link, everything seems fine - they are shown the confirmation page like everyone else. Their story isn't added of course, so our upcoming feed isn't troubled by spammed links to random topics.&lt;/p&gt;
&lt;p&gt;What is interesting is how often these spammers come back to the site trying to peddle their dodgy wares. I take a great satisfaction is seeing them squirm hopelessly through their pointless little loops, trying everything and achieving nothing.&lt;/p&gt;
&lt;h2&gt;DotNetKicks 1 Spammers 0&lt;/h2&gt;
&lt;p&gt; &lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blog.incremental.ie/archive/2007/09/13/they-spammers-look-like-ants-from-here.aspx"&gt;&lt;img border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blog.incremental.ie/archive/2007/09/13/they-spammers-look-like-ants-from-here.aspx" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cbb615d9-9d7a-4636-8191-d67424510afd" class="wlWriterSmartContent"&gt;DotNetKicks Tags: &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/DotNetKicks"&gt;DotNetKicks&lt;/a&gt;, &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/Spam"&gt;Spam&lt;/a&gt;, &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/OpenSource"&gt;OpenSource&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.incremental.ie/aggbug/18.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/09/13/they-spammers-look-like-ants-from-here.aspx</guid>
            <pubDate>Thu, 13 Sep 2007 15:52:53 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/18.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/09/13/they-spammers-look-like-ants-from-here.aspx#feedback</comments>
            <slash:comments>288</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/18.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DotNetKicks Beta 2 Available For Download</title>
            <category>.NET</category>
            <category>DotNetKicks</category>
            <category>Open Source</category>
            <link>http://blog.incremental.ie/archive/2007/09/12/dotnetkicks-beta-2-available-for-download.aspx</link>
            <description>&lt;p&gt;I have just tagged and uploaded SVN revision 283 as &lt;a href="http://code.google.com/p/dotnetkicks/downloads/detail?name=DotNetKicks-Beta-0.2.zip&amp;amp;can=2&amp;amp;q="&gt;DotNetKicks beta 2&lt;/a&gt;. This beta includes a number of &lt;a href="http://blog.incremental.ie/archive/2007/09/09/dotnetkicks-new-features-profiles-gravatars-sortable-upcoming-stories.aspx"&gt;great&lt;/a&gt; &lt;a href="http://blog.incremental.ie/archive/2007/08/30/who-kicked-it.aspx"&gt;new&lt;/a&gt; &lt;a href="http://blog.incremental.ie/archive/2007/08/21/subkismet-to-the-rescue.aspx"&gt;features&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://code.google.com/p/dotnetkicks/downloads/detail?name=DotNetKicks-Beta-0.2.zip&amp;amp;can=2&amp;amp;q="&gt;&lt;img width="418" height="145" border="0" style="border-width: 0px;" alt="dotnetkicks-download-beta2" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksBeta2AvailableForDownload_B8C8/dotnetkicks-download-beta2_3.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
 
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c6851e55-dabd-4b8c-a20e-93208766d937" style="margin: 0px; padding: 0px; display: inline;"&gt;DotNetKicks Tags: &lt;a href="http://www.dotnetkicks.com/tags/DotNetKicks" rel="tag"&gt;DotNetKicks&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/OpenSource" rel="tag"&gt;OpenSource&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/Beta" rel="tag"&gt;Beta&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.incremental.ie/aggbug/17.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/09/12/dotnetkicks-beta-2-available-for-download.aspx</guid>
            <pubDate>Wed, 12 Sep 2007 12:08:26 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/17.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/09/12/dotnetkicks-beta-2-available-for-download.aspx#feedback</comments>
            <slash:comments>147</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/17.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DotNetKicks New Features: Profiles, Gravatars, Sortable Upcoming Stories</title>
            <category>.NET</category>
            <category>DotNetKicks</category>
            <category>Open Source</category>
            <link>http://blog.incremental.ie/archive/2007/09/09/dotnetkicks-new-features-profiles-gravatars-sortable-upcoming-stories.aspx</link>
            <description>&lt;p&gt;The &lt;a href="http://www.dotnetkicks.com/" mce_href="http://www.dotnetkicks.com/"&gt;DotNetKicks.com&lt;/a&gt; open source &lt;a href="http://code.google.com/p/dotnetkicks/" mce_href="http://code.google.com/p/dotnetkicks/"&gt;project&lt;/a&gt; has picked up quite a bit of steam lately, over &lt;a href="http://groups.google.com/group/dotnetkicks-commits/topics" mce_href="http://groups.google.com/group/dotnetkicks-commits/topics"&gt;75 commits&lt;/a&gt; have been made to the &lt;a href="http://code.google.com/p/dotnetkicks/source" mce_href="http://code.google.com/p/dotnetkicks/source"&gt;SubVersion trunk&lt;/a&gt; in the past week (&lt;a href="http://groups.google.com/group/dotnetkicks-commits/feeds" mce_href="http://groups.google.com/group/dotnetkicks-commits/feeds"&gt;rss feeds&lt;/a&gt;). It is great that the project is moving again, thanks to the wonders of open source and a great community. If you would like to contribute in any way to the project, &lt;a href="mailto:gavinjoyce@gmail.com" mce_href="mailto:gavinjoyce@gmail.com"&gt;please let me know&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight: bold; background-color: rgb(255, 255, 153);"&gt;EDIT: Beta 2.0 is available for &lt;a href="http://code.google.com/p/dotnetkicks/downloads/detail?name=DotNetKicks-Beta-0.2.zip&amp;amp;can=2&amp;amp;q="&gt;download&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;The two big new features this week are user profiles and upcoming story sorting:&lt;/p&gt;
&lt;h3&gt; &lt;/h3&gt;
&lt;h3&gt;User Profiles&lt;img width="260" height="223" border="0" align="right" style="border-width: 0px; margin: 10px;" alt="profile-view" src="http://weblogs.asp.net/blogs/gavinjoyce/WindowsLiveWriter/DotNetKicksNewFeaturesProfilesGravatarsS_BF58/profile-view_3.png" mce_src="http://weblogs.asp.net/blogs/gavinjoyce/WindowsLiveWriter/DotNetKicksNewFeaturesProfilesGravatarsS_BF58/profile-view_3.png" /&gt;&lt;/h3&gt;
&lt;p&gt;Following on from last weeks great &lt;a href="http://blog.incremental.ie/archive/2007/08/30/who-kicked-it.aspx" mce_href="http://blog.incremental.ie/archive/2007/08/30/who-kicked-it.aspx"&gt;'Who Kicked It?'&lt;/a&gt; control by &lt;a href="http://www.scribesonic.com/Blog/" mce_href="http://www.scribesonic.com/Blog/"&gt;Kevin&lt;/a&gt;, we have now enabled user profiles and gravatars. Gravatars are 80x80 images and are provided by this &lt;a href="http://site.gravatar.com/" mce_href="http://site.gravatar.com/"&gt;free service&lt;/a&gt;. There was some &lt;a href="http://www.dotnetkicks.com/community/Who_Kicked_It" mce_href="http://www.dotnetkicks.com/community/Who_Kicked_It"&gt;concern from the community&lt;/a&gt; about the speed at which the gravatar images are served from this service, I have addressed this by implementing a &lt;a href="http://dotnetkicks.googlecode.com/svn/trunk/DotNetKicks/Incremental.Kick.Web.UI/Services/Images/ViewGravitar.ashx.cs" mce_href="http://dotnetkicks.googlecode.com/svn/trunk/DotNetKicks/Incremental.Kick.Web.UI/Services/Images/ViewGravitar.ashx.cs"&gt;server side gravatar cache&lt;/a&gt;. I'll post about this in more detail in the near future.&lt;/p&gt;
&lt;p&gt;You can set your gravatar and other profile details on your DNK profile page (there is a new 'your profile' link in the top DNK menu). The url will be similar to:&lt;/p&gt;
&lt;p&gt;&lt;a title="http://www.dotnetkicks.com/users/gavinjoyce/profile" href="http://www.dotnetkicks.com/users/gavinjoyce/profile" mce_href="http://www.dotnetkicks.com/users/gavinjoyce/profile"&gt;http://www.dotnetkicks.com/users/gavinjoyce/profile&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We now also have the ability to see a paged list of:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;User Kicked Stories (eg. &lt;a title="http://www.dotnetkicks.com/users/gavinjoyce/kicked" href="http://www.dotnetkicks.com/users/gavinjoyce/kicked" mce_href="http://www.dotnetkicks.com/users/gavinjoyce/kicked"&gt;http://www.dotnetkicks.com/users/gavinjoyce/kicked&lt;/a&gt;)  &lt;/li&gt;
    &lt;li&gt;User Submitted Stories (eg. &lt;a title="http://www.dotnetkicks.com/users/gavinjoyce/submitted" href="http://www.dotnetkicks.com/users/gavinjoyce/submitted" mce_href="http://www.dotnetkicks.com/users/gavinjoyce/submitted"&gt;http://www.dotnetkicks.com/users/gavinjoyce/submitted&lt;/a&gt;)  &lt;/li&gt;
    &lt;li&gt;User Comments (eg. &lt;a title="http://www.dotnetkicks.com/users/gavinjoyce/comments" href="http://www.dotnetkicks.com/users/gavinjoyce/comments" mce_href="http://www.dotnetkicks.com/users/gavinjoyce/comments"&gt;http://www.dotnetkicks.com/users/gavinjoyce/comments&lt;/a&gt;)  &lt;/li&gt;
    &lt;li&gt;User Tags (eg: &lt;a title="http://www.dotnetkicks.com/users/gavinjoyce/tags" href="http://www.dotnetkicks.com/users/gavinjoyce/tags" mce_href="http://www.dotnetkicks.com/users/gavinjoyce/tags"&gt;http://www.dotnetkicks.com/users/gavinjoyce/tags&lt;/a&gt;) &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks to &lt;a href="http://code.google.com/u/james.e.welch/" mce_href="http://code.google.com/u/james.e.welch/"&gt;james.e.welch&lt;/a&gt; &amp;amp; &lt;a href="http://code.google.com/u/simone.busoli/" mce_href="http://code.google.com/u/simone.busoli/"&gt;simone.busole&lt;/a&gt; for contributing these new features.&lt;/p&gt;
&lt;h3&gt;Upcoming Story Sorting&lt;/h3&gt;
&lt;p&gt;One of the limitations of the DNK upcoming story view was that it was easy for good stories to get lost. Is takes about 6 kicks for a story to reach the homepage feed, many on 5 kicks never make it. To address this, there are now two extra ways to sort the upcoming stories: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Latest Upcoming Stories : &lt;a title="http://www.dotnetkicks.com/upcoming" href="http://www.dotnetkicks.com/upcoming" mce_href="http://www.dotnetkicks.com/upcoming"&gt;http://www.dotnetkicks.com/upcoming&lt;/a&gt;  &lt;/li&gt;
    &lt;li&gt;Top Today: &lt;a title="http://www.dotnetkicks.com/upcoming/popular/today" href="http://www.dotnetkicks.com/upcoming/popular/today" mce_href="http://www.dotnetkicks.com/upcoming/popular/today"&gt;http://www.dotnetkicks.com/upcoming/popular/today&lt;/a&gt;  &lt;/li&gt;
    &lt;li&gt;Top This Week: &lt;a title="http://www.dotnetkicks.com/upcoming/popular/pastweek" href="http://www.dotnetkicks.com/upcoming/popular/pastweek" mce_href="http://www.dotnetkicks.com/upcoming/popular/pastweek"&gt;http://www.dotnetkicks.com/upcoming/popular/pastweek&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/gavinjoyce/WindowsLiveWriter/DotNetKicksNewFeaturesProfilesGravatarsS_BF58/upcoming-story-sorting_2.png" mce_href="http://weblogs.asp.net/blogs/gavinjoyce/WindowsLiveWriter/DotNetKicksNewFeaturesProfilesGravatarsS_BF58/upcoming-story-sorting_2.png"&gt;&lt;img width="339" height="110" border="0" style="border-width: 0px;" alt="upcoming-story-sorting" src="http://weblogs.asp.net/blogs/gavinjoyce/WindowsLiveWriter/DotNetKicksNewFeaturesProfilesGravatarsS_BF58/upcoming-story-sorting_thumb.png" mce_src="http://weblogs.asp.net/blogs/gavinjoyce/WindowsLiveWriter/DotNetKicksNewFeaturesProfilesGravatarsS_BF58/upcoming-story-sorting_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The 'Top This Week' is especially useful for find those quality stories that sometimes did fall away.&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href="http://code.google.com/u/pedicool/" mce_href="http://code.google.com/u/pedicool/"&gt;pedicool&lt;/a&gt; for contributing this new feature.&lt;/p&gt;
&lt;h3&gt;Whats Next?&lt;/h3&gt;
&lt;p&gt;That's up to you. Please &lt;a href="http://code.google.com/p/dotnetkicks/issues/list" mce_href="http://code.google.com/p/dotnetkicks/issues/list"&gt;let us know&lt;/a&gt; which features you would like implemented next. Clicking the star icon on any issue in the list will bump it up on our priority list. Also, please do let us know your great ideas for &lt;a href="http://www.dotnetkicks.com/" mce_href="http://www.dotnetkicks.com/"&gt;DotNetKicks.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;EDIT: &lt;/strong&gt;I've just deployed a &lt;a href="http://www.dotnetkicks.com/whoisonline"&gt;'Who's Online'&lt;/a&gt; feature which lists the users who have been active on the site within the last 30 mins.&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNewFeaturesProfilesGravatarsS_BF58/whosonline_2.png"&gt;&lt;img width="328" height="123" border="0" align="right" style="border: 0px none ;" alt="whosonline" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksNewFeaturesProfilesGravatarsS_BF58/whosonline_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
Kick it on &lt;a href="http://www.dotnetkicks.com/" mce_href="http://www.dotnetkicks.com/"&gt;DotNetKicks.com&lt;/a&gt;: &lt;a href="http://www.dotnetkicks.com/kick/?url=http://blog.incremental.ie/archive/2007/09/09/dotnetkicks-new-features-profiles-gravatars-sortable-upcoming-stories.aspx" mce_href="http://www.dotnetkicks.com/kick/?url=http://blog.incremental.ie/archive/2007/09/09/dotnetkicks-new-features-profiles-gravatars-sortable-upcoming-stories.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blog.incremental.ie/archive/2007/09/09/dotnetkicks-new-features-profiles-gravatars-sortable-upcoming-stories.aspx" mce_src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blog.incremental.ie/archive/2007/09/09/dotnetkicks-new-features-profiles-gravatars-sortable-upcoming-stories.aspx" /&gt;&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:29552fe3-c002-439f-bdec-bc077a2a49df" style="margin: 0px; padding: 0px; display: inline;"&gt;DotNetKicks Tags: &lt;a href="http://www.dotnetkicks.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/DotNetKicks" rel="tag"&gt;DotNetKicks&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/OpenSource" rel="tag"&gt;OpenSource&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/tags/Gravatar" rel="tag"&gt;Gravatar&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.incremental.ie/aggbug/15.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/09/09/dotnetkicks-new-features-profiles-gravatars-sortable-upcoming-stories.aspx</guid>
            <pubDate>Sun, 09 Sep 2007 12:36:15 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/15.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/09/09/dotnetkicks-new-features-profiles-gravatars-sortable-upcoming-stories.aspx#feedback</comments>
            <slash:comments>346</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/15.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Who kicked it?</title>
            <category>.NET</category>
            <category>DotNetKicks</category>
            <category>Open Source</category>
            <link>http://blog.incremental.ie/archive/2007/08/30/who-kicked-it.aspx</link>
            <description>&lt;p&gt;I've just deployed SVN revision 160 to &lt;a href="http://www.dotnetkicks.com"&gt;www.dotnetkicks.com&lt;/a&gt;. Included in the release is a nice feature from &lt;a href="http://scribesonic.com/"&gt;Kevin Fricovsky&lt;/a&gt; and some bug fixes from &lt;a href="http://code.google.com/u/pedicool/"&gt;Pedram Shahsavand&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Who Kicked It&lt;/strong&gt;:&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/Whokickedit_E95F/WhoKickedIt.png" atomicselection="true"&gt;&lt;img width="492" height="170" border="0" style="border: 0px none ;" alt="WhoKickedIt" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/Whokickedit_E95F/WhoKickedIt_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Thanks to Kevin, you can now see a list of users who kicked a particular story:&lt;/p&gt;
&lt;p&gt;eg. &lt;a title="http://www.dotnetkicks.com/tipsandtricks/Scott_Hanselman_s_2007_Ultimate_Developer_and_Power_Users_Tools" href="http://www.dotnetkicks.com/tipsandtricks/Scott_Hanselman_s_2007_Ultimate_Developer_and_Power_Users_Tools"&gt;http://www.dotnetkicks.com/tipsandtricks/Scott_Hanselman_s_2007_Ultimate_Developer_and_Power_Users_Tools&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Who want's to be a moderator?&lt;/h3&gt;
&lt;p&gt;I have also improved the site moderation features, mainly the ability to delete any spam posts. I am looking for a few members who are willing to become moderators. Please send me an email if you would like to help out (&lt;a href="mailto:gavinjoyce@gmail.com"&gt;gavinjoyce@gmail.com&lt;/a&gt;). Please include your DNK username.&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blog.incremental.ie/archive/2007/08/30/who-kicked-it.aspx"&gt;&lt;img border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blog.incremental.ie/archive/2007/08/30/who-kicked-it.aspx" /&gt;&lt;/a&gt;&lt;img src="http://blog.incremental.ie/aggbug/14.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/08/30/who-kicked-it.aspx</guid>
            <pubDate>Thu, 30 Aug 2007 15:35:51 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/14.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/08/30/who-kicked-it.aspx#feedback</comments>
            <slash:comments>261</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/14.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Subkismet to the rescue</title>
            <category>.NET</category>
            <category>DotNetKicks</category>
            <category>Open Source</category>
            <link>http://blog.incremental.ie/archive/2007/08/21/subkismet-to-the-rescue.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://flickr.com/photos/mevans/72365013/"&gt;&lt;img width="147" height="147" src="http://farm1.static.flickr.com/115/311134262_4a612f461a.jpg?v=0" alt="" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Since jumping to a &lt;a href="http://www.iwebtool.com/pagerank_checker?domain=http%3A%2F%2Fwww.dotnetkicks.com%2F"&gt;PageRank of 6&lt;/a&gt;, &lt;a href="http://www.dotnetkicks.com/"&gt;DotNetKicks.com&lt;/a&gt; has become increasingly attractive to spammers. For the past year or so I have been deleting the posts manually, there would maybe be one or two spam posts per day. In the past week the number of spam posts has jumped to about 60 per day.&lt;/p&gt;
&lt;p&gt;After a little searching, and a little prompting from &lt;a href="http://blog.madskristensen.dk/"&gt;Mads&lt;/a&gt;, I came across &lt;a href="http://www.codeplex.com/subkismet"&gt;Subkismet&lt;/a&gt;. It bills itself as &lt;em&gt;'The Cure For Comment Spam'.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Project Description:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A stand-alone comment spam filtering library. Includes Akismet, Invisible Captcha, and Visible Captcha. The Akismet library included is based on code in use by Subtext and DasBlog. &lt;br /&gt;
This library is based on code originally developed for the Subtext Blog Engine project (&lt;/em&gt;&lt;a href="http://subtextproject.com/"&gt;&lt;em&gt;http://subtextproject.com/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;). A variant of the Akismet specific code is in use by DasBlog &lt;/em&gt;&lt;a href="http://dasblog.info/"&gt;&lt;em&gt;http://dasblog.info/&lt;/em&gt;&lt;/a&gt;&lt;em&gt; as well.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I integrated it into DotNetKicks.com earlier this morning, the Invisible Captcha is being used on the &lt;a href="http://dotnetkicks.googlecode.com/svn/trunk/DotNetKicks/Incremental.Kick.Web.UI/Controls/Story/SubmitNewStory.ascx"&gt;SubmitNewStory.ascx&lt;/a&gt; control. The number of spam posts has reduced considerably although some are still getting through. I guess that some spammers may be using a scripted browser or spam bot which has JavaScript enabled.&lt;/p&gt;
&lt;p&gt;Enabling a Visible Captcha is my next move, I hope that this will further reduce the amount of spam. I'll also add the &lt;a href="http://en.wikipedia.org/wiki/Nofollow"&gt;nofollow&lt;/a&gt; HTML attribute to posted links in the upcoming page.&lt;/p&gt;
&lt;p&gt;If you a looking for a cure to your spam problems, &lt;a href="http://www.codeplex.com/subkismet"&gt;Subkismet&lt;/a&gt; is certainly worth a try.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blog.incremental.ie/archive/2007/08/21/subkismet-to-the-rescue.aspx"&gt;&lt;img border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blog.incremental.ie/archive/2007/08/21/subkismet-to-the-rescue.aspx" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" id="0767317B-992E-4b12-91E0-4F059A8CECA8:9f42da5c-b27b-4596-a1fe-faffe774bce0" class="wlWriterSmartContent"&gt;DotNetKicks Tags: &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/Spam"&gt;Spam&lt;/a&gt;, &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/DotNetKicks"&gt;DotNetKicks&lt;/a&gt;, &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/Subkismet"&gt;Subkismet&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.incremental.ie/aggbug/13.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/08/21/subkismet-to-the-rescue.aspx</guid>
            <pubDate>Tue, 21 Aug 2007 11:55:37 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/13.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/08/21/subkismet-to-the-rescue.aspx#feedback</comments>
            <slash:comments>292</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/13.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DotNetKicks Beta 1 Available For Download</title>
            <category>Open Source</category>
            <category>DotNetKicks</category>
            <category>.NET</category>
            <link>http://blog.incremental.ie/archive/2007/08/07/dotnetkicks-beta-1-available-for-download.aspx</link>
            <description>&lt;p&gt;I have just tagged and uploaded SVN revision 132 as &lt;a href="http://code.google.com/p/dotnetkicks/downloads/detail?name=DotNetKicks.com.beta.0.1.zip&amp;amp;can=2&amp;amp;q="&gt;DotNetKicks Beta 1&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;&lt;a atomicselection="true" href="http://code.google.com/p/dotnetkicks/downloads/detail?name=DotNetKicks.com.beta.0.1.zip&amp;amp;can=2&amp;amp;q="&gt;&lt;img width="403" height="139" border="0" src="http://blog.incremental.ie/images/blog_incremental_ie/WindowsLiveWriter/DotNetKicksBeta1AvailableForDownload_9802/dotnetkicks-download-beta1_1.png" alt="dotnetkicks-download-beta1" style="border-width: 0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Enjoy!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http://blog.incremental.ie/archive/2007/08/07/dotnetkicks-beta-1-available-for-download.aspx"&gt;&lt;img border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://blog.incremental.ie/archive/2007/08/07/dotnetkicks-beta-1-available-for-download.aspx" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" id="0767317B-992E-4b12-91E0-4F059A8CECA8:39da2113-bd7c-449a-8d52-798d23ed5f8d" class="wlWriterSmartContent"&gt;DotNetKicks Tags: &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/DotNetKicks"&gt;DotNetKicks&lt;/a&gt;, &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/OpenSource"&gt;OpenSource&lt;/a&gt;, &lt;a rel="tag" href="http://www.dotnetkicks.com/tags/Beta"&gt;Beta&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.incremental.ie/aggbug/11.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gavin Joyce</dc:creator>
            <guid>http://blog.incremental.ie/archive/2007/08/07/dotnetkicks-beta-1-available-for-download.aspx</guid>
            <pubDate>Tue, 07 Aug 2007 09:48:34 GMT</pubDate>
            <wfw:comment>http://blog.incremental.ie/comments/11.aspx</wfw:comment>
            <comments>http://blog.incremental.ie/archive/2007/08/07/dotnetkicks-beta-1-available-for-download.aspx#feedback</comments>
            <slash:comments>208</slash:comments>
            <wfw:commentRss>http://blog.incremental.ie/comments/commentRss/11.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
