<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>QBRANCH:CODE</title>
    <link>http://code.qbranch.se/post/index</link>
    <description>The collective brainchild of the development team at Qbranch.</description>
    <item>
      <title>Load testing WCF services with Apache Bench</title>
      <link>http://code.qbranch.se/archive/2010/07/Load-testing-WCF-services-with-Apache-Bench</link>
      <content:encoded>&lt;p&gt;&lt;a href="http://httpd.apache.org/docs/2.0/programs/ab.html"&gt;Apache Bench&lt;/a&gt; is a load testing tool that ships with Apache HTTP Server but it can also be run against  WCF services with basicHttp or wsHttp bindings. The tool itself consists of one EXE file which makes deploying it to multiple client machines a trivial affair.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Notes&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We used Apache Bench against BizTalk WCF (wsHttp, two-way) receive locations to identify bottlenecks throughout our entire solution &lt;/li&gt;
&lt;li&gt;Security was disabled on the WCF service that Apache Bench was hitting&lt;/li&gt;
&lt;li&gt;There is no ramp-up. Apache Bench will hit your service with full force right from the start.&lt;/li&gt;
&lt;li&gt;Use PerfMon to see how your service and back-end systems are doing&lt;/li&gt;
&lt;li&gt;Apache bench is very light weight on the client, hardly CPU utilization at all&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;b&gt;Apache Bench command &amp;#8211; 200 requests with 50 concurrent calls &lt;/B&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;ab -T &amp;#8220;application/soap+xml; charset=UTF-8&amp;#8243; -p data.xml -n 200 -c 50 http://biztalk/OrderService.svc&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;data.xml&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;This file contains the message that Apache Bench will send to the service. Use &lt;a href="http://www.fiddler2.com/fiddler2/"&gt;Fiddler&lt;/a&gt; to see and copy what is going over the wire when a normal WCF client is sending messages to your service&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Apache Bench output&lt;/b&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;This is ApacheBench, Version 2.3 &lt;$Revision: 655654 $&gt;&lt;br /&gt;
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/&lt;br /&gt;
Licensed to The Apache Software Foundation, http://www.apache.org/&lt;/p&gt;
&lt;p&gt;Benchmarking biztalk (be patient)&lt;br /&gt;
Completed 100 requests&lt;br /&gt;
Completed 200 requests&lt;br /&gt;
Finished 200 requests&lt;/p&gt;
&lt;p&gt;Server Software:        Microsoft-IIS/7.5&lt;br /&gt;
Server Hostname:        biztalk&lt;br /&gt;
Server Port:            80&lt;/p&gt;
&lt;p&gt;Document Path:          /OrderService.svc&lt;br /&gt;
Document Length:        1766 bytes&lt;/p&gt;
&lt;p&gt;Concurrency Level:      50&lt;br /&gt;
Time taken for tests:   3.767 seconds&lt;br /&gt;
Complete requests:      200&lt;br /&gt;
Failed requests:        0&lt;br /&gt;
Write errors:           0&lt;br /&gt;
Total transferred:      416000 bytes&lt;br /&gt;
Total POSTed:           188200&lt;br /&gt;
HTML transferred:       353200 bytes&lt;br /&gt;
Requests per second:    53.09 [#/sec] (mean)&lt;br /&gt;
Time per request:       941.844 [ms] (mean)&lt;br /&gt;
Time per request:       18.837 [ms] (mean, across all concurrent requests)&lt;br /&gt;
Transfer rate:          107.83 [Kbytes/sec] received&lt;br /&gt;
                        48.78 kb/s sent&lt;br /&gt;
                        156.62 kb/s total&lt;/p&gt;
&lt;p&gt;Connection Times (ms)&lt;br /&gt;
              min  mean[+/-sd] median   max&lt;br /&gt;
Connect:        0    1   0.6      1       5&lt;br /&gt;
Processing:   217  851 312.2    795    1937&lt;br /&gt;
Waiting:      216  850 312.2    791    1937&lt;br /&gt;
Total:        218  852 312.3    795    1938&lt;/p&gt;
&lt;p&gt;Percentage of the requests served within a certain time (ms)&lt;br /&gt;
  50%    795&lt;br /&gt;
  66%    922&lt;br /&gt;
  75%   1026&lt;br /&gt;
  80%   1079&lt;br /&gt;
  90%   1255&lt;br /&gt;
  95%   1551&lt;br /&gt;
  98%   1781&lt;br /&gt;
  99%   1879&lt;br /&gt;
 100%   1938 (longest request)&lt;/p&gt;&lt;/blockquote&gt;</content:encoded>
      <pubDate>Sat, 17 Jul 2010 17:31:45 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2010/07/Load-testing-WCF-services-with-Apache-Bench</guid>
      <dc:creator>Fredrik Lindström</dc:creator>
      <dc:date>2010-07-17T17:31:45Z</dc:date>
    </item>
    <item>
      <title>Qbranch Syd söker utvecklare</title>
      <link>http://code.qbranch.se/archive/2010/04/Qbranch-Syd-sker-utvecklare</link>
      <content:encoded>&lt;p&gt;&lt;b&gt;&lt;br /&gt;&#xD;
&lt;/b&gt;Vi p&amp;aring; Qbranch Syd s&amp;ouml;ker en systemutvecklare med fokus p&amp;aring; integration till Malm&amp;ouml;. &amp;Auml;r du sugen eller k&amp;auml;nner n&amp;aring;gon som &amp;auml;r s&amp;aring; g&amp;aring; in p&amp;aring; v&amp;aring;r sida&lt;a href="http://www.qbranch.se"&gt; Qbranch.se och l&amp;auml;s mer under Karri&amp;auml;r.&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;Hoppas vi ses!&lt;b&gt;&lt;br /&gt;&#xD;
&lt;/b&gt; &amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content:encoded>
      <pubDate>Tue, 06 Apr 2010 11:35:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2010/04/Qbranch-Syd-sker-utvecklare</guid>
      <dc:creator>Per Önnemyr</dc:creator>
      <dc:date>2010-04-06T11:35:00Z</dc:date>
    </item>
    <item>
      <title>Recap from GTUG Sthlm 4/3: Groovy, MIDI and some Closure...</title>
      <link>http://code.qbranch.se/archive/2010/03/Recap-from-GTUG-Sthlm-43-Groovy-MIDI-and-some-Closure</link>
      <content:encoded>&lt;p&gt;Did a presentation about Groovy on Google's App Engine at &lt;a href="http://sites.google.com/site/stockholmgtug/201003"&gt;GTUG Stockholm&lt;/a&gt;&amp;nbsp;last thursday. Had a great evening as expected.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8"&gt;Johan Burell (&lt;a href="http://twitter.com/Burre83"&gt;@Burre83&lt;/a&gt;) demoed his api and client implementation of a MIDI api for the android. The live &amp;quot;DJ on the Android&amp;quot; demo was cool even though it was impossible to actually see what he did as he used his own phone instead of the emulator during the demo.&amp;nbsp;         &lt;/meta&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;Mikael Kindborg (&lt;a href="http://twitter.com/divineprog"&gt;@divineprog&lt;/a&gt;) presented on &lt;a href="http://code.google.com/closure/"&gt;Google Closure&lt;/a&gt;, a new library for JS development which comes with what seems to be a really effective JavaScript Optimizer. There was even some more Android to be had when he demoed his JS Android Client that receives JavaScript over a socket and runs it on the device. Was kinda cool when a guy on the first row held up the Mikaels Android and we could se how the ui on the phone changed as Mikael recoded it live on his computer. I have a hard time seeing the practical applications for this but it's a cool demo non the less.&lt;/p&gt;&#xD;
&lt;p&gt;I focused on how to leverage &lt;a href="http://groovy.codehaus.org/"&gt;Groovy&lt;/a&gt; on App Engine using &lt;a href="http://gaelyk.appspot.com/"&gt;Gaelyk&lt;/a&gt; as Grails IMHO isn't really worth the effort right now (on GAE). The environment I used was&amp;nbsp;&lt;a href="http://www.springsource.com/products/sts"&gt;SpringSource Tool Suite&lt;/a&gt;&amp;nbsp;(Groovy support) and the&amp;nbsp;&lt;a href="http://code.google.com/appengine/docs/java/tools/eclipse.html"&gt;Google App Engine Plugin&lt;/a&gt;&amp;nbsp;for Eclipse.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;Presentation and examples:&amp;nbsp;&lt;a href="http://github.com/xlson/presentations/tree/master/groovy-on-gae/"&gt;on Github&lt;/a&gt;&amp;nbsp;as well as on &lt;a href="http://sites.google.com/site/stockholmgtug/201003"&gt;GTUG Stockholm:s&lt;/a&gt; page&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content:encoded>
      <pubDate>Tue, 09 Mar 2010 08:33:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2010/03/Recap-from-GTUG-Sthlm-43-Groovy-MIDI-and-some-Closure</guid>
      <dc:creator>Leonard Axelsson</dc:creator>
      <dc:date>2010-03-09T08:33:00Z</dc:date>
    </item>
    <item>
      <title>DSCT 2.0 Beta 3</title>
      <link>http://code.qbranch.se/archive/2010/02/DSCT-20-Beta-3</link>
      <content:encoded>&lt;p&gt;I&amp;#8217;ve been meaning to get a final 2.0 version out the door for quite some time but work has taken up most of my free time and will continue to do so for a while longer. I hope you find this new version useful but please keep in mind that it is a beta version.&lt;/p&gt;
&lt;p&gt;
Special Thanks to Daniel Brad for some real world testing.&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Download&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;&lt;a href="http://lindstrom.nullsession.com/download/DSCompareSetup_2.0_beta3_x64.zip"&gt;DSCT 2.0 Beta 3 x64&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lindstrom.nullsession.com/download/DSCompareSetup_2.0_beta3_x86.zip"&gt;DSCT 2.0 Beta 3 x86&lt;/a&gt;&lt;/li&gt;
&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;DSCT now supports ADs containing a large amount of objects (several 100k)&lt;/li&gt;
&lt;p&gt;
&lt;strong&gt;Performance&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;Big speed increase when restoring groups with many members (10k and up)&lt;/li&gt;
&lt;li&gt;Big speed increase when comparing AD:s containing an extreme amount of objects to snapshots&lt;/li&gt;
&lt;li&gt;Snapshot state is now saved to disk (1kb file containing a DirSync cookie) when DSCT connects to a snapshot for the first time. Subsequent connections to the same snapshot utilize the saved cookie. Big performance gain.&lt;/li&gt;
&lt;p&gt;
&lt;strong&gt;New features&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;View who was added/removed from a specific group since the snapshot was taken. Selectively undo/restore changes to the membership&lt;/li&gt;
&lt;li&gt;Tree view&lt;/li&gt;
&lt;p&gt;
&lt;strong&gt;Misc&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;Support for running DSCT 2.0 on Windows XP has been dropped&lt;/li&gt;
&lt;p&gt;&lt;strong&gt;Known Issues&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;Full membership restore of very large groups (20k+) fails on a DC running Windows Server 2008. I have not been able to reproduce this error on Windows Server 2008 R2. Needs some more investigation&lt;/li&gt;
&lt;p&gt;&lt;strong&gt;Let me know&lt;/strong&gt;&lt;br /&gt;
Feel free to leave a comment if you run into any issues&lt;/p&gt;</content:encoded>
      <pubDate>Mon, 15 Feb 2010 18:06:46 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2010/02/DSCT-20-Beta-3</guid>
      <dc:creator>Fredrik Lindström</dc:creator>
      <dc:date>2010-02-15T18:06:46Z</dc:date>
    </item>
    <item>
      <title>Sharepoint 2010, ADFS 2.0 and Roles</title>
      <link>http://code.qbranch.se/archive/2010/02/Sharepoint-2010-ADFS-20-and-Roles</link>
      <content:encoded>&lt;p&gt;I&amp;#8217;ve been tinkering quite a bit with Sharepoint 2010 and ADFS 2.0 lately and figured that this was worth sharing.&lt;/p&gt;
&lt;p&gt;I followed the steps outlined in &lt;a href="http://blogs.pointbridge.com/Blogs/nielsen_travis/Pages/Post.aspx?_ID=33"&gt;Travis Nielsen&amp;#8217;s blog post&lt;/a&gt; to configure a federated identity provider in Sharepoint 2010 and configured ADFS 2.0 in my own way since our setup involves quite a few partner organizations. One thing that is not mentioned in the step by step guide is how to configure Sharepoint to accept role claims and assign access rights based on those claims.&lt;/p&gt;
&lt;p&gt;The following Powershell snippet will do the trick&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;$issuer = Get-SPTrustedIdentityTokenIssuer&lt;br /&gt;
$issuer.ClaimTypes.Add(&amp;#8221;&lt;a href="http://schemas.microsoft.com/ws/2008/06/identity/claims/role"&gt;http://schemas.microsoft.com/ws/2008/06/identity/claims/role&lt;/a&gt;&amp;#8220;)&lt;br /&gt;
$map = New-SPClaimTypeMapping &amp;#8220;&lt;a href="http://schemas.microsoft.com/ws/2008/06/identity/claims/role"&gt;http://schemas.microsoft.com/ws/2008/06/identity/claims/role&lt;/a&gt;&amp;#8221; -IncomingClaimTypeDisplayName &amp;#8220;Role&amp;#8221; -SameAsIncoming&lt;br /&gt;
$issuer.AddClaimTypeInformation($map)&lt;br /&gt;
$issuer.Update()&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;After this the &amp;#8220;Role&amp;#8221; entry will show up in the people picker and you will be able to assign role claims to Sharepoint groups.&lt;/p&gt;</content:encoded>
      <pubDate>Sat, 06 Feb 2010 01:39:32 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2010/02/Sharepoint-2010-ADFS-20-and-Roles</guid>
      <dc:creator>Fredrik Lindström</dc:creator>
      <dc:date>2010-02-06T01:39:32Z</dc:date>
    </item>
    <item>
      <title>New Mailing List for Qanban</title>
      <link>http://code.qbranch.se/archive/2010/01/New-Mailing-List-for-Qanban</link>
      <content:encoded>&lt;p&gt;Got any feedback or questions regarding &lt;a href="http://github.com/qbranchcode/Qanban"&gt;Qanban&lt;/a&gt;? Post at&amp;nbsp;&lt;a href="http://groups.google.com/group/qanban-users"&gt;qanban-users&lt;/a&gt;&amp;nbsp;and we'll get back to you.&lt;/p&gt;&#xD;
&lt;p&gt;Looking forward to hearing from you!&lt;/p&gt;&#xD;
&lt;p&gt;/The Qanban Team&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-align: center; "&gt;&lt;img alt="" src="http://farm1.static.flickr.com/114/267403889_e74b4d7416_m.jpg" /&gt;&lt;/p&gt;</content:encoded>
      <pubDate>Sat, 23 Jan 2010 12:20:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2010/01/New-Mailing-List-for-Qanban</guid>
      <dc:creator>Leonard Axelsson</dc:creator>
      <dc:date>2010-01-23T12:20:00Z</dc:date>
    </item>
    <item>
      <title>The Qanban Installer</title>
      <link>http://code.qbranch.se/archive/2010/01/The-Qanban-Installer</link>
      <content:encoded>&lt;p&gt;Since the development of the Qanban standalone, I started to take a look on taking it to it's next step; a Qanban Installer. Using&amp;nbsp;&lt;a href="http://izpack.org/"&gt;IzPack&lt;/a&gt;&amp;nbsp;I hacked an installation script, installing Qanban on your computer, with the posibility to add items to the start menu. Now all you have to do to run your local standalone Qanban is by going to Qanban in the start menu and click on Qanban-&amp;gt;Qanban.&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(255, 0, 0); "&gt;IzPack&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;As stated on the IzPack website, &amp;quot;IzPack is a one-stop solution for &lt;strong&gt;packaging, distributing and deploying&lt;/strong&gt; applications. It's fully &lt;strong&gt;cross-platform&lt;/strong&gt; and generates a &lt;strong&gt;single installer&lt;/strong&gt;.&amp;quot; It's fairly simple to use, and I can really recommend it.&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(255, 0, 0); "&gt;Easier Qanban Install&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;When running the installer.jar a wizard will take you through the installation process. In this installation you will be able to set standard port and the amount of memory you wish to give to Qanban (port 8080 and 512mb memory is standard).&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://code.qbranch.se/uploads/Image/Screenshot-IzPack%20-%20Installation%20of%20Qanban.png"&gt;&lt;img width="120" height="90" alt="" src="/uploads/Image/Screenshot-IzPack%20-%20Installation%20of%20Qanban.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a target="_blank" href="http://code.qbranch.se/uploads/Image/Screenshot-IzPack%20-%20Installation%20of%20Qanban-1.png"&gt;&lt;img width="120" height="90" alt="" src="/uploads/Image/Screenshot-IzPack%20-%20Installation%20of%20Qanban-1.png" /&gt;&lt;/a&gt;&amp;nbsp;&lt;a target="_blank" href="http://code.qbranch.se/uploads/Image/Screenshot-IzPack%20-%20Installation%20of%20Qanban-2.png"&gt;&lt;img width="120" height="90" alt="" src="/uploads/Image/Screenshot-IzPack%20-%20Installation%20of%20Qanban-2.png" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;This will give you a menu item to launch Qanban and Uninstall Qanban. Now it will be even easier to install and run Qanban!&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://code.qbranch.se/uploads/Image/Qanban%20Menu%20Screenshot.png"&gt;&lt;img width="120" height="96" alt="" src="/uploads/Image/Qanban%20Menu%20Screenshot.png" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta http-equiv="content-type" content="text/html; charset=utf-8"&gt;    &lt;/meta&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;The Installer isn't complete, and therefore there is no release, but quite soon I hope for a first release.&lt;/p&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-align: left; "&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content:encoded>
      <pubDate>Wed, 13 Jan 2010 09:45:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2010/01/The-Qanban-Installer</guid>
      <dc:creator>Mattias Mirhagen</dc:creator>
      <dc:date>2010-01-13T09:45:00Z</dc:date>
    </item>
    <item>
      <title>Qanban 0.1 Released!</title>
      <link>http://code.qbranch.se/archive/2009/12/Qanban-01-Released</link>
      <content:encoded>&lt;h2&gt;&#xD;
&lt;meta charset="utf-8"&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;Introduction (updated)&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;/meta&gt;&#xD;
&lt;/h2&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8"&gt;Qanban is a digital, multi-user Kanban-board. It's a tool to aid you when using the Agile Process &lt;a href="http://www.limitedwipsociety.org/2009/05/29/what-is-kanban-2/"&gt;Kanban&lt;/a&gt;.               &lt;/meta&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;The team here at Qanban Headquarters&lt;sup&gt;TM&lt;/sup&gt;&amp;nbsp;are happy to present &lt;a href="http://github.com/qbranchcode/Qanban/downloads"&gt;Qanban 0.1&lt;/a&gt; to you! It might be a small step for the world but a big step for us.&lt;/p&gt;&#xD;
&lt;p&gt;Lately we've been focusing on squashing bugs, testing, squashing more bugs and one final feature: standalone Qanban. The 0.1 version can be run directly from commandline and uses embedded &lt;a href="http://www.mortbay.org/jetty/"&gt;Jetty&lt;/a&gt; and &lt;a href="http://hsqldb.org/"&gt;HSQLDB&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;Kanban&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;This section takes for granted that you have some understanding of how Scrum works.&lt;/p&gt;&#xD;
&lt;p&gt;Kanban is used to visualize your workflow with the help of cards that are moved trough workflow states on a board, very much like in Scrum. Your work in progress is limited by workflow state which means you agree on how many tasks can be in WIP at any one time. In Kanban there are no sprints, instead you use the state limits to control the flow and minimalize lead time. Finally in Kanban your Backlog order is used to set priority and the engineers pull cards form the top of the Backlog when they are ready.&lt;/p&gt;&#xD;
&lt;p&gt;Kanban gives you the tools to visualize your workflow and minimize lead time and that's why we at Qbranch use it.&amp;nbsp;Read more about our reasons for using Kanban&amp;nbsp;&lt;a href="http://code.qbranch.se/archive/2009/11/Qanban-one-week-into-development"&gt;here&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;That was a very short introduction to Kanban for more information, check out this excellent&amp;nbsp;&lt;a target="_blank" href="http://blog.crisp.se/henrikkniberg/2009/04/03/1238795520000.html"&gt;guide.&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24);"&gt;Features&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;ul&gt;&#xD;
    &lt;li&gt;Creating and managing cards and phases&lt;/li&gt;&#xD;
    &lt;li&gt;User and Admin Roles (in 0.1 all users are created as Admin)&lt;/li&gt;&#xD;
    &lt;li&gt;Drag-n-drop for pulling cards through the workflow&lt;/li&gt;&#xD;
    &lt;li&gt;Change log&lt;/li&gt;&#xD;
    &lt;li&gt;Archive for finished cards&lt;/li&gt;&#xD;
    &lt;li&gt;&lt;a href="http://en.gravatar.com/"&gt;Gravatar&lt;/a&gt; integration for user portraits&lt;/li&gt;&#xD;
    &lt;li&gt;Rearrangement of phases&lt;/li&gt;&#xD;
    &lt;li&gt;Standalone mode&lt;/li&gt;&#xD;
    &lt;li&gt;Autorefresh&lt;/li&gt;&#xD;
    &lt;li&gt;Offline/session timeout warning&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;It's early days for Qanban but the featureset is broad enough that we hope for some external usage. Most basic features are there, what we miss are things like statistics, user management and an option if you'd like to have hard or soft rules (currently they are hard). We'd love to hear from you about how you use Kanban!&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;h2&gt;&#xD;
&lt;meta charset="utf-8"&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;Running Qanban Standalone&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;/meta&gt;&#xD;
&lt;/h2&gt;&#xD;
&lt;p&gt;The only thing you need to run Qanban is &lt;a href="http://java.com/en/"&gt;Java 1.6&lt;/a&gt;. Run the command below on the commandline and point your browser to&amp;nbsp;&lt;a href="http://localhost:8080/"&gt;http://localhost:8080/&lt;/a&gt;&amp;nbsp;and you should be greeted by a login screen. After that you'll have to create a user and then you're good to go.&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8"&gt;&lt;pre&gt;java -Xmx512m -jar qanban-0.1.war&lt;/pre&gt;      &lt;/meta&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8"&gt;Running Qanban standalone&amp;nbsp;creates files for the database and log in the folder where you ran the command.      &lt;/meta&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8"&gt;      &lt;/meta&gt;&#xD;
&lt;/p&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;How does it work?&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;We use an embedded &lt;a href="http://www.mortbay.org/jetty/"&gt;Jetty&lt;/a&gt; and &lt;a href="http://hsqldb.org/"&gt;HSQLDB&lt;/a&gt; to get the standalone version working. It's recommended to give the JVM at least 512mb of ram, &lt;a href="http://grails.org"&gt;Grails&lt;/a&gt; is hungry. Ofcourse &lt;a href="http://bit.ly/5FCEVu"&gt;qanban-0.1.war&lt;/a&gt; is a normal war file and you can use it with your servlet container of choice as you would with any war.&lt;/p&gt;&#xD;
&lt;div style="text-align: left;"&gt;&#xD;
&lt;meta charset="utf-8"&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24);"&gt;Open Source&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;Qanban has been open from the get go but a while back we got round to adding the license terms (&lt;a href="http://www.apache.org/licenses/LICENSE-2.0.html"&gt;Apache V2&lt;/a&gt;). Feel free to browse the sourcecode and file bugs on our&amp;nbsp;&lt;a href="http://github.com/qbranchcode/Qanban/"&gt;github repo&lt;/a&gt;. In closing, thanks to Mattias and Patrik for doing a great job.&lt;/p&gt;&#xD;
&lt;p&gt;Download: &lt;a href="http://bit.ly/5FCEVu"&gt;qanban-0.1.war&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center; "&gt;&lt;a href="/uploads/Image/qanban-0.1-big.png"&gt;&lt;img width="500" height="334" alt="" src="/uploads/Image/qanban-0.1-small(1).png" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;/meta&gt;&#xD;
&lt;/div&gt;</content:encoded>
      <pubDate>Fri, 18 Dec 2009 15:19:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2009/12/Qanban-01-Released</guid>
      <dc:creator>Leonard Axelsson</dc:creator>
      <dc:date>2009-12-18T15:19:00Z</dc:date>
    </item>
    <item>
      <title>SweGUG 26th of November - Recapped!</title>
      <link>http://code.qbranch.se/archive/2009/12/SweGUG-26th-of-November---Recapped</link>
      <content:encoded>&lt;div&gt;In my humble opinion the meeting last week was a great success. G&amp;ouml;ran and Hjalmar did a great job with their presentations and the attendee number went from 8 to 15, lots of good discussions too. It feels like we&amp;rsquo;ve reached some kind of take-off stage and I&amp;rsquo;m really looking forward to the meetings to come.&lt;/div&gt;&#xD;
&lt;div&gt;We&amp;rsquo;re keeping an eye out for interesting presentations, give us a shout on swegug [at] gmail [dot] com if you&amp;rsquo;re interested in speaking!&lt;/div&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24);"&gt;Presentations&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;h3&gt;&lt;span style="color: rgb(227, 40, 24);"&gt;Working with Excel the easy way&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;div&gt;G&amp;ouml;ran Ehrsson talked about the creation and inner workings of a dirt-simple DSL for importing Excel data, something he&amp;rsquo;s had to do many times over for his clients. I highly recommend &lt;a href="http://www.technipelago.se/blog/?p=44"&gt;checking out the code&lt;/a&gt;, it&amp;rsquo;s a great demo of a real use case for Groovy DSLs.&lt;/div&gt;&#xD;
&lt;div&gt;&lt;pre&gt;// Possible scenario when using the builder in a Grails app&#xD;
new ExcelBuilder("customers.xls").eachLine([labels:true]) {&#xD;
  new Person(name:fullname,&#xD;
    address:address, telephone:phone).save()&#xD;
}&#xD;
&lt;/pre&gt;&lt;/div&gt;&#xD;
&lt;h3&gt;&lt;span style="color: rgb(227, 40, 24);"&gt;FSM for text parsing in Groovy&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;div&gt;Hjalmar Ekengren showed how to create a Finitie State Machine for parsing text files in groovy and explained when and how it might be useful to implement your own FSM instead of importing Lex. You find the &lt;a href="http://groups.google.com/group/swegug/browse_thread/thread/3e842d8b75dcf7fe"&gt;code&lt;/a&gt; on our google group.&lt;/div&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24);"&gt;#3 in sight&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;div style="text-align: left;"&gt;In other words, we&amp;rsquo;re getting ready for our third meeting sometime in the beginning of 2010. We haven&amp;rsquo;t decided the focus yet but one thing we&amp;rsquo;ve discussed is the possibility of doing a workshop/hackathlon-style day focusing on Grails Plugin Development, something many of our atteendes were interested in. Keep an eye out for more information here on the blog and on our list.&lt;/div&gt;&#xD;
&lt;div style="text-align: left;"&gt;&#xD;
&lt;meta charset="utf-8"&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24);"&gt;Photos&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;p&gt;Thanks to Johan Moberg for taking pictures during the meeting.&lt;/p&gt;&#xD;
&lt;/meta&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;div style="text-align: center;"&gt;&lt;img height="333" width="500" alt="" src="/uploads/Image/4136361501_1788c5be65.jpg" /&gt;&lt;/div&gt;&#xD;
&lt;div style="text-align: center;"&gt;&lt;img height="333" width="500" alt="" src="/uploads/Image/4137132460_2e9f9d5a5b.jpg" /&gt;&lt;/div&gt;</content:encoded>
      <pubDate>Wed, 02 Dec 2009 14:59:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2009/12/SweGUG-26th-of-November---Recapped</guid>
      <dc:creator>Leonard Axelsson</dc:creator>
      <dc:date>2009-12-02T14:59:00Z</dc:date>
    </item>
    <item>
      <title>Four weeks of QANBAN</title>
      <link>http://code.qbranch.se/archive/2009/11/Four-weeks-of-QANBAN</link>
      <content:encoded>&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;In the mirror&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;div&gt;We&amp;rsquo;re heading into the fifth week of development and if all goes well we&amp;rsquo;ll start using &lt;a href="http://github.com/qbranchcode/Qanban/"&gt;QANBAN&lt;/a&gt; internally next week. Things have gone smoothly most of the time, got stuck on a couple of features and spent a lot more time than expected on UI/AJAX (github &lt;a href="http://github.com/qbranchcode/Qanban/graphs/languages"&gt;claims&lt;/a&gt; our project is a JavaScript project).&lt;/div&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;New Features&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;h3&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;Workflow when moving a card&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;div&gt;One of the new features since the last report is a workflow where you get a dialog when moving a card to a new phase. You can change assignee or verify that you wanna be set as assignee for the card (by hitting enter or Ok). The assignee shows in the dialog as a profile picture from &lt;a href="http://en.gravatar.com/"&gt;Gravatar&lt;/a&gt;. We&amp;rsquo;re planning to add commenting to this dialog as well.&lt;/div&gt;&#xD;
&lt;div style="text-align: center; "&gt;&lt;a href="/uploads/File/movecard-big.png"&gt;&lt;img width="400" height="290" alt="" src="/uploads/Image/movecard-small.png" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="text-align: center; "&gt;Move card&lt;/div&gt;&#xD;
&lt;div&gt;&lt;img width="0" height="0" alt="" src="/uploads/Image/movecard-small.png" /&gt;&lt;/div&gt;&#xD;
&lt;h3&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;Split into user &amp;amp; admin actions&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;div&gt;As it stands right now you need the admin role to do the following:&lt;/div&gt;&#xD;
&lt;ul&gt;&#xD;
    &lt;li&gt;Add cards&lt;/li&gt;&#xD;
    &lt;li&gt;Add Phases&lt;/li&gt;&#xD;
    &lt;li&gt;Modify a phase&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;Add Cards is something I see the &amp;quot;users&amp;quot; doing at some companies, but in that case maybe all of them should be admins? This might be configurable if the need arises.&lt;/div&gt;&#xD;
&lt;h3&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;Hard rules&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;div&gt;When digitalizing a business process there is two extremes when it comes to how you implement business rules. At one end all rules are set in stone and tool enforce them to 100%, at the other end you can do whatever you like and are expected to know how to use the process. When designing QANBAN we took a road that leans towards the &amp;ldquo;set in stone&amp;rdquo;-direction, something I&amp;rsquo;ve come to question the last couple of days. In practice it means that you can only move cards forward, not backward and you can&amp;rsquo;t pull a card into a phase where the limit is reached. I did a presentation on Kanban last friday (at FindOut Technologies) and one of the things we discussed was that it would probably be more useful to clearly mark a phase where the limit has been reached, but allow it the move itself. If you have any thoughts about the implementation of rules I&amp;rsquo;d appreciate comments and/or emails (@ leonard dot axelsson at qbranch dot se).&lt;/div&gt;&#xD;
&lt;h3&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;Tracking changes&lt;/span&gt;&lt;/h3&gt;&#xD;
&lt;div&gt;We spent a lot of time discussing how to implement change tracking in a way that allows for good analysis later. We've choosen to implement changes as change events (see: &lt;a href="http://martinfowler.com/eaaDev/EventSourcing.html"&gt;Event Sourcing&lt;/a&gt;) which means that we keep a record of all changes (roughly like a VCS do with diffs). In the long term that means we should be able to implement good workflow analysis and even playback functionality so that you could see the history of the application played out before your eyes. Right now only card moves are tracked.&lt;/div&gt;&#xD;
&lt;div style="text-align: center; "&gt;&lt;a href="/uploads/File/showcard-big.png"&gt;&lt;img width="400" height="283" alt="" src="/uploads/Image/showcard-small.png" /&gt;&lt;/a&gt;&lt;/div&gt;&#xD;
&lt;div style="text-align: center; "&gt;Changelog&lt;/div&gt;&#xD;
&lt;h2&gt;&lt;span style="color: rgb(227, 40, 24); "&gt;Live for internal usage next week&lt;/span&gt;&lt;/h2&gt;&#xD;
&lt;div&gt;Integrating with Active Directory is really important for our internal usage and that is what our developers will be focusing on this week. As long as we get that feature down we&amp;rsquo;ll start using it instead of our analog Kanban wall. Other than that they&amp;rsquo;ll be adding small things such as:&lt;/div&gt;&#xD;
&lt;ul&gt;&#xD;
    &lt;li&gt;editing cards&lt;/li&gt;&#xD;
    &lt;li&gt;changing the order of phases&lt;/li&gt;&#xD;
    &lt;li&gt;restyling of cards with description visible on the board&lt;/li&gt;&#xD;
    &lt;li&gt;clear indication of the logged in users cards&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;&#xD;
&lt;div&gt;We're getting closer and closer to a usable product and would appreciate your suggestions and feedback. Send me an email (leonard dot axelsson at qbranch dot se) if you're interested in testing it and I'll see about packaging an alpha-version.&lt;/div&gt;&#xD;
&lt;p&gt;&#xD;
&lt;meta charset="utf-8" /&gt;&lt;/p&gt;</content:encoded>
      <pubDate>Mon, 23 Nov 2009 19:25:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2009/11/Four-weeks-of-QANBAN</guid>
      <dc:creator>Leonard Axelsson</dc:creator>
      <dc:date>2009-11-23T19:25:00Z</dc:date>
    </item>
    <item>
      <title>Inbjudan till SweGUG den 26:e november</title>
      <link>http://code.qbranch.se/archive/2009/11/Inbjudan-till-SweGUG-den-26e-november</link>
      <content:encoded>&lt;p&gt;Nu &amp;auml;r det dags igen! Vi tr&amp;auml;ffas p&amp;aring; Primusgatan 18 n&amp;auml;sta torsdag (26:e november) f&amp;ouml;r att snacka utveckling, knyta kontakter och l&amp;auml;ra oss mer om DSL:er och textparsning i Groovy.&lt;/p&gt;&#xD;
&lt;p&gt;Mer information hittar du p&amp;aring; v&amp;aring;r &lt;a href="http://bit.ly/3Ko7GP"&gt;google grupp&lt;/a&gt;.&lt;/p&gt;</content:encoded>
      <pubDate>Wed, 18 Nov 2009 13:20:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2009/11/Inbjudan-till-SweGUG-den-26e-november</guid>
      <dc:creator>Leonard Axelsson</dc:creator>
      <dc:date>2009-11-18T13:20:00Z</dc:date>
    </item>
    <item>
      <title>A few new features in the next release of DSCT</title>
      <link>http://code.qbranch.se/archive/2009/11/A-few-new-features-in-the-next-release-of-DSCT</link>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Treeview&lt;br /&gt;
&lt;/strong&gt;DSCT displays added/modified/deleted objects in a familiar tree structure. Objects are color coded depending on the type of operation (the color part still needs some work, my respect to anyone who designs GUIs for a living)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Differences in the membership of a group&lt;br /&gt;
&lt;/strong&gt;DSCT can now show you which objects were added and removed from a group since the snapshot was taken. The selected group in the screenshot has over 11000 members but only the changes are displayed.&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;div class="wp-caption aligncenter" style="width: 393px"&gt;&lt;a href="http://lindstrom.nullsession.com/images/dsct2/dsct2.jpg"&gt;&lt;img title="New features in DSCT 2" src="http://lindstrom.nullsession.com/images/dsct2/dsct2_thumb.jpg" alt="New features in DSCT 2" width="383" height="215" /&gt;&lt;/a&gt;&lt;p class="wp-caption-text"&gt;New features in DSCT 2&lt;/p&gt;&lt;/div&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Performance &amp;#38; scalability&lt;/strong&gt;&lt;br /&gt;
Early tests have shown that the new version of DSCT works on Active Directories and snapshots containing ~600k objects, older versions of DSCT will flake out well before 100k objects due to limitations within System.DirectoryServices. The majority of DSCT has been rewritten to make use of System.DirectoryServices.Protocols instead. As an added bonus performance has improved dramatically in certain scenarios.&lt;/p&gt;</content:encoded>
      <pubDate>Mon, 16 Nov 2009 23:54:52 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2009/11/A-few-new-features-in-the-next-release-of-DSCT</guid>
      <dc:creator>Fredrik Lindström</dc:creator>
      <dc:date>2009-11-16T23:54:52Z</dc:date>
    </item>
    <item>
      <title>S.DS.P, DirSync &amp; IncrementalValues</title>
      <link>http://code.qbranch.se/archive/2009/11/SDSP-DirSync--IncrementalValues</link>
      <content:encoded>&lt;p&gt;The ability to query Active Directory for changes within multi value attributes was introduced with Windows Server 2003. Before that all the values for a multi-value attribute were returned, even if only one row out of thousands had been modified.&lt;/p&gt;
&lt;p&gt;My scenario was the ability to see which objects had been added or removed from the membership of a group, in this case very large groups containing thousands of members. Using System.DirectoryServices.Protocols (S.DS.P) we can achieve this behaviour by passing DirectorySynchronizationOptions.IncrementalValues to our DirSyncRequestControl.&lt;/p&gt;
&lt;p&gt;Once you have your initial DirSync cookie only the changes made to the membership of the group will be returned instead of the entire member attribute. The SearchResultEntry representing the group will contain two DirectoryAttributes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The DirectoryAttribute &amp;#8220;member;range=0-0&amp;#8243; contains all delete operations&lt;/li&gt;
&lt;li&gt;The DirectoryAttribute &amp;#8220;member;range=1-1&amp;#8243; contains all add operations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now we know which member was affected and what type of operation it was enabling us to write some neat code to act upon these changes.&lt;/p&gt;</content:encoded>
      <pubDate>Sat, 14 Nov 2009 16:28:46 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2009/11/SDSP-DirSync--IncrementalValues</guid>
      <dc:creator>Fredrik Lindström</dc:creator>
      <dc:date>2009-11-14T16:28:46Z</dc:date>
    </item>
    <item>
      <title>Data Detective</title>
      <link>http://code.qbranch.se/archive/2009/11/Data-Detective</link>
      <content:encoded>&lt;p&gt;When implementing ILM, you are often challenged with finding information in gooey databases of varying quality. Worst case scenarios include thousands of tables with creative names that not even in the slightest way imply what they may (or may not) contain. Since the SQL-Manager does not support free text search we had to take matters in our own hands. Thanks to our SQL-ninja colleague P&amp;aring;l Edman we got started on developing our own tool for this cause. We started out with a couple of methods and some unit tests which eventually resulted in a serious amount of code that could perform the tasks we wanted it to. After some testing we got self impressed by the performance qualities of our code - it managed to search through 1700 tables within 4 minutes!&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-align: center"&gt;&lt;img alt="" align="bottom" width="460" height="293" src="/uploads/Image/dd.PNG" /&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center"&gt;&lt;span style="font-size: smaller"&gt;&lt;em&gt;the DataDetective in action&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center"&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;The next step was to wrap it all up with a GUI. Although none of us had worked with WPF before this came as an opportunity to try it out and we decided to explore its possibilities for our application. The result was astonishing! Thanks to the BackgroundWorker class avaliable in .Net we managed to&amp;nbsp; scramble together an awesome progressbar, an ETA and an indicator which very pedagogically indicates whether there is time to get a cup of coffee or not. Apart from these vital features it also keeps the application to automatically run a set of threads which prevents it from tangeling itself up when querying the database. Also it lets the user cancel an ongoing search. To prevent us from being sued by multinational companies holding the right for the theme song from &amp;quot;Inspector Gadget&amp;quot; we won&amp;acute;t mention that the song is played as a search is performed. As for now the DataDetective only works with MS SQL.&lt;/p&gt;&#xD;
&lt;p&gt;//Daniel&amp;nbsp;Sundqvist and Olga Stern&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content:encoded>
      <pubDate>Thu, 12 Nov 2009 09:54:00 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2009/11/Data-Detective</guid>
      <dc:creator>Daniel Sundqvist</dc:creator>
      <dc:date>2009-11-12T09:54:00Z</dc:date>
    </item>
    <item>
      <title>Joachim vs Joachim</title>
      <link>http://code.qbranch.se/archive/2009/11/Joachim-vs-Joachim</link>
      <content:encoded>&lt;p&gt;Two of my best friends, &lt;a href="http://www.nullsession.com/2009/11/11/today-was-a-good-day/"&gt;Joachim Nässlander&lt;/a&gt; of Knowledge Factory and fellow Qbrancher Joachim Sörensen, are nominated for&lt;a href="http://it24.idg.se/2.2275/1.268721/har-ar-finalisterna-till-it-business-awards"&gt; IT Consultant of the year&lt;/a&gt; here in Sweden. There are three finalists in total so I have a two in three chance of getting treated to lots of free beer (I did not in any way invent that tradition while writing this congratulatory post).&lt;/p&gt;</content:encoded>
      <pubDate>Wed, 11 Nov 2009 18:14:35 GMT</pubDate>
      <guid>http://code.qbranch.se/archive/2009/11/Joachim-vs-Joachim</guid>
      <dc:creator>Fredrik Lindström</dc:creator>
      <dc:date>2009-11-11T18:14:35Z</dc:date>
    </item>
  </channel>
</rss>

