<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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>Viraptor's dev-log</title>
	<link>http://www.viraptor.info</link>
	<description>Your mind-fluffer hopefully</description>
	<pubDate>Sun, 16 Dec 2007 20:17:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Gtk# animation</title>
		<link>http://www.viraptor.info/archives/29</link>
		<comments>http://www.viraptor.info/archives/29#comments</comments>
		<pubDate>Sun, 16 Dec 2007 20:12:33 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[mono]]></category>

		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/29</guid>
		<description><![CDATA[Information for anyone, who is looking for solution to not-refreshing DrawingArea on google and is finding only questions about it :)
You shouldn&#8217;t touch DrawingArea from anything else than original gtk/glib thread. That means doing:
drawingArea.QueueDraw();
// or
drawingArea.GdkWindow.ProcessUpdates(...);
// and others
from System.Threading.Timer callback won&#8217;t do any good. Window may start updating in the first case after resizing of the [...]]]></description>
			<content:encoded><![CDATA[<p>Information for anyone, who is looking for solution to not-refreshing DrawingArea on google and is finding only questions about it :)</p>
<p>You shouldn&#8217;t touch DrawingArea from anything else than original gtk/glib thread. That means doing:</p>
<pre>drawingArea.QueueDraw();
// or
drawingArea.GdkWindow.ProcessUpdates(...);
// and others</pre>
<p>from System.Threading.Timer callback won&#8217;t do any good. Window may start updating in the first case after resizing of the window, and update only while resizing in second case, but that&#8217;s probably undefined random behaviour. Proper way to handle refreshing (as far as information from different mailing lists put together suggest) is:</p>
<pre>uint animationTimer = GLib.Timeout.Add(
	milisecs,
	new GLib.TimeoutHandler(onAnimationTimer));
...
bool onAnimationTimer() {
  drawingArea.QueueDraw();
  return true;
}</pre>
<p>Hope that helps if you were trying to achieve animation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/29/feed</wfw:commentRss>
		</item>
		<item>
		<title>So long, and thanks for all the emails</title>
		<link>http://www.viraptor.info/archives/28</link>
		<comments>http://www.viraptor.info/archives/28#comments</comments>
		<pubDate>Sat, 15 Sep 2007 23:58:02 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[fun]]></category>

		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/28</guid>
		<description><![CDATA[Message to all the people, who protected their email by changing &#8220;@&#8221; to AT and &#8220;.&#8221; to DOT. Thank you for making it easier to find.
Typically large number of emails are hard to find through google / other search engines. Thanks to email &#8220;protection&#8221; it&#8217;s just fun now. Why? Searching for &#8220;@gmail.com&#8221; on google will [...]]]></description>
			<content:encoded><![CDATA[<p>Message to all the people, who protected their email by changing &#8220;@&#8221; to AT and &#8220;.&#8221; to DOT. Thank you for making it <strong>easier</strong> to find.</p>
<p>Typically large number of emails are hard to find through <strong>google</strong> / other search engines. Thanks to email <strong>&#8220;protection&#8221;</strong> it&#8217;s just fun now. Why? Searching for &#8220;@gmail.com&#8221; on google will be probably the same as searching for &#8220;gmail com&#8221;, because special characters are stripped. You would expect to get many pages containing gmail addresses, but instead you get lots of pages talking about gmail.</p>
<p>Now that you&#8217;ve protected your email and it looks like &#8220;abcd AT example DOT com&#8221;, I can just google &#8220;at example dot com&#8221; and get your <strong>precious address</strong>. It&#8217;s great, because I&#8217;m sure it&#8217;s <strong>not a trap</strong> - why would you protect a trap address? Posting &#8220;abcd-(At]-example={doT)com&#8221; won&#8217;t help you either, as google ignores special characters - remember?</p>
<p>Now some stats from google:</p>
<ul>
<li><strong>2,100,000</strong> for &#8220;at gmail dot com&#8221;</li>
<li><strong>2,650,000</strong> for &#8220;at gmail com&#8221; (thanks to pipermail!)</li>
<li><strong>85,900</strong> for +at &#8220;no spam&#8221; &#8220;dot com&#8221; and <strong>255,000</strong> for +at nospam &#8220;dot com&#8221; (you&#8217;d like to hide - wouldn&#8217;t you?)</li>
</ul>
<p>These numbers are not very accurate of course. Some addresses will be duplicated across many pages and some pages will have multiple addresses included. Anyways - these are big numbers.</p>
<p>All modifications are of course easy to cancel - change at to &#8220;@&#8221;, dot to &#8220;.&#8221;, delete &#8220;no spam&#8221;, or &#8220;cut&#8221; written in any possible way, delete spaces and you&#8217;ve got a great email for spamming. Next time you try to protect your address (or even worse - my address) - please <strong>think</strong> what you&#8217;re doing. <strong>Thanks</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/28/feed</wfw:commentRss>
		</item>
		<item>
		<title>Mono-1.2.4 in feisty</title>
		<link>http://www.viraptor.info/archives/27</link>
		<comments>http://www.viraptor.info/archives/27#comments</comments>
		<pubDate>Mon, 28 May 2007 21:24:45 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[mono]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/27</guid>
		<description><![CDATA[Repo at www.viraptor.info/repo has been updated with backport of libgdiplus and mono-1.2.4 from gusty.
Enjoy!
]]></description>
			<content:encoded><![CDATA[<p>Repo at www.viraptor.info/repo has been updated with backport of libgdiplus and mono-1.2.4 from gusty.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/27/feed</wfw:commentRss>
		</item>
		<item>
		<title>Backports repository</title>
		<link>http://www.viraptor.info/archives/26</link>
		<comments>http://www.viraptor.info/archives/26#comments</comments>
		<pubDate>Sun, 20 May 2007 09:59:00 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[mono]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/26</guid>
		<description><![CDATA[As suggested before, I&#8217;ve created an Ubuntu Feisty backport repository for mono stuff. Monodevelop &#038; deps from Gusty is already available. Line for your sources.list is:
deb http://www.viraptor.info/repo feisty-custombackports contrib
Have fun!
I hope that mono 1.2.4 will hit that repo soon also.
]]></description>
			<content:encoded><![CDATA[<p>As suggested before, I&#8217;ve created an Ubuntu Feisty backport repository for mono stuff. Monodevelop &#038; deps from Gusty is already available. Line for your sources.list is:</p>
<p><strong>deb http://www.viraptor.info/repo feisty-custombackports contrib</strong></p>
<p>Have fun!<br />
I hope that mono 1.2.4 will hit that repo soon also.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/26/feed</wfw:commentRss>
		</item>
		<item>
		<title>Correct link</title>
		<link>http://www.viraptor.info/archives/25</link>
		<comments>http://www.viraptor.info/archives/25#comments</comments>
		<pubDate>Wed, 16 May 2007 07:43:26 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/25</guid>
		<description><![CDATA[For those coming from news site -> correct link is http://www.viraptor.info/dm.php5 - not the main site :)
]]></description>
			<content:encoded><![CDATA[<p>For those coming from news site -> correct link is <a href="http://www.viraptor.info/dm.php5">http://www.viraptor.info/dm.php5</a> - not the main site :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/25/feed</wfw:commentRss>
		</item>
		<item>
		<title>Psi logs merging</title>
		<link>http://www.viraptor.info/archives/24</link>
		<comments>http://www.viraptor.info/archives/24#comments</comments>
		<pubDate>Thu, 03 May 2007 18:24:41 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[fun]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[useless]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/24</guid>
		<description><![CDATA[Did you ever change your jabber server?
Lost possibility to browse chat history?
(yes - that does sound like a bad commercial)
You can use PsiLogMerger, to resolve this. Specify translations -> for example -t msn.firsthost.com=msn.secondhost.com will update logs from secondhost only with all messages from firsthost, skipping duplicates.
Needs only ruby to run. Run with -h for usage [...]]]></description>
			<content:encoded><![CDATA[<p>Did you ever change your jabber server?<br />
Lost possibility to browse chat history?</p>
<p>(yes - that does sound like a bad commercial)</p>
<p>You can use <a title="PsiLogMerger" href="/PsiLogMerger.rb">PsiLogMerger</a>, to resolve this. Specify translations -> for example -t msn.firsthost.com=msn.secondhost.com will update logs from secondhost only with all messages from firsthost, skipping duplicates.</p>
<p>Needs only ruby to run. Run with -h for usage help. Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/24/feed</wfw:commentRss>
		</item>
		<item>
		<title>Google indexing</title>
		<link>http://www.viraptor.info/archives/23</link>
		<comments>http://www.viraptor.info/archives/23#comments</comments>
		<pubDate>Tue, 27 Feb 2007 07:31:48 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[fun]]></category>

		<category><![CDATA[useless]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/23</guid>
		<description><![CDATA[Now, that I&#8217;ve added adwords and ggl search to DailyMotion, Veoh, etc. videos browser, google stopped indexing me. Seriously, what&#8217;s wrong with them? Index me, link&#8217;s there&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Now, that I&#8217;ve added adwords and ggl search to DailyMotion, Veoh, etc. <a href="http://www.viraptor.info/dm.php">videos browser</a>, google stopped indexing me. Seriously, what&#8217;s wrong with them? Index me, link&#8217;s there&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/23/feed</wfw:commentRss>
		</item>
		<item>
		<title>Maildirs merging</title>
		<link>http://www.viraptor.info/archives/21</link>
		<comments>http://www.viraptor.info/archives/21#comments</comments>
		<pubDate>Wed, 10 Jan 2007 11:17:08 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/21</guid>
		<description><![CDATA[Lately, I&#8217;ve run into a problem after moving hosting server from one provider to another. There were some old mails in backed-up maildirs and some new mails in current maildirs. For some reason mailutil from pine package didn&#8217;t want to transfer old mails. New mails of course had to stay, and old boxes had to [...]]]></description>
			<content:encoded><![CDATA[<p>Lately, I&#8217;ve run into a problem after moving hosting server from one provider to another. There were some old mails in backed-up maildirs and some new mails in current maildirs. For some reason <em>mailutil</em> from pine package didn&#8217;t want to transfer old mails. New mails of course had to stay, and old boxes had to me merged with all attributes saved. For some other reason perl script I&#8217;ve found didn&#8217;t work also (based on <a title="CPAN Mail::Folder::Maildir" href="http://search.cpan.org/~kjohnson/MailFolder-0.07/Mail/Folder/Maildir.pm">Mail::Folder::Maildir</a>).</p>
<p>Fortunately fast simple hacked script using <a title="CPAN Mail::Box::Maildir" href="http://search.cpan.org/~markov/Mail-Box-2.069/lib/Mail/Box/Maildir.pod">Mail::Box::Maildir</a> worked with no problems. In case you&#8217;d like to do the same - run it with full path to source maildir in first arg and destination maildir in second:</p>
<blockquote>
<pre><code>#!/usr/bin/perl
use Mail::Box::Maildir;
use Mail::Box::Manager;
my $src = shift @ARGV;
my $dest = shift @ARGV;
my $mgr = new Mail::Box::Manager;

my $mb = $mgr-&gt;open(
folder =&gt; $src,
access =&gt; 'r',
type =&gt; 'Mail::Box::Maildir')
or die "error: $!";

my $nmb = $mgr-&gt;open(
folder =&gt; $dest,
access =&gt; 'rw',
create =&gt; 1,
type =&gt; 'Mail::Box::Maildir')
or die "error: $!";

$mb-&gt;copyTo($nmb, select =&gt; 'ALL',
subfolders =&gt; 'RECURSE');
$mgr-&gt;closeAllFolders();</code></pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/21/feed</wfw:commentRss>
		</item>
		<item>
		<title>C# shell</title>
		<link>http://www.viraptor.info/archives/20</link>
		<comments>http://www.viraptor.info/archives/20#comments</comments>
		<pubDate>Thu, 21 Dec 2006 01:16:05 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[fun]]></category>

		<category><![CDATA[mono]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[useless]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/20</guid>
		<description><![CDATA[C-sharp shell? Great!
Although my friend, when asked whether he would like to have a shell with bindings to Java, replied &#8220;System.out.println(&#8221;NO&#8221;);&#8221;&#8230; I was playing around with different shells. Zoidberg (perl), psh (perl), zsh (almost normal), etc.
Power shell would be nice, if it didn&#8217;t try to export objects into some strange new shell language constructs (cmdlets). [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://michael.susens-schurter.com/blog/2006/12/20/cssh-c-shell/">C-sharp shell</a>? Great!</p>
<p>Although my friend, when asked whether he would like to have a shell with bindings to Java, replied &#8220;System.out.println(&#8221;NO&#8221;);&#8221;&#8230; I was playing around with different shells. Zoidberg (perl), psh (perl), zsh (almost normal), etc.</p>
<p>Power shell would be nice, if it didn&#8217;t try to export objects into some strange new shell language constructs (cmdlets). If the thing they wanted to achieve was similarity to shell, then normal stripping of &#8220;()&#8221; and &#8220;,&#8221;, that can be deduced from context would be enough&#8230; Of course making some namespace default for searching objects (Cssh.Something), would be appropriate. &#8220;Var&#8221; keyword from C# v.3 can also come handy.<br />
I haven&#8217;t tried cssh yet, but I can&#8217;t wait to do it! Downloading as I write it.</p>
<p>Just downloaded&#8230; It&#8217;s probably NOT what you&#8217;d like to use - it&#8217;s just for files, but a good start anyway.</p>
<p><a href="http://lists.ximian.com/pipermail/mono-list/2006-June/031995.html">PowerShell port</a> was already proposed, but author doesn&#8217;t respond to emails, so project was probably dropped. Still - it&#8217;s nice to see, that some people want to get the same things I do&#8230;</p>
<p>As most people shout &#8220;Yet another shell and object one? NOOOOOOOOOO!!!!!!!&#8221; while reading this, I&#8217;ll tell what I want in a real linux object shell and why I&#8217;d like it to be there:</p>
<ol>
<li>foreach(i in Interfaces) if(!i.IsAlias) echo Format(&#8221;interface {0}: {1}&#8221;, i.Name, i.Ip);</li>
<li>echo Partitions[&#8221;/dev/hda&#8221;].Capacity</li>
<li>echo new Ping(&#8221;10.1.1.29&#8243;).GetAverage(5)</li>
<li>prcs = Processes.Get(&#8221;terminal-name&#8221;)<br />
foreach(prc in prcs) if(!Processes.Current.IsChildOf(prc)) Kill(prc);</li>
<li>Iptables.Add(&#8221;Input&#8221;, new Iptables.SourceFilter(&#8221;127.0.0.1&#8243;), Iptables.ACCEPT)<br />
(even if that doesn&#8217;t seem that nice in this case - think about creating one SourceFilter (or some complex &#8216;pseudo-query&#8217; object) from other sources (network monitoring?) and using it to create rules in real-time.</li>
<li>Autocomplete objects through Reflection with tab button - easy</li>
<li>&#8230;</li>
</ol>
<p>You know what processes are there - no need to grep ps. You get numbers you want - no need for awk. You know what was the problem, because of exceptions - no need to browse man for return code listings. You want to run commands - there are no problems with quotes in command / quotes in your command line / quotes in file arguments - there are only Strings.</p>
<p>PS1: I only found original post by <a href="http://www.google.com/alerts">google alerts</a> - try it out :)<br />
PS2: There was a <a href="http://csshell.sourceforge.net/">c# shell</a> - discontinued unfortunately :( But in case it disappears, I&#8217;ve got sources&#8230; in case&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/20/feed</wfw:commentRss>
		</item>
		<item>
		<title>Mono-1.2.2.1 is out for Ubuntu</title>
		<link>http://www.viraptor.info/archives/19</link>
		<comments>http://www.viraptor.info/archives/19#comments</comments>
		<pubDate>Thu, 14 Dec 2006 18:17:26 +0000</pubDate>
		<dc:creator>viraptor</dc:creator>
		
		<category><![CDATA[mono]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.viraptor.info/archives/19</guid>
		<description><![CDATA[Mono version 1.2.2.1 is already in source repos for feisty, so it&#8217;s time to upgrade it in edgy also.
As usual: get mono .deb packages. This time if you want sqlite*.0-cil, you&#8217;ll also need new libsqlite itself. It&#8217;s provided along with main packages.
For those suspicious - yes - 1.2.2.1 exists officially, but the main www.mono-project.org page [...]]]></description>
			<content:encoded><![CDATA[<p>Mono version 1.2.2.1 is already in source repos for feisty, so it&#8217;s time to upgrade it in edgy also.</p>
<p>As usual: <a href="http://kni.prz.rzeszow.pl/~viraptor/mono">get mono .deb packages</a>. This time if you want sqlite*.0-cil, you&#8217;ll also need new libsqlite itself. It&#8217;s provided along with main packages.</p>
<p>For those suspicious - yes - 1.2.2.1 exists officially, but the main <a href="http://www.mono-project.org">www.mono-project.org</a> page is a bit laggy with updates lately. I told that to mono guys yesterday, so there may be some update in a short time.</p>
<p>Dependencies provided: sqlite (with lemon), libgdiplus, cli-common.<br />
Additional stuff: prj2make-sharp.</p>
<p>I&#8217;ve noticed some search hits for <strong>ubuntu</strong> and <strong>mono</strong> from google, so I&#8217;ll probably keep the tradition of posting new debs ASAP (that means as soon as they&#8217;re in feisty and if I&#8217;m still stuck with edgy).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.viraptor.info/archives/19/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
