<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Just another blog ...</title>
	<atom:link href="http://www.shcherbyna.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.shcherbyna.com</link>
	<description></description>
	<lastBuildDate>Sun, 31 Mar 2013 22:56:45 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=348</generator>
		<item>
		<title>HP ElitePad wi-fi network problems</title>
		<link>http://www.shcherbyna.com/?p=2055</link>
		<comments>http://www.shcherbyna.com/?p=2055#comments</comments>
		<pubDate>Sun, 31 Mar 2013 22:56:45 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=2055</guid>
		<description><![CDATA[Intro I&#8217;ve got recently a tablet from HP: ElitePad 900 which is a very nice piece of engineering: it is slick, powerful, well-made and it seems to be the best tablet I ever kept in my hands. Symptoms However, once I configured HP Support tool to install automatically HP Updates I&#8217;ve noticed two important problems: [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Intro</strong></p>
<p>I&#8217;ve got recently a tablet from HP: <a href="http://www8.hp.com/us/en/ad/elitepad/overview.html" target="_blank">ElitePad 900</a> which is a very nice piece of engineering: it is slick, powerful, well-made and it seems to be the best tablet I ever kept in my hands.</p>
<p style="text-align: center;"><a href="http://www.shcherbyna.com/?attachment_id=2057" rel="attachment wp-att-2057"><img class="size-medium wp-image-2057 aligncenter" alt="overview_hero_bkg2_tcm_245_1340415" src="http://www.shcherbyna.com/wp-content/uploads/2013/03/overview_hero_bkg2_tcm_245_1340415-300x225.jpg" width="300" height="225" /></a></p>
<p><strong>Symptoms</strong></p>
<p>However, once I configured HP Support tool to install automatically HP Updates I&#8217;ve noticed two important problems:</p>
<p>1. When I start device the wi-fi is no longer working</p>
<p>2. When I change wi-fi settings in Device Manager I got sometimes BSODs during reboots</p>
<p>The tablet itself does not have much ports, so if you don&#8217;t have any network, it is pretty much a show stopper issue: you can&#8217;t easily connect Ethernet cable, or USB key to try out some drivers, etc.</p>
<p><strong>Solution</strong></p>
<p>It&#8217;s important to note that when I got device the wi-fi was working perfectly. Since the problems started to appear after upgrades I decided to rollback the wi-fi driver. As for today (31st of March 2013), there are basically four versions of the wi-fi drivers for ElitePad:</p>
<p>1. <a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=5169094&amp;prodSeriesId=5298028&amp;swItem=ob-116024-1&amp;prodNameId=5298035&amp;swEnvOID=4131&amp;swLang=13&amp;taskId=135&amp;mode=5" target="_blank">3.7 (02 Mar 2013)</a></p>
<p>2. <a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=5169094&amp;prodSeriesId=5298028&amp;swItem=ob-115754-1&amp;prodNameId=5298035&amp;swEnvOID=4131&amp;swLang=13&amp;taskId=135&amp;mode=5" target="_blank">3.7 (20 Feb 2013)</a></p>
<p>3. <a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=5169094&amp;prodSeriesId=5298028&amp;swItem=ob-115511-1&amp;prodNameId=5298035&amp;swEnvOID=4131&amp;swLang=13&amp;taskId=135&amp;mode=5" target="_blank">3.7 (08 Feb 2013)</a></p>
<p>4. <a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&amp;cc=us&amp;prodTypeId=5169094&amp;prodSeriesId=5298028&amp;swItem=ob-115086-1&amp;prodNameId=5298035&amp;swEnvOID=4131&amp;swLang=13&amp;taskId=135&amp;mode=5" target="_blank">3.7 (14 Jan 2013)</a></p>
<p>Since I did not know which one I had originally installed on the device, I decided to go backwards starting from version 3.7 (02 Mar 2013) towards 3.7 (14 Jan 2013) by doing the following operations:</p>
<p>0. Download all four drivers to ElitePad by clicking on links above for each driver and then &#8220;Download&#8221; button. This way you will have all four versions of drivers ready for your tests.</p>
<p>1. Uninstall the current wi-fi driver from Device Manager (see <a href="http://kb.netgear.com/app/answers/detail/a_id/56/~/troubleshooting-network-adapter-installation---device-manager-error-code-10" target="_blank">article how to uninstall network card from Device Manager</a>)</p>
<p>2. Reboot</p>
<p>3. Install the next driver</p>
<p>4. Check if network is back and if not, try another driver</p>
<p>By doing this test I realized that I had problems with 3.7 (02 Mar 2013) and 3.7 (20 Feb 2013) while the 3.7 (08 Feb 2013) seems to be stable and working properly. Since HP ships changelog for each version of the driver I was able to see the changelog entry between 3.7 (08 Feb 2013) and 3.7 (20 Feb 2013):</p>
<p><strong><em>Fixes an issue where the wireless LAN does not function properly and an error symbol is displayed in the Device Manager.</em></strong></p>
<p>The error is quite generic and taking into account that HP shipped a new version of the driver just 12 days after the previous release made me realize that this was probably an under tested hotfix. I will keep the oldish but stable driver for a while and see if any upcoming release will change something <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=2055</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aplay -l shows different card ids after reboot in Debian Squeeze GNOME</title>
		<link>http://www.shcherbyna.com/?p=2004</link>
		<comments>http://www.shcherbyna.com/?p=2004#comments</comments>
		<pubDate>Mon, 03 Dec 2012 17:16:27 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=2004</guid>
		<description><![CDATA[If you experience sound problems in Debian Squeeze (GNOME) this article should help you: http://www.shcherbyna.com/?p=1800. However, sometime it happens that the card id you put into .asoundrc might be changed next time you boot your machine. I&#8217;ve noticed that after a few reboots the aplay -l command shows that my card is assigned a new [...]]]></description>
				<content:encoded><![CDATA[<p>If you experience sound problems in Debian Squeeze (GNOME) this article should help you: <a href="http://www.shcherbyna.com/?p=1800" target="_blank">http://www.shcherbyna.com/?p=1800</a>. However, sometime it happens that the card id you put into .asoundrc might be changed next time you boot your machine. </p>
<p>I&#8217;ve noticed that after a few reboots the aplay -l command shows that my card is assigned a new id. Therefore, I have to change file ~/.asoundrc and store there a new id of my card otherwise sound does not work in my browser. In order to automatize this process I have created a simple bash script which is doing the following:</p>
<p>1. Searches for card id by card name pattern (default pattern: LifeChat &#8211; this is a name of USB headphones I got)</p>
<p>2. Once card id is found it backups the original file /.asoundrc into /.asoundrc_bk</p>
<p>3. Once file is backup it writes a new card id into /.asoundrc</p>
<p>4. At this point your sounds should work in browser, flash, etc</p>
<p>The script can be put into &#8220;Startup Applications&#8221; in Debian so that each time you start your computer it syncs your .asoundrc file and sound works out of the box. Here is example output of the script on my machine:</p>
<pre><code>[1] Searching for pattern LifeChat among installed cards: found: card 1: default [Microsoft LifeChat LX-3000 ], device 0: USB Audio [USB Audio]

[2] Fetching id from card: 1

[3] Configuring .asoundrc with card id 1: OK</code></pre>
<p>Now, if you want to use the script, perform the following steps:</p>
<p>1. Download script from my blog either using command line or using browser: <a href="http://www.shcherbyna.com/files/linux/debugs/fixsounds.sh" target="_blank">http://www.shcherbyna.com/files/linux/debugs/fixsounds.sh</a></p>
<p>2. Open fixsounds.sh using any text editor and locate line <strong>CARD_NAME=&#8221;LifeChat&#8221;</strong></p>
<p>3. Specify your card name instead of <strong>&#8220;LifeChat&#8221;</strong>. In order to find out what cards you have run in terminal <strong>aplay -l</strong></p>
<p>4. Save script and make it executable using chmod:</p>
<pre><code>chmod +x ./fixsounds.sh</code></pre>
<p>5. Run it and make sure there are no errors reported:</p>
<pre><code>./fixsounds.sh</code></pre>
<p>6. Make sure that you have sound &#8211; open browser, navigate to youtube.com, etc, etc, etc </p>
<p>7. Once everything is okay, you can register script for auto-start in System->Preferences->Startup Applications</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=2004</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bye-bye Windows, Hello Linux</title>
		<link>http://www.shcherbyna.com/?p=2001</link>
		<comments>http://www.shcherbyna.com/?p=2001#comments</comments>
		<pubDate>Sun, 02 Dec 2012 00:35:11 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=2001</guid>
		<description><![CDATA[First time ever in my life, I removed a licensed and activated Windows from my desktop computer and installed Linux instead. My 64-bit Windows 7 Ultimate was getting slower and slower with time, and I decided to try something new, stable and preferably free. Before I always had a dual boot between Windows and Linux [...]]]></description>
				<content:encoded><![CDATA[<p>First time ever in my life, I removed a licensed and activated Windows from my desktop computer and installed Linux instead. My 64-bit Windows 7 Ultimate was getting slower and slower with time, and I decided to try something new, stable and preferably free.</p>
<p>Before I always had a dual boot  between Windows and Linux and all my data was on NTFS partition. Now a time for a change has come, so I got everything converted to ext4. So far so good (but I still keep backups on two external NTFS drives just in case). </p>
<p>I miss KeePass2 in Debian Squeeze x86_64 (for the moment it is present only in Wheezy) but I found that I can use keepassx <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Anyway, now i have no way back, license is lost and I am not going to get a new one. Debian runs quite well, and I pretty happy that I use it.</p>
<p>It took me 4 years to start using Linux more seriously, I first met Ubuntu in 2008 and since that time I got hooked up <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=2001</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Setting environmental variables in Mac OS (OSX) for Ida Pro</title>
		<link>http://www.shcherbyna.com/?p=1994</link>
		<comments>http://www.shcherbyna.com/?p=1994#comments</comments>
		<pubDate>Sun, 11 Nov 2012 19:27:40 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1994</guid>
		<description><![CDATA[As a user of Ida Pro I recently bumped into a case when my Ida Pro could not connect to a license server because it was in another sub-network. So each time I was trying to open some file Ida was telling me: License server error: Unable to checkout: LM-X Error: (Internal: 443 Feature: IDAPROFM) [...]]]></description>
				<content:encoded><![CDATA[<p>As a user of Ida Pro I recently bumped into a case when my Ida Pro could not connect to a license server because it was in another sub-network. So each time I was trying to open some file Ida was telling me: </p>
<p><strong>License server error: Unable to checkout: LM-X Error: (Internal: 443 Feature: IDAPROFM)</strong></p>
<p>Now, it seems like I have to set env variable HEXRAYS_LICENSE_PATH to point to my server ip address. But how to do it in OSX? After googling, and trying and googling and trying I finally found solution:</p>
<p>1. Open file /etc/launchd.conf with admin priviliges (e.g., sudo vim /etc/launchd.conf) or create if it does not exist</p>
<p>2. Put inside the address of your server:</p>
<p>setenv HEXRAYS_LICENSE_PATH 6200@my-license-server.com</p>
<p>3. Save file and reboot!</p>
<p>It is essential to reboot, if you don&#8217;t do this, this may not work for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1994</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web filtering went wrong for BitDefender Endpoint Security</title>
		<link>http://www.shcherbyna.com/?p=1917</link>
		<comments>http://www.shcherbyna.com/?p=1917#comments</comments>
		<pubDate>Wed, 29 Aug 2012 19:19:14 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1917</guid>
		<description><![CDATA[I recently bumped into an interesting case when dealing with a web page blocked by BitDefender antivirus. If page is unsafe or blocked by system administrator, your browser will show a page like this: As shown on the screenshot, the page being blocked is a Ukrainian version of Google search: https://www.google.com.ua. Since I am not [...]]]></description>
				<content:encoded><![CDATA[<p>I recently bumped into an interesting case when dealing with a web page blocked by BitDefender antivirus. If page is unsafe or blocked by system administrator, your browser will show a page like this:</p>
<p><img class="alignnone" src="http://www.shcherbyna.com/wp-content/uploads/2012/08/snapshot1.jpeg" alt="" width="800" height="510" /></p>
<p>As shown on the screenshot, the page being blocked is a <a href="http://en.wikipedia.org/wiki/Ukraine" target="_blank">Ukrainian</a> version <a href="https://www.google.com.ua/" target="_blank">of Google search: https://www.google.com.ua</a>. Since I am not happy with this page being blocked, I&#8217;d like to find a solution on how to overcome this problem. And the logical step would be to try out another http client like a <a href="http://en.wikipedia.org/wiki/Wget">wget</a>. For those who is not familiar with wget, it is a must have HTTP client from GNU/Linux world and can be dowloaded for Windows from here: <a href="http://gnuwin32.sourceforge.net/packages/wget.htm">http://gnuwin32.sourceforge.net/packages/wget.htm</a></p>
<p>OK, let&#8217;s do wget https://www.google.com.ua and &#8230;</p>
<p><img class="alignnone" src="http://www.shcherbyna.com/wp-content/uploads/2012/08/snapshot2.jpeg" alt="" width="852" height="305" /></p>
<p>As you can see, wget works! Well, obviously the only difference between wget and chrome.exe is the binary name, since both are a valid HTTP clients. If Bitdefender is doing the filtering based on names of binaries, we can try to &#8220;forbid&#8221; wget by renaming it to chrome.exe and see if it fails with the same url. So, I rename wget.exe to chrome.exe and try again:</p>
<p><img class="alignnone" src="http://www.shcherbyna.com/wp-content/uploads/2012/08/snapshot3.jpeg" alt="" width="852" height="260" /></p>
<p>&#8230; and renaming wget.exe to chrome.exe made the Bitdefender blocking the page: <em>403 Blocked by Bitdefender</em>. <strong>Now, it also means that doing reverse and renaming your chrome.exe (or any well-know browser like firefox.exe or opera.exe) to wget.exe or something.exe will allow you to bypass Bitdefender content checking policy and escape from being blocked</strong>.</p>
<p>This is not really a bug of Bitdefender, rather a poor design of the overall solution. I can&#8217;t really imagine that renaming binary name may allow you to escape from being monitored. I wonder, what are the other corner cases out there hidden in the code?</p>
<p>You can&#8217;t really find a good excuse for this bug because detecting browsers is not a rocket science. You may populate list of Add/Remove programs and check InstallLocation property and then check it when program executes, you may also detect which certificate is used to sign binary and see that it&#8217;s signed by Google or Mozilla or MS, or whatever. If you are lazy you may just build a predefine set of pathes (C:\Program Files\Firefox\*) and check all binaries from these paths. All these solutions have disadvantages and advantages but they are still a way better than just doing a check by process name.</p>
<p>I know that in modern IT Engineering world there is always a balance between &#8220;doing it quick and covering the marked before the competitor&#8221; and making it stable &amp; solid. I just don&#8217;t understand why small things which can lead to a big consequences are not taken into account by a big software production companies which definitely have more resources than startups to make things right.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1917</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian Wheezy Beta 1 : white (corrupted) screen with square mouse pointer on ATI Radeon HD 3600 XT (ChipID = 0&#215;9598)</title>
		<link>http://www.shcherbyna.com/?p=1906</link>
		<comments>http://www.shcherbyna.com/?p=1906#comments</comments>
		<pubDate>Wed, 22 Aug 2012 23:20:35 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1906</guid>
		<description><![CDATA[As I was having problems with installation of Wheezy I could not sleep well and miss the opportunity to test the new Debian release If you recall, here is what I got after installation of Wheezy on my machine: This problem actually happened to me under GNOME and KDE and is resolved by installing firmware-linux-nonfree [...]]]></description>
				<content:encoded><![CDATA[<p>As I was having problems with installation of Wheezy I could not sleep well and miss the opportunity to test the new Debian release <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  If you recall, here is what I got after installation of Wheezy on my machine:</p>
<p><img class="alignnone" src="http://www.shcherbyna.com/wp-content/uploads/2012/08/Wheeeeeeeeze.jpg" alt="" width="600" height="332" /></p>
<p>This problem actually happened to me under GNOME and KDE and is <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660734" target="_blank">resolved by installing firmware-linux-nonfree package from non-free repository</a>. You may use <a href="http://debgen.simplylinux.ch/" target="_blank">http://debgen.simplylinux.ch/</a> to generate sources.list file for apt in order to include &#8220;non-free&#8221; repository which is disabeld by default. I was lucky because I was able to ssh to machine and install the package remotely. I guess, for those people without network configured this may be a show stopper.</p>
<p>If you are a newbie, and you have no idea of what I am talking about, and you expirience this problem, following these simple steps:</p>
<p>1. Configure network during installation of Wheezy. If your network is not configured and your screen does not work, you will not be able to connect remotely to machine to install the package</p>
<p>2. During package selection step in installer make sure you don&#8217;t uncheck &#8220;OpenSSH Server&#8221; (it is enabled by default)</p>
<p>3. When you observe this &#8220;white corrupted screen&#8221; try to connect to your machine via SSH. If it does not work, probably you did something wrong at steps 1 or 2</p>
<p>4. Once you are connected you need to add non-free package to apt sources.list file. Visit the following website: <a href="http://debgen.simplylinux.ch/" target="_blank">http://debgen.simplylinux.ch/</a> and select your country, your release (Wheezy), your architecture, and of course select &#8220;Non-free&#8221; in the checkbox</p>
<p>5. Aquire root priviliges by executing command:</p>
<p>su</p>
<p>6. As root edit file /etc/apt/sources.list and put inside content generated by http://debgen.simplylinux.ch/</p>
<p>7. You may use any text editor a vi or nano. If you are newbie, enter the following:</p>
<p>nano /etc/apt/sources.list</p>
<p>8. Store the file and exit</p>
<p>9. Update apt by executing:</p>
<p>apt-get update</p>
<p>10. Install firmware-linux-nonfree package by executing</p>
<p>apt-get install firmware-linux-nonfree</p>
<p>11. Reboot!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1906</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Debian Wheeze expirience or why FreeBSD looks more interesting compared to Debian</title>
		<link>http://www.shcherbyna.com/?p=1883</link>
		<comments>http://www.shcherbyna.com/?p=1883#comments</comments>
		<pubDate>Fri, 03 Aug 2012 20:07:41 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[freebsd]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1883</guid>
		<description><![CDATA[I&#8217;ve been using Debian Squeeze (6.x) at home for a while and in general it was quite good not counting a few bugs with kernel, flash, sound and kde. Recently I saw that development in Wheezy (7.x) has frozen and I decided to upgrade &#8230; Here is the result of my upgrade: Well, I was [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been using Debian Squeeze (6.x) at home for a while and in general it was quite good not counting a few bugs with kernel, flash, sound and kde. Recently I saw that development in Wheezy (7.x) has frozen and I decided to upgrade &#8230;</p>
<p>Here is the result of my upgrade:</p>
<p style="text-align: center;"><a href="http://www.shcherbyna.com/?attachment_id=1884" rel="attachment wp-att-1884"><img class="size-full wp-image-1884 aligncenter" title="Wheeeeeeeeze" src="http://www.shcherbyna.com/wp-content/uploads/2012/08/Wheeeeeeeeze.jpg" alt="" width="600" height="332" /></a></p>
<p>Well, I was reading that amount of bugs in Wheezy is quite high for frozen release, but was not expecting it would fail for me that miserably. Anyway, I had a chance to either go into the problem deeper or try out something new.</p>
<p>As recently at work I started a project under OSX I felt somehow interested in BSD internals (<a href="http://en.wikipedia.org/wiki/OS_X#History" target="_blank">Apple Mac OS X is based on *BSD</a>). So, I decided to go for <a href="http://www.freebsd.org/" target="_blank">FreeBSD 9.0 amd64</a> <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . At first I felt scared of poor packaging system or lack of packages that I&#8217;ve used for a while under GNU/Linux, but eventually it turned out to be better than I&#8217;ve expected.</p>
<p>If you are coming from Debian to FreeBSD, you just have to substitute &#8220;<em>sudo apt-get install something</em>&#8221; with &#8220;<em>sudo pkg_add -r something</em>&#8220;. That is basically it. For example, I&#8217;ve installed KDE 4 in FreeBSD just by typing <em>pkg_add -r kde4</em> . Well, you have to install a few dependencies (xorg) and do a few shamanic dances near the fire to make KDE auto-start but in general it looks very solid with a less amount of bugs that I&#8217;ve experienced on Debian.</p>
<p>Since I am a KDE/Gnome user, most of the stuff under FreeBSD on KDE/Gnome looks exactly the same as on any other environment running in Debian or Ubuntu, etc. I.e.:</p>
<p>- you want torrent? sudo pkg_add -r ktorrent</p>
<p>- you want vlc? sudo pkg_add -r vlc</p>
<p>- you want Google Chrome? sudo pkg_add -r chromium</p>
<p>- etc</p>
<p>I did not found (for the moment) any package which I used in Debian and which does not exist in FreeBSD. The only thing I don&#8217;t like is a poor flash support. You can install a few things from <a href="http://www.freebsd.org/doc/handbook/desktop-browsers.html" target="_blank">here</a> and it will work for well-known sites like youtube.com but once you will go to some news website with custom flash player, it does not work properly.</p>
<p>OTOH, FreeBSD feels more solid in terms of kernel stability, packaging and the overall development process seems to go faster than in Debian so I will definitely may forget about flash glitches and just benefit from stability <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In the end, here is my FreeBSD experience &#8230; Compare it with the first screenshot at the beginning of the post <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://www.shcherbyna.com/?attachment_id=1899" rel="attachment wp-att-1899"><img class="size-medium wp-image-1899 aligncenter" title="freebsd" src="http://www.shcherbyna.com/wp-content/uploads/2012/08/freebsd-300x168.png" alt="" width="600" height="332" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1883</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mac OS X vs Windows kernel development: from hell to paradise (Part # 2)</title>
		<link>http://www.shcherbyna.com/?p=1852</link>
		<comments>http://www.shcherbyna.com/?p=1852#comments</comments>
		<pubDate>Sun, 29 Jul 2012 13:44:39 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1852</guid>
		<description><![CDATA[This post is a continuation of the compulsive thoughts about OSX vs Windows kernel development started here: Part # 1 So, it&#8217;s being a while since I was writing about OSX. My project has grown up a little and it&#8217;s time to release a first alpha. The kernel extention (kext) behaves as a socket level [...]]]></description>
				<content:encoded><![CDATA[<p>This post is a continuation of the compulsive thoughts about OSX vs Windows kernel development started here: <a href="http://www.shcherbyna.com/?p=1640" target="_blank">Part # 1</a></p>
<p>So, it&#8217;s being a while since I was writing about OSX. My project has grown up a little and it&#8217;s time to release a first alpha. The kernel extention (kext) behaves as a socket level and an IP filter level NKE  which is doing a bunch of stuff related to networking and is a very very simular to the concepts of TDI and NDIS filters which do exist in Windows world.</p>
<p>If you are not familiar with TDI or NDIS this post might be not of any use for you, so you may just skip it. If you are, well &#8230; If you&#8217;ve been writing TDI filters you would know a few gotchas you have to follow in order to avoid any incompatibility problems with third party software. Since this post is more about OSX rather than Windows, I would not go too much into details on Windows. So, this is what makes development on Windows a hell:</p>
<pre><code>1. Proper registration of your filter in PNP_TDI group

2. Handling special guys like Juniper VPN (NEO_FLT_xx_xx.sys)

3. Proper handling of not-sufficient IRP stack location count in your dispatch routine

4. Doing some tricks with Afd.sys IrpStackSize

5. Impossibility to dynamically unload TDI filter

6. Cross signing your code in order to load in x64 bit Windows

7. Remember verisign changing the key length recently ... ?

8. Messing up with difxapp in your msi code and catching ugly bugs with poor logs (but with very verbose output)

9. Setupping DTM &amp; passing WHQL tests for each flavour of Windows

10. Shipping x32 / x64 binaries for TDI + NDIS IM filters separately

11. Spinlocks everywhere (remember: you might be called at DISPATCH_LEVEL IRQL)
</code></pre>
<p>Well, it already sounds complicated. In OSX world things are a way simpler:</p>
<pre><code>1. Your socket level NKE or ip level NKE do not have to put themselfes into any groups. Just load it at any time using kextload

2. I did not (yet) encounter any incompatibility with VirualBox, VmWare, BitDefender. Maybe, later

3. There is no IRP concept in OSX world. You have mach ports, and it certainly looks simpler.NKE is using callbacks approach

4. Not applicable

5. You can unload your NKE kext in OSX, just make sure you unregister properly from appropriate protocol

6. You don't have to be signed to load kext. Just have to be root

7. Not applicable

8.  You don't have any complex frameworks for installations of drivers. Load via sh script or do it autoload

9. No DTM or WHQL nightmares. I like DTM framework and I use it for my automated tests, but I dislike the idea of paying per each submission and overall complexity behind the process

10. OSX has fat binaries concept, i.e. a single executable file, which has two or more binaries inside which are automatically loaded on a needed architecture. Cool, huh?

11. You are free to use mutexes, semaphors, read write mutexes, etc
</code></pre>
<p>What actually strikes me is that it&#8217;s quite hard to get a RBT (red-black tree) (mostly known as std::map in STL) in Windows kernel: you are stuck with AVL or splay trees via RtlGenericTable routines, while in OSX you are free to use either RBT or Splay Tree just by using a few macroses. You have a rich set of synchronization primitives for your needs (interlocked routines, mutexes, semaphores, lock groups, read write mutexes, etc) and you are not stuck to spinlocks like in TDI filters.</p>
<p>Despite that, when it comes to packaging stuff: everything is extremely simpler: you just create a fat binary, so your driver will load in x32 or x64 or ppc just out of the box. No need to provide any special packages for those architectures. Just single, universal package.</p>
<p>I already mentioned that Xcode is used to write drivers, which is not yet the case for Windows 7 and Visual Studio (in 2012!!!). What I did not mention is the approach Xcode uses when doing automation of build scripts via command line: when you compile your project in command line, it just creates a single folder in your project tree called &#8220;build&#8221;. This folder contains two files: compiled binary and compiled binary symbols. That&#8217;s it.  Now, compile your project in Visual Studio and check how many obj files and other crap has crowed the directory <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>What I did not talked about is &#8230; handling crash dumps. According to Microsoft, in a bug check callback, the system is dead and it is not safe to use any file system so the dump is stored in page file and then get&#8217;s extracted during next startup. You don&#8217;t have out of the box support to send crash dumps to some local server so that you will be able to analyze it.</p>
<p>In OSX world you can just configure to send your kernel panic dump to a file server (can be a simple Mac machine, not necessarily a server: Mac Book Air, or MacMini, or iMac, etc). Now, what happens when it panics is that it sends the dump right away, even over wi-fi connection <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . I think for Redmond guys this is a very big shame <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . If you are reading this and not getting red, please read it again <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Surprisingly it works well even on slow connection over wi-fi. Another interesting thing is that after the dump is sent to server, you can do remote connection over gdb and analyze the situation.</p>
<p>I am starting to like OSX more &#038; more: it gives you quite rich api and does not put you in a strict hell boundaries you have in Windows world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1852</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Asus P5QL PRO: no post, fans spin, switch off / switch on</title>
		<link>http://www.shcherbyna.com/?p=1849</link>
		<comments>http://www.shcherbyna.com/?p=1849#comments</comments>
		<pubDate>Sun, 29 Jul 2012 08:46:52 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1849</guid>
		<description><![CDATA[I have this bizarre bug with my Asus P5QL-PRO motherboard: each time I go to sleep in OS, and the sleep is interrupted by power off event, on the next start the motherboard does the following: 1. Screen is off 2. No post signal 3. Fans continue to spin 4. Machine starts, then stops, then [...]]]></description>
				<content:encoded><![CDATA[<p>I have this bizarre bug with my Asus P5QL-PRO motherboard: each time I go to sleep in OS, and the sleep is interrupted by power off event, on the next start the motherboard does the following:</p>
<p>1. Screen is off</p>
<p>2. No post signal</p>
<p>3. Fans continue to spin</p>
<p>4. Machine starts, then stops, then again starts</p>
<p>When I hit this problem for this first time I though my mobo is dead. After some googling it revealed that a CMOS re-set should help. So, remove CMOS battery, change jumper from 1-2 to 2-3 position, wait for 10 seconds and put everything back in reverse order.</p>
<p>Yesterday I got the same behavior after attaching some devices to mobo (I was rerouting USB devices from case), but CMOS reset did not help. I left machine with reset jumper in 2-3 position for two hours and still no results. So I started to unplug devices one by one trying to determine the cause. Once I removed memory &#8211; it all started to work perfectly <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . I guess I might have touched the memory and it slightly got out or I have a new glitch with memory <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, I put everything back again and now it works.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1849</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asus P5QL Pro &amp; Noctua NH-14 cooler</title>
		<link>http://www.shcherbyna.com/?p=1842</link>
		<comments>http://www.shcherbyna.com/?p=1842#comments</comments>
		<pubDate>Sat, 28 Jul 2012 21:59:18 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[hardware]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1842</guid>
		<description><![CDATA[I&#8217;ve been recently playing with my oldish Asus P5QL Pro box trying to cool down CPU because the stock Intel cooler was already almost dead. I got idle temperature like 45 C or above. So, I decided to go for a Noctua NH-14 cooler which seems to be pretty effective when reading reviews, etc, etc. [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been recently playing with my oldish Asus P5QL Pro box trying to cool down CPU because the stock Intel cooler was already almost dead. I got idle temperature like 45 C or above. So, I decided to go for a Noctua NH-14 cooler which seems to be pretty <a href="http://www.hardwarecanucks.com/forum/hardware-canucks-reviews/26613-noctua-nh-d14-cpu-cooler-review-17.html" target="_blank">effective when reading reviews</a>, etc, etc.</p>
<p>I went to local shop, bought the brand new Noctua NH-14, went home, removed motherboard, started to mount the cooler and noticed that one of the mounting bolts is not threaded &#8230; That seemed like a factory glitch, which made me angry because the cooler is quite expensive and is targeted for &#8220;above average needs&#8221; market. So, it should be perfect, right?</p>
<p>Anyway, I went back to shop, had the cooler replaced, it took me extra 2 days to wait, and &#8230; </p>
<p><a href="http://www.shcherbyna.com/?attachment_id=1844" rel="attachment wp-att-1844"><img src="http://www.shcherbyna.com/wp-content/uploads/2012/07/20120728_181636-300x225.jpg" alt="" title="20120728_181636" width="300" height="225" class="alignleft size-medium wp-image-1844" /></a></p>
<p>It looks quite tight, huh? NH-14 is fitting quite well my P5QL-PRO not interfering with RAM slots or any other pieces. It is quite tight near the power supply, so, depending on the size of your case it might be or might not be a good option for you.  Now it is so tight in that corner that if I would like to remove power supply, I would probably need to remove the whole cooler from CPU which means also applying new thermopaste ..</p>
<p>The cooler is quite high, so you may also experience problems closing the side case. Now my idle is 26 C (during the summer) which makes me pretty happy <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1842</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring gtalk in pidgin in Debian 6 Squeeze x64 GNOME for Google Apps account</title>
		<link>http://www.shcherbyna.com/?p=1836</link>
		<comments>http://www.shcherbyna.com/?p=1836#comments</comments>
		<pubDate>Sun, 15 Jul 2012 16:31:22 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1836</guid>
		<description><![CDATA[If you are going to use Google Apps account in pidgin you have to use a few tricks to make things working: In Basic tab: 1. Change Domain from gmail.com to yourdomain.com In Advanced tab: 2. Remove check “Require SSL/TLS” and set “Force old (port 5223) SSL 3. Change “Connect port” to 443 4. Change [...]]]></description>
				<content:encoded><![CDATA[<p>If you are going to use Google Apps account in pidgin you have to use a few tricks to make things working:</p>
<p>In Basic tab:</p>
<p>1. Change Domain from gmail.com to yourdomain.com</p>
<p>In Advanced tab:</p>
<p>2. Remove check “Require SSL/TLS” and set “Force old (port 5223) SSL</p>
<p>3. Change “Connect port” to 443</p>
<p>4. Change connect server to talk.google.com</p>
<p>This should do it. Here is a screenshot from my working setup:</p>
<p><a href="http://www.shcherbyna.com/?attachment_id=1837" rel="attachment wp-att-1837"><img src="http://www.shcherbyna.com/wp-content/uploads/2012/07/Screenshot1-300x151.png" alt="" title="Screenshot" width="300" height="151" class="alignleft size-medium wp-image-1837" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1836</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring ICQ in pidgin in Debian 6 Squeeze x64 GNOME</title>
		<link>http://www.shcherbyna.com/?p=1830</link>
		<comments>http://www.shcherbyna.com/?p=1830#comments</comments>
		<pubDate>Sun, 15 Jul 2012 16:06:59 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1830</guid>
		<description><![CDATA[I&#8217;ve always had problems configuring ICQ account in my pidgin in Debian. Somehow it never worked although I tried all these different combinations like “Use clientlogin” or “Use SSL”, etc, etc, etc. It never worked out of the box like it happens with Kopete in Debian KDE. At some point I thought it was a [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve always had problems configuring ICQ account in my pidgin in Debian. Somehow it never worked although I tried all these different combinations like “Use clientlogin” or “Use SSL”, etc, etc, etc. It never worked out of the box like it happens with Kopete in Debian KDE.</p>
<p>At some point I thought it was a problem of server as the default login server you have when adding ICQ account is login.messaging.aol.com. According to <a href="http://developer.pidgin.im/ticket/5450" target="_blank">http://developer.pidgin.im/ticket/5450</a> the server is correct and it should work flawlessly.</p>
<p>Despite the message in the ticket I decided to try login.icq.com instead of login.messaging.aol.com because it is shorter, and it makes perfect sense for me (I have no idea what is aol, and as I am going to use ICQ protocol, it is logical for me to use login.icq.com as an address) and guess what? It works!</p>
<p>Here comes the snapshot settings of my ICQ account in pidgin:<br />
<a href="http://www.shcherbyna.com/?attachment_id=1831" rel="attachment wp-att-1831"><img class="size-medium wp-image-1831 alignleft" title="Screenshot" src="http://www.shcherbyna.com/wp-content/uploads/2012/07/Screenshot-300x264.png" alt="" width="300" height="264" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1830</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>ABM handlebar conversion kit for Honda CBR 600 F4i (FSport) 2001</title>
		<link>http://www.shcherbyna.com/?p=1816</link>
		<comments>http://www.shcherbyna.com/?p=1816#comments</comments>
		<pubDate>Sat, 07 Jul 2012 19:38:17 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[cbr600f4i]]></category>
		<category><![CDATA[compulsive thoughts]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1816</guid>
		<description><![CDATA[Just got handlebar conversion kit for my Honda CBR F4i from ABM. The kit basically looks like this: It contains the following items: 1. Top yoke 2. Longer brake lines for front brakes 3. Longer clutch cable 4. Handlebar &#38; handlebar ends 5. Longer wires for lights, etc 6. Dot 5.1 brake fluid 7. Some [...]]]></description>
				<content:encoded><![CDATA[<p>Just got handlebar conversion kit for my Honda CBR F4i from ABM. The kit basically looks like this:</p>
<p><a href="http://www.shcherbyna.com/?attachment_id=1818" rel="attachment wp-att-1818"><img class="size-medium wp-image-1818 alignleft" title="20120707_211157" src="http://www.shcherbyna.com/wp-content/uploads/2012/07/20120707_211157-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>It contains the following items:</p>
<p>1. Top yoke</p>
<p>2. Longer brake lines for front brakes</p>
<p>3. Longer clutch cable</p>
<p>4. Handlebar &amp; handlebar ends</p>
<p>5. Longer wires for lights, etc</p>
<p>6. Dot 5.1 brake fluid</p>
<p>7. Some documentation in german <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Can&#8217;t wait to mount the kit on my F4i!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1816</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>alsa and no sound in Debian Squeeze x64 GNOME</title>
		<link>http://www.shcherbyna.com/?p=1800</link>
		<comments>http://www.shcherbyna.com/?p=1800#comments</comments>
		<pubDate>Sat, 28 Apr 2012 19:46:39 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1800</guid>
		<description><![CDATA[I started to use Gnome recently under my Debian Squeeze and I noticed that I have no sound in flash (youtube) as well as in vlc. Well, it seems like I need to configure my .asoundrc with the proper card id. Here is a nice command which allows you to enum your devices: $ aplay [...]]]></description>
				<content:encoded><![CDATA[<p>I started to use Gnome recently under my Debian Squeeze and I noticed that I have no sound in flash (youtube) as well as in vlc. Well, it seems like I need to configure my .asoundrc with the proper card id. Here is a nice command which allows you to enum your devices:</p>
<pre><code>$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC1200 Analog [ALC1200 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC1200 Digital [ALC1200 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: ATI HDMI [ATI HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: default [Microsoft LifeChat LX-3000 ], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0</code></pre>
<p>In my case I am going to use 3 as I am going to use Microsoft USB headphones to listen music. It might be different in your case. So, create file ~/.asoundrc with the following content: </p>
<pre><code>pcm.!default {
	type hw
	card 3
}

ctl.!default {
	type hw           
	card 3
}</code></pre>
<p>Save the file and try to check if you have sound.</p>
<p>Update: If by some reason your card id gets changing after reboots, follow this article to fix the issue: <a href="http://www.shcherbyna.com/?p=2004" target="_blank">http://www.shcherbyna.com/?p=2004</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1800</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Smart Auto Replier reborn</title>
		<link>http://www.shcherbyna.com/?p=1765</link>
		<comments>http://www.shcherbyna.com/?p=1765#comments</comments>
		<pubDate>Sat, 11 Feb 2012 16:38:40 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[sar]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1765</guid>
		<description><![CDATA[I hate throwing away good things. Lately I was doing backup of my hard drive and I noticed a bunch of code I wrote in 2004 known as Smart Auto Replier plugin for Miranda. To my surprise it was quite big amount of code and it was pity to let it just fade away. Given [...]]]></description>
				<content:encoded><![CDATA[<p>I hate throwing away good things. Lately I was doing backup of my hard drive and I noticed a bunch of code I wrote in 2004 known as <a href="http://addons.miranda-im.org/details.php?action=viewfile&#038;id=1609" target="_blank">Smart Auto Replier plugin for Miranda</a>. To my surprise it was quite big amount of code and it was pity to let it just fade away. </p>
<p>Given the fact that many things have changed in the last 8 years, and the code from 2004 looks just awful for me, I decided to boost it with some interesting idea and base it on top of ugly existing code <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . I said to myself, that when doing auto replying, people would most likely need some level of flexibility, so that they will be able to make different conditions based on different input data. The best way to implement this is to implement a programming language inside SAR. However, I have just a 30 minutes of free time per normal day, so re-implementing a wheel is not the best way for me. </p>
<p>This is how I decided to hook-in <a href="http://en.wikipedia.org/wiki/Lua_(programming_language)" target="_blank">Lua programming language</a> into SAR. Lua is fast and well-known and can provide a huge level of customization to SAR. User will be able to set different conditions as well as write/read to files, and with time I will develop more functionality regarding conditions part. So, starting from now, SAR will have basically one script function which will get&#8217;s executed when you write a message to a client equipped with SAR:</p>
<pre><code>function this.SAR(this, hUser, szMessage, szUser, szProtocol)
    this:SendMessage(hUser, "Here is my autoreply!")
end</code></pre>
<p>As you can see, the function this.SAR accepts a few parameters: this, hUser, szMessage, szUser, szProtocol. These parameters are actually indicating the input to function, so you can set different conditions which will let you to auto reply in a smart way. For example, let&#8217;s assume that you want to auto reply only to a user named &#8220;Sad&#8221;. In this way, your SAR function should look like this:</p>
<pre><code>function this.SAR(this, hUser, szMessage, szUser, szProtocol)    
    if szUser == "Sad"
    then
        this:SendMessage(hUser, "you are user Sad")
    else
        this:SendMessage(hUser, "you are not user Sad you are: ")
        this:SendMessage(hUser, szUser)
    end
end</code></pre>
<p>Now, assume you want to reply only if user is writing you from ICQ protocol. This is easy with Lua: you can combine code as a blocks:</p>
<pre><code>function this.SAR(this, hUser, szMessage, szUser, szProtocol)    
    if szUser == "Sad"
    then
        this:SendMessage(hUser, "you are user Sad")
    else
        this:SendMessage(hUser, "you are not user Sad you are: ")
        this:SendMessage(hUser, szUser)
    end

    index = string.find(szProtocol, "ICQ")
    if index == nil
    then
        this:SendMessage(hUser, "you are not writing from ICQ protocol")
    else
        this:SendMessage(hUser, "you are writing via ICQ protocol")
    end
end</code></pre>
<p>The best way to master SAR is to check the documentation for Lua: <a href="http://www.lua.org/docs.html" target="_blank">http://www.lua.org/docs.html</a>. I agree that it may be not very user friendly to start from reading the docs for Lua, but on the other hand, I am trying to cover basic things which already may work out for newbies and provide them a good start.</p>
<p>Starting from now, SAR will have it&#8217;s own official forum where questions should be asked: <a href="http://shcherbyna.com/forum/viewforum.php?f=8" target="_blank">http://shcherbyna.com/forum/viewforum.php?f=8</a>. Do now hesitate to ask anything, I will try to be responsive. (well, still remember about 30 minutes per day &#8230; <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>Despite that, SAR will have it&#8217;s own web-page which will list all configuration options and well-known scripts: <a href="http://www.shcherbyna.com/?page_id=1747" target="_blank">http://www.shcherbyna.com/?page_id=1747</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1765</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPLing oldish code</title>
		<link>http://www.shcherbyna.com/?p=1739</link>
		<comments>http://www.shcherbyna.com/?p=1739#comments</comments>
		<pubDate>Sun, 05 Feb 2012 19:18:26 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[sar]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1739</guid>
		<description><![CDATA[Back in 2004 I did a small plugin for Miranda IM messenger which was providing auto replying facility. I uploaded it to Miranda database and since that time it had ~ 40 000 of downloads. Some people were inspired with it and based on it some other plugins: Simple Auto Replier Recently I came across [...]]]></description>
				<content:encoded><![CDATA[<p>Back in 2004 I did a small plugin for Miranda IM messenger which was providing auto replying facility. I uploaded it to <a href="http://addons.miranda-im.org/details.php?action=viewfile&#038;id=1609" target="_blank">Miranda database and since that time it had ~ 40 000 of downloads</a>.  Some people were inspired with it and based on it some other plugins: <a href="http://addons.miranda-im.org/details.php?action=viewfile&#038;id=2443" target="_blank">Simple Auto Replier</a></p>
<p>Recently I came across this code and decided to make it GPL and put in Google Code project. Here it is: <a href="http://code.google.com/p/smart-auto-replier/">http://code.google.com/p/smart-auto-replier/</a></p>
<p>It was fun to look at my own code which is 8 years old.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1739</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KMail: &#8220;Signing failed: Bad passphrase&#8221; message in Debian 6 Squeeze KDE</title>
		<link>http://www.shcherbyna.com/?p=1728</link>
		<comments>http://www.shcherbyna.com/?p=1728#comments</comments>
		<pubDate>Mon, 30 Jan 2012 21:21:55 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>
		<category><![CDATA[debian]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1728</guid>
		<description><![CDATA[I was recently trying to setup automatic signing of messages in KMail and I hit a problem : each time I am sending something, I got the message &#8220;Signing failed: Bad passphrase&#8221; without any opportunity to enter passphrase for my private key. It looks like this: &#160; It seems like you have to specify proper path [...]]]></description>
				<content:encoded><![CDATA[<p>I was recently trying to setup automatic signing of messages in KMail and I hit a problem : each time I am sending something, I got the message &#8220;Signing failed: Bad passphrase&#8221; without any opportunity to enter passphrase for my private key. It looks like this:</p>
<p>&nbsp;<img src="http://www.shcherbyna.com/files/linux/debugs/test_signing_epic_fail.png" alt="" /></p>
<p><a href="http://forum.kde.org/viewtopic.php?f=20&amp;t=33189" target="_blank">It seems like you have to specify</a> proper path to pinentry-program in your configuration. Do the following:</p>
<p>1. Find out the exact path to pinentry-gtk-2:</p>
<pre><code>$ whereis pinentry-gtk-2 
pinentry-gtk-2: /usr/bin/pinentry-gtk-2 /usr/share/man/man1/pinentry-gtk-2.1.gz</code></pre>
<p>As you can see, in my case the path is <strong>/usr/bin/pinentry-gtk-2</strong></p>
<p>2.  Edit file ~/.gnupg/gpg.conf by uncommeting # use-agent so it becomes use-agent</p>
<p>3. Create file ~/.gnupg/gpg-agent.conf and put into the path to pinentry-gtk-2. Here is content of my ~/.gnupg/gpg-agent.conf:</p>
<pre><code>$ more ~/.gnupg/gpg-agent.conf
pinentry-program /usr/bin/pinentry-gtk-2</code></pre>
<p>Make sure that you put the proper path (the one from Step 1)</p>
<p>4. Reboot machine and try to send something from KMail. It should work now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1728</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling kext for Intel82566mm under Lion 10.7.2 64-bit</title>
		<link>http://www.shcherbyna.com/?p=1721</link>
		<comments>http://www.shcherbyna.com/?p=1721#comments</comments>
		<pubDate>Tue, 24 Jan 2012 21:07:34 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[kext]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1721</guid>
		<description><![CDATA[I was recently playing with Intel 82566MM device driver for Mac OS X based on the e1000e open source project and noticed that the driver is really targeted for 10.6 and is unable to compile easily under Lion 10.7.2. I decided to play a little bit and compile it for Lion 10.7.2 x64 bit. Here [...]]]></description>
				<content:encoded><![CDATA[<p>I was recently playing with <a href="http://code.google.com/p/82566mm-osx-driver/" target="_blank">Intel 82566MM device driver for Mac OS X based on the e1000e open source project</a> and noticed that the driver is really targeted for 10.6 and is unable to compile easily under Lion 10.7.2.</p>
<p>I decided to play a little bit and compile it for Lion 10.7.2 x64 bit. Here it is: <a href="http://www.shcherbyna.com/files/macos/82566mm-osx-driver-read-only.zip" target="_blank">modified package which compiles under Lion 10.7.2 x64 with already pre-compiled kext file.</a></p>
<p>Things mostly changed in Makefile:</p>
<p>1) Added &#8220;-arch x86_64 -isysroot ${SYSROOT} -mmacosx-version-min=10.7 -Xlinker -kext&#8221;</p>
<p>2) Set proper SDK path and paths for gcc &#038; g++</p>
<p>3) Modified some warnings in Intel82566MM.cpp which end up like errors during build in 10.7.2</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1721</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing background color of iGoogle or Google pages?</title>
		<link>http://www.shcherbyna.com/?p=1716</link>
		<comments>http://www.shcherbyna.com/?p=1716#comments</comments>
		<pubDate>Fri, 20 Jan 2012 19:05:06 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[compulsive thoughts]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1716</guid>
		<description><![CDATA[I noticed that since the beginning Google is not allowing to change background colour of it&#8217;s pages. It is pity, as if you take for example DuckDuckGo you are able to modify the background color easialy: DuckDuckGo Settings page. Moreover, you can easily specify to use always HTTPS, which is not yet the case for [...]]]></description>
				<content:encoded><![CDATA[<p>I noticed that since the beginning Google is not allowing to change background colour of it&#8217;s pages. It is pity, as if you take for example <a href="http://duckduckgo.com/" target="_blank">DuckDuckGo</a> you are able to modify the background color easialy: <a href="http://duckduckgo.com/settings.html" target="_blank">DuckDuckGo Settings page.</a> Moreover, you can easily specify to use always HTTPS, which is not yet the case for Google.</p>
<p>I prefer usually gray colors, as the white color is too bright for my eyes. Background with C4C4C4 seems to be ideal for me, and since I am fun of customization, I guess, I will have to use DuckDuckGo for a while <img src='http://www.shcherbyna.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1716</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not Idle Task tool for Linux</title>
		<link>http://www.shcherbyna.com/?p=1702</link>
		<comments>http://www.shcherbyna.com/?p=1702#comments</comments>
		<pubDate>Sun, 15 Jan 2012 19:16:28 +0000</pubDate>
		<dc:creator>Volodymyr Shcherbyna</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.shcherbyna.com/?p=1702</guid>
		<description><![CDATA[Since I am using Debian most of my free time, I decided to re-write Not Idle Task tool for Linux. Voilà: If you have no idea what the &#8220;Not Idle Task&#8221; tool does, please consult the following page: http://www.shcherbyna.com/?page_id=1382 This version is tested in Debian 6 x86_64 and Fedora 16 x86_64 and is supposed to [...]]]></description>
				<content:encoded><![CDATA[<p>Since I am using Debian most of my free time, I decided to re-write Not Idle Task tool for Linux. Voilà:</p>
<p><img class="alignnone" title="Not Idle Task for Linux" src="http://www.shcherbyna.com/files/images/notidletask_linux.png" alt="" width="591" height="226" /></p>
<p>If you have no idea what the &#8220;Not Idle Task&#8221; tool does, please consult the following page: <a href="http://www.shcherbyna.com/?page_id=1382" target="_blank">http://www.shcherbyna.com/?page_id=1382</a></p>
<p>This version is tested in Debian 6 x86_64 and Fedora 16 x86_64 and is supposed to work in KDE based distributions. I have some ideas about Windows and Mac OS X support, and I guess I will release versions for these operating systems soon.</p>
<p>This software is GPL, you can find the <a href="http://code.google.com/p/notidletask/source/browse/#svn%2Ftrunk" target="_blank">sources here</a>. You can download binary for x64 version of KDE distributions <a href="www.shcherbyna.com/files/notidletask" target="_blank">here</a>.</p>
<p>Have fun!</p>
<p><img alt="" src="http://www.shcherbyna.com/files/osource/gplv3-127x51.png" class="alignnone" width="127" height="51" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shcherbyna.com/?feed=rss2&#038;p=1702</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
