Code Mansion
Developer in the house...
Google releases Closure Tools
Google just released it's own developer tools as open source,
with which eg. Gmail, Google Maps, Google Docs are build.

Go to http://code.google.com/closure/.


Download the code with a Subversion client like RapidSVN.

Start RapidSVN and follow the next steps.

1. Go to menu 'Bookmarks',
choose 'Add Existing Repository...'
in the 'Repository URL'-window enter as 'URL' http://closure-library.googlecode.com/svn/trunk.
These steps result in the following picture



2. Select the newly created bookmark,
choose menu 'Repository',
and click 'Checkout'.
Specify a 'Destination Directory' in the 'Checkout'-window,
eg. C:\_\closure-library-read-only



In the end you'll find all the files in the given folder.

Now start with the Getting Started with the Closure Library.

What are u waiting for?
Trying Windows Live Writer

Playing with all kinds of free and/or open source platforms like eg. AtomSite
for a social webproject we have in mind.

Conclusion: Windows Live Writer goes together with my .blogspot-website.

Conditionally set an xsl:variable
How to select content out of the current XML-payload
into an <xsl:variable />, based on some condition(s).

The input-XML looks like this:

<data>
  <item value="Foo" type="10" />
  <item value="Bar" type="10" />
  <item value="ALFKI" type="20" />
  <item value="Baz" type="10" />
</data>

Depending on the parameter 'condition' of the following template,
a different query is executed and it's results are stored in variable 'selection'.

<xsl:template name="makeASelection">
  <xsl:param name="condition" />

  <xsl:variable name="selection">
  <xsl:choose>
    <xsl:when test="$condition = 0">
    <xsl:copy-of select="/data/item[@type = 10][position() = 1]" />
    </xsl:when>
    <xsl:otherwise>
    <xsl:copy-of select="/data/item[@type = 20]" />
    </xsl:otherwise>
  </xsl:choose>
  </xsl:variable>

  <xsl:variable name="selectionSet" select="msxsl:node-set($selection)" />

  <xsl:foreach select="$selectionSet/*">
    ...
  </xsl:foreach>

</xsl:template>


The take-away is to
1. put content in the variable ('selection') using <xsl:copy-of ... />
2. use msxsl:node-set to address the content in this variable
3. use /* when iterating over the nodeset-variable

Labels:

Visual Studio 6 and the TFS MSSCCI Provider
Don't install the Visual Studio Team System 2008 Team Foundation Server MSSCCI Provider if your still need access to Source Safe.
After installation all Source Safe integration within Visual Studio 6.0 is gone.

The only remedy is to uninstall the MSSCCI Provider and reinstall Source Safe VS6 integration.

I learned it the hard way...
The Thoughest Developer Puzzle Ever
Finally I am at #14! And U?

the thoughest deverloper puzzle ever
My (old) Car on Bing Maps
See my old car on the parking lot at work on Bing Maps.

BingTones
Microsoft has released 3 Bing-branded ringtones.
Download them here.
Good at IT and it'
The Sun has published an anonymous study of 2,000 British men and women's sex lives. They have concluded that out of all jobs, we computer geeks make the best lovers!
(read more)
Hidden XSLT-editor features in Visual Studio 2008
Debug <xsl:include>-d and <xsl:import>-ed stylesheets

Create a new registry-key 'XsltImportTree' under 'HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\XmlEditor' with value 'True'.
(read more)



Intellisense of template names, parameter/variable names, attribute set names, etc.

Create a registry-key 'XsltIntellisense' under 'HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\XmlEditor' with value 'True'.
(read more)
R.I.P.
After 11 years of duty,
at the age of 19 years ...
:'-(

R.I.P.
And I already did like StarWars
Got Too Much Time on Your Hands?
nexpert
A Fiddler Performance Analysis plugin. Get it here.
WTF: ASP.NET Tracing
What The F*ck!

Using the Microsoft.VisualBasic.Logging.FileLogTraceListener for tracing within my (C#) ASP.NET website only succeeds if a folder 'C:\Documents and Settings\Default User\Application Data\Microsoft Corporation\Internet Information Services\6.0.3790.1830' is present (read: on my webserver). For some reason the specified path, wherever it comes from (?), is used as a temporary location, even if the actual location is configured to be elsewhere.

Eg.:

<listeners>
<add name="MyTraceListener"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Location="Custom"
CustomLocation="c:\temp"
LogFileCreationSchedule="Daily"
BaseFileName="ArtImageProcessorJob"
traceOutputOptions="DateTime"
/>
</listeners>