<?xml version="1.0" encoding="utf-8"?>
<!-- generator="wordpress/2.0.4" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>mBlog - a point in M-space</title>
	<link>http://blog.swidzinski.com</link>
	<description>Purveyor of fine irrelevance</description>
	<pubDate>Sun, 25 Jan 2009 13:40:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.4</generator>
	<language>en</language>
			<item>
		<title>Protected: Heresy listening tip</title>
		<link>http://blog.swidzinski.com/2008/01/11/heresy-listening-tip.html</link>
		<comments>http://blog.swidzinski.com/2008/01/11/heresy-listening-tip.html#comments</comments>
		<pubDate>Fri, 11 Jan 2008 14:29:24 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>Music</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2008/01/11/heresy-listening-tip.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2008/01/11/heresy-listening-tip.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Protected: What&#8217;s in the box?</title>
		<link>http://blog.swidzinski.com/2007/12/09/whats-in-the-box.html</link>
		<comments>http://blog.swidzinski.com/2007/12/09/whats-in-the-box.html#comments</comments>
		<pubDate>Sun, 09 Dec 2007 18:12:18 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>Food</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/12/09/whats-in-the-box.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/12/09/whats-in-the-box.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Protected: 6th sense authors</title>
		<link>http://blog.swidzinski.com/2007/11/22/6th-sense-authors.html</link>
		<comments>http://blog.swidzinski.com/2007/11/22/6th-sense-authors.html#comments</comments>
		<pubDate>Thu, 22 Nov 2007 15:08:26 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>Polish</category>
	<category>plagiarism</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/11/22/6th-sense-authors.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/11/22/6th-sense-authors.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Protected: Soccer field on Hauptmarkt?</title>
		<link>http://blog.swidzinski.com/2007/11/20/soccer-field-on-hauptmarkt.html</link>
		<comments>http://blog.swidzinski.com/2007/11/20/soccer-field-on-hauptmarkt.html#comments</comments>
		<pubDate>Tue, 20 Nov 2007 15:23:26 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>General</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/11/20/soccer-field-on-hauptmarkt.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/11/20/soccer-field-on-hauptmarkt.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Protected: The Ultimate Space Ambient, ever</title>
		<link>http://blog.swidzinski.com/2007/11/09/the-ultimate-space-ambient-ever.html</link>
		<comments>http://blog.swidzinski.com/2007/11/09/the-ultimate-space-ambient-ever.html#comments</comments>
		<pubDate>Fri, 09 Nov 2007 14:25:56 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>Music</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/11/09/the-ultimate-space-ambient-ever.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/11/09/the-ultimate-space-ambient-ever.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Protected: Angel. Not quite happy.</title>
		<link>http://blog.swidzinski.com/2007/10/26/angel-not-quite-happy.html</link>
		<comments>http://blog.swidzinski.com/2007/10/26/angel-not-quite-happy.html#comments</comments>
		<pubDate>Fri, 26 Oct 2007 18:28:54 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>General</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/10/26/angel-not-quite-happy.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/10/26/angel-not-quite-happy.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Protected: Fellow left-handers, go and sue!</title>
		<link>http://blog.swidzinski.com/2007/10/12/fellow-left-handers-go-and-sue.html</link>
		<comments>http://blog.swidzinski.com/2007/10/12/fellow-left-handers-go-and-sue.html#comments</comments>
		<pubDate>Fri, 12 Oct 2007 11:28:45 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>General</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/10/12/fellow-left-handers-go-and-sue.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/10/12/fellow-left-handers-go-and-sue.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Protected: How much air do you buy?</title>
		<link>http://blog.swidzinski.com/2007/09/27/how-much-air-do-you-buy.html</link>
		<comments>http://blog.swidzinski.com/2007/09/27/how-much-air-do-you-buy.html#comments</comments>
		<pubDate>Thu, 27 Sep 2007 10:48:16 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>Food</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/09/27/how-much-air-do-you-buy.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/09/27/how-much-air-do-you-buy.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Aren&#8217;t ClearCase triggers kind of broken???</title>
		<link>http://blog.swidzinski.com/2007/09/27/arent-clearcase-triggers-kind-of-broken.html</link>
		<comments>http://blog.swidzinski.com/2007/09/27/arent-clearcase-triggers-kind-of-broken.html#comments</comments>
		<pubDate>Thu, 27 Sep 2007 09:17:21 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>Tech</category>
	<category>clearcase</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/09/27/arent-clearcase-triggers-kind-of-broken.html</guid>
		<description><![CDATA[ClearCase triggers are supposed to force the users to follow the policy. They need to be laying at some tamper-proof location, so that nobody tries to short-circuit them. Right? Sort of&#8230;
A small exercise. 
Let&#8217;s first make an unfriendly trigger.

print "Sorry, this trigger is always false!n";
exit 1;

We&#8217;ll make it a pre-checkout trigger.
Try it:

Works as expected.
Now, I [...]]]></description>
			<content:encoded><![CDATA[<p>ClearCase triggers are supposed to force the users to follow the policy. They need to be laying at some tamper-proof location, so that nobody tries to short-circuit them. Right? Sort of&#8230;</p>
<p>A small exercise. </p>
<p>Let&#8217;s first make an unfriendly trigger.</p>
<pre style="padding 10px; font-size: 9px; background: #ffffb3; margin: 10px; color: blue; border: blue 1px solid">
print "Sorry, this trigger is always false!n";
exit 1;
</pre>
<p>We&#8217;ll make it a pre-checkout trigger.<br />
Try it:</p>
<p><img src="/images/trig_no.png" alt="always-false trigger" /></p>
<p>Works as expected.<br />
Now, I can&#8217;t modify the trigger (tamper-proof, remember :-D), why not wrap around ccperl.exe? Sorry for not doing things elegantly, it&#8217;s just an example:</p>
<pre style="padding 10px; font-size: 9px; background: #ffffb3; margin: 10px; color: blue; border: blue 1px solid">
/*******************************************************************************
 *                                                                             *
 * This thing does almost nothing. If it's not called as a trigger it just     *
 * calls ccperl2.exe with the same arguments. If it's called as a trigger. it  *
 * returns true                                                                *
 *                                                                             *
 *******************************************************************************/

#include &lt;process.h&gt;
#include &lt;string&gt;
#include &lt;stdlib.h&gt;
#include &lt;iostream&gt;

using namespace std;

int main(int argc, char *argv[])
{
    string perlcall("C:\Progra~1\Rational\ClearCase\bin\ccperl2.exe");

    // pass all arguments to the script
    for (int i = 1; i < argc; i++)
    {
        perlcall+=" ";

        // Put back quotes...
        if (string(argv[i]).find(" ",0))
            perlcall+="\""+string(argv[i])+"\"";
        else
            perlcall+=argv[i];
    }

    int retVal= system(perlcall.c_str());
    if (getenv("CLEARCASE_TRTYPE_KIND") != NULL)
    {
        cout << "Well, now it's always true!!!" << endl;
        return 0;
    }
    else
    {
        return retVal;
    }
}
</pre>
<p>Of course, I could just have it return 0 without executing the trigger, but then, the screenshot below would be less self-explanatory ;-). So now, let&#8217;s rename <em>ccperl.exe</em> to <em>ccperl2.exe</em>, and use our fabricated <em>ccperl.exe</em> instead. Let&#8217;s see how it works.<br />
<img src="/images/trig_yes.png" alt="override always-false trigger" /></p>
<p>And that&#8217;s it.</p>
<p>Sure that&#8217;s just one more thing to remember - don&#8217;t give users the rights to modify ClearCase bin directory. But if triggers are supposed to force user to do something, why is there&#8217;s no checking, whether <em>ccperl.exe</em> is really <em>ccperl.exe</em> and not some kind of a lousy wrapper?</pre>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/09/27/arent-clearcase-triggers-kind-of-broken.html/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Protected: World&#8217;s most expensive pot</title>
		<link>http://blog.swidzinski.com/2007/08/01/worlds-most-expensive-pot.html</link>
		<comments>http://blog.swidzinski.com/2007/08/01/worlds-most-expensive-pot.html#comments</comments>
		<pubDate>Wed, 01 Aug 2007 12:25:41 +0000</pubDate>
		<dc:creator>Mikolaj</dc:creator>
		
	<category>Food</category>
	<category>plagiarism</category>
		<guid isPermaLink="false">http://blog.swidzinski.com/2007/08/01/worlds-most-expensive-pot.html</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.swidzinski.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password: <input name="post_password" type="password" size="20" /></label> <input type="submit" name="Submit" value="Submit" /></p>
</form>
]]></content:encoded>
			<wfw:commentRSS>http://blog.swidzinski.com/2007/08/01/worlds-most-expensive-pot.html/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>

