<?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>Random thoughts of an overloaded mind</title>
	<atom:link href="http://blog.amarkulo.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.amarkulo.com</link>
	<description>Yet another technical blog about iOS, Windows, Linux, Arduino and everything else</description>
	<lastBuildDate>Sat, 14 Apr 2012 20:09:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Auto incrementing build numbers on XCode 4.2</title>
		<link>http://blog.amarkulo.com/auto-incrementing-build-numbers-on-xcode</link>
		<comments>http://blog.amarkulo.com/auto-incrementing-build-numbers-on-xcode#comments</comments>
		<pubDate>Sat, 14 Apr 2012 20:00:11 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[CFBundleVersion]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[increase]]></category>
		<category><![CDATA[increment]]></category>
		<category><![CDATA[info]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[number]]></category>
		<category><![CDATA[plist]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=456</guid>
		<description><![CDATA[Here is one small tip how to automatically increment build number in XCode 4.2 the one which you can see in target summary. Here is how to increment it automatically with every build. click first on target and then on &#8230; <a href="http://blog.amarkulo.com/auto-incrementing-build-numbers-on-xcode">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is one small tip how to automatically increment build number in XCode 4.2 the one which you can see in target summary.</p>
<p><a href="http://blog.amarkulo.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-14-at-21.35.30.png"><img class="aligncenter size-full wp-image-457" title="Build number field" src="http://blog.amarkulo.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-14-at-21.35.30.png" alt="" width="408" height="55" /></a></p>
<p>Here is how to increment it automatically with every build.</p>
<ul>
<li>click first on target and then on build phases</li>
<li>click on the plus button in the lower right corner and chose user script</li>
<li>now in script field write</li>
</ul>
<blockquote><p>buildNumber=$(/usr/libexec/PlistBuddy -c &#8220;Print CFBundleVersion&#8221; ${INFOPLIST_FILE})</p>
<p>buildNumber=$(($buildNumber + 1))</p>
<p>/usr/libexec/PlistBuddy -c &#8220;Set :CFBundleVersion $buildNumber&#8221; ${INFOPLIST_FILE}</p></blockquote>
<p><span style="line-height: 24px;">Now every time when you build your project build number will increase. Of course you can always change it manually and it will continue increasing like it should.</span></p>
<p>Here is small explanation what this script do:</p>
<ol>
<li>buildNumber is shell variable where we will store build number from XCode. To be able to read it from Project-Info.plist file we need to use small tool from Apple, called <strong>PlistBuddy</strong>. It&#8217;s included by default but it&#8217;s not in the path and that means that we need to specify full path to it, in our case <strong>/usr/libexec</strong>. We need to specify command sent to PlistBuddy and file on which that command will be performed, in our case command is <strong>Print CFBundleVersion</strong> which is property of build number in XCode written in our Project-Info.plist file and last argument is file name which we get from variable <strong>INFOPLIST_FILE</strong>.</li>
<li>here we increase value of buildNumber, same like int++ but shell is a bit different so we need to write it like this for XCode to be able to run it</li>
<li>here we run PlistBuddy with command <strong>Set</strong> where we say to it what to set and where, in our case we use <strong>CFBundleVersion</strong> increased by one and we are storing it to our Project-Info.plist file</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/auto-incrementing-build-numbers-on-xcode/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to fix invalid product ID in In-App Purchases</title>
		<link>http://blog.amarkulo.com/how-to-fix-invalid-product-id-in-in-app-purchases</link>
		<comments>http://blog.amarkulo.com/how-to-fix-invalid-product-id-in-in-app-purchases#comments</comments>
		<pubDate>Wed, 10 Aug 2011 08:26:27 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[in-app]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[purchases]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[store]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=441</guid>
		<description><![CDATA[Yesterday after application that I&#8217;m programming for a client being rejected once again from Apple because of &#8220;inappropriate use of In-App Purchases&#8221; I had to delete old one and create a new one in iTunes Connect. Of course after that &#8230; <a href="http://blog.amarkulo.com/how-to-fix-invalid-product-id-in-in-app-purchases">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday after application that I&#8217;m programming for a client being rejected once again from Apple because of &#8220;inappropriate use of In-App Purchases&#8221; I had to delete old one and create a new one in iTunes Connect. Of course after that the error that I was getting while trying to test application is <strong>Invalid product id </strong>and Apple didn&#8217;t wanted to let us know anything like reason why it&#8217;s invalid so any kind of debugging is sufficient.</p>
<p>To solve this problem there is a simple solution.</p>
<p><strong>Delete application from testing device and then let the XCode install it again. </strong></p>
<p>Because of something known only to Apple, XCode is treating installed application as application installed from App Store and it won&#8217;t allow it to register with StoreKit framework properly and that&#8217;s the reason why Invalid product id is occurring.</p>
<p>I have just lost a whole day waiting In-App Purchase to become valid instead of just deleting app from iPhone and installing it again. I have tested to create new In-App Purchase in iTunes connect and it was directly recognized by StoreKit and it worked directly out of the box.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/how-to-fix-invalid-product-id-in-in-app-purchases/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migrating Acronis backup server to another machine</title>
		<link>http://blog.amarkulo.com/migrating-acronis-backup-server-to-another-machine</link>
		<comments>http://blog.amarkulo.com/migrating-acronis-backup-server-to-another-machine#comments</comments>
		<pubDate>Thu, 10 Feb 2011 15:38:54 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[acronis]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[machine]]></category>
		<category><![CDATA[migrate]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[move]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=437</guid>
		<description><![CDATA[Today I have migrated Acronis backup server (0lder version) to another machine. Procedure is simple: install backup server on another machine configure backup location stop the service copy all files from old server to new server in configured backup location &#8230; <a href="http://blog.amarkulo.com/migrating-acronis-backup-server-to-another-machine">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I have migrated Acronis backup server (0lder version) to another machine.</p>
<p>Procedure is simple:</p>
<ul>
<li>install backup server on another machine</li>
<li>configure backup location</li>
<li>stop the service</li>
<li>copy all files from old server to new server in configured backup location</li>
<li>copy C:\Document and Settings\All Users\Application Data\Acronis\Backup server dir to another server overwriting the another one</li>
<li>start the service</li>
<li>check if everything is ok with Management Console</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/migrating-acronis-backup-server-to-another-machine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ad Hoc distribution of iOS apps over web &#8211; revised</title>
		<link>http://blog.amarkulo.com/ad-hoc-distribution-over-web-revised</link>
		<comments>http://blog.amarkulo.com/ad-hoc-distribution-over-web-revised#comments</comments>
		<pubDate>Wed, 02 Feb 2011 08:51:37 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[adhoc]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[Mac tips]]></category>
		<category><![CDATA[organizer]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=430</guid>
		<description><![CDATA[Here is small update of my first post on Ad Hoc distribution of iOS applications over the web which you can find on this link. I have discovered that it can be even easier to distribute apps to beta testers &#8230; <a href="http://blog.amarkulo.com/ad-hoc-distribution-over-web-revised">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is small update of my first post on Ad Hoc distribution of iOS applications over the web which you can find on this <a title="Ad Hoc distribution of applications via web" href="http://blog.amarkulo.com/ad-hoc-profiles-and-application-distribution-via-web ">link</a>.</p>
<p>I have discovered that it can be even easier to distribute apps to beta testers then the procedure which I have described in my first post.</p>
<p>Simplified procedure:</p>
<ol>
<li>Open XCode (version 3.2.x) and go to organizer</li>
<li>Refresh profiles so that XCode can download Development Profile which is now automatically created within XCode if you don&#8217;t have it</li>
<li>You don&#8217;t need distribution or AdHoc profile any more, standard development profile works as well</li>
<li>You don&#8217;t need entitlements any more</li>
<li>Edit release configuration to be sure that it&#8217;s signed with developer profile</li>
<li>Set app destination platform to device, not simulator</li>
<li>Build and archive</li>
<li>Open XCode organizer and continue with the rest of the steps described in my first post which includes saving .ipa file to the disk and creating web dir with Beta Builder</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/ad-hoc-distribution-over-web-revised/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Disable Cmd+Q in Firefox</title>
		<link>http://blog.amarkulo.com/disable-cmd-q-in-firefox</link>
		<comments>http://blog.amarkulo.com/disable-cmd-q-in-firefox#comments</comments>
		<pubDate>Wed, 02 Feb 2011 08:13:23 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=427</guid>
		<description><![CDATA[There isn&#8217;t a number of situations where I pressed Cmd + Q and closed Firefox instead of Cmd + W and closing current tab and I have tried a lot of different things to stop it from custom keyboard shortcuts, &#8230; <a href="http://blog.amarkulo.com/disable-cmd-q-in-firefox">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There isn&#8217;t a number of  situations where I pressed Cmd + Q and closed Firefox instead of Cmd + W  and closing current tab and I have tried a lot of different things to  stop it from custom keyboard shortcuts, to writing defaults in  NSUserKeyEquivalents but without any success.</p>
<p>Now I have found solution.</p>
<p>There is experimental extension called Always Ask which solves this problem with simple popup asking you if you want to close Firefox or not.</p>
<p>Works like a charm.</p>
<p>Here is the <a title="Always Ask" href="https://addons.mozilla.org/af/firefox/addon/always-ask/">link</a> to it.</p>
<p>﻿</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/disable-cmd-q-in-firefox/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic sync of CodeBox library between several macs</title>
		<link>http://blog.amarkulo.com/automatic-sync-of-codebox-library-between-several-macs</link>
		<comments>http://blog.amarkulo.com/automatic-sync-of-codebox-library-between-several-macs#comments</comments>
		<pubDate>Fri, 07 Jan 2011 20:20:32 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[codebox]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[Mac tips]]></category>
		<category><![CDATA[objective c]]></category>
		<category><![CDATA[snippet]]></category>
		<category><![CDATA[sync]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=406</guid>
		<description><![CDATA[So yesterday Apple has released 10.6.6 update with App store for Macs. One of my first purchases was CodeBox from Vadim Shpakovski. This application is really must have for all developers, but I have few things that I need for &#8230; <a href="http://blog.amarkulo.com/automatic-sync-of-codebox-library-between-several-macs">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So yesterday Apple has released 10.6.6 update with App store for Macs. One of my first purchases was <a title="CodeBox" href="http://www.codeboxapp.com/">CodeBox</a> from <a title="Vadim Shpakovski @ Twitter" href="http://twitter.com/#!/vadimshpakovski">Vadim Shpakovski</a>.</p>
<p>This application is really must have for all developers, but I have few things that I need for it to be perfect for my use.</p>
<p>It lacks sync between more than one Mac and I&#8217;m working on 4 different Macs, so I would like to have same code snippets everywhere without importing of every snippet separately, and you cannot export whole lib, only one code snippet at a time.</p>
<p>So I started looking into it to see if I can sync it in some way without too much hassle and work and I have founded way to do it.</p>
<p>I&#8217;m big fan of <a title="Dropbox" href="http://db.tt/8o7C5Zb">Dropbox</a> so why not use it here.</p>
<p>Here are steps required to have CodeBox synced over more than one Macs:</p>
<ul>
<li>Create one folder in your Dropbox folder, I have name it CodeBox <img src='http://blog.amarkulo.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
<li>Now quit CodeBox on one Mac (the one with more snippets)</li>
<li>Start Terminal and execute following commands
<ol>
<li><strong>cd &#8220;Library/Application Support&#8221;</strong></li>
<li><strong>cp com.shpakovski.mac.codebox/* ~/Dropbox/CodeBox</strong><span style="text-decoration: line-through;"> (here you will replace amar with your username)</span></li>
<li>now we will delete folder and create symlink</li>
<li><strong>rm -rf com.shpakovski.mac.codebox</strong></li>
<li><strong>ln -s ~/Dropbox/CodeBox com.shpakovski.mac.codebox</strong></li>
<li>that&#8217;s it!!</li>
</ol>
</li>
</ul>
<p>So now you need to repeat steps above on another mac on which you want to sync CodeBox library to.</p>
<p>If you don&#8217;t have <a title="Dropbox" href="http://db.tt/8o7C5Zb">Dropbox</a> account create it <a title="Dropbox" href="http://db.tt/8o7C5Zb">here</a>. It&#8217;s free and you will receive 2GB of disk space.</p>
<p><strong>Note 1:</strong> This is only temporary solution, I&#8217;m sure that Vadim will implement sync option in future updates.</p>
<p><strong>Note 2: Remember</strong>, you need to quit CodeBox on other Macs to be able to sync properly, because CodeBox is reading Library files on startup and it won&#8217;t know that you had changed something on mac nr2 so it will save current changes over those which are the latest ones.</p>
<p><strong>Note 3: </strong>This solution works for <a title="Snippets app" href="http://www.snippetsapp.com/">Snippets</a> application as well, the only thing that differs is application folder in Application Support.</p>
<p><strong>Note 4</strong>: I have corrected command for creating of a symbolic link and edited rest of the commands. I don&#8217;t know how did I get L there. Thank you Dalton for pointing that out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/automatic-sync-of-codebox-library-between-several-macs/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Restoring of deleted accounts on Windows domain</title>
		<link>http://blog.amarkulo.com/restoring-of-deleted-accounts-on-windows-domain</link>
		<comments>http://blog.amarkulo.com/restoring-of-deleted-accounts-on-windows-domain#comments</comments>
		<pubDate>Wed, 22 Dec 2010 08:22:09 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[adrestore]]></category>
		<category><![CDATA[adrestore.net]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[pdc]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[restore]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=403</guid>
		<description><![CDATA[Yesterday I tried to remove Exchange 2007 from Windows PDC because we have migrated to Gmail and Exchange is still eating lot of resources from it so one of the steps in removing it was to delete old mailboxes. But &#8230; <a href="http://blog.amarkulo.com/restoring-of-deleted-accounts-on-windows-domain">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I tried to remove Exchange 2007 from Windows PDC because we have migrated to Gmail and Exchange is still eating lot of resources from it so one of the steps in removing it was to delete old mailboxes.</p>
<p>But (there is always at least one but) deleting of the mailboxes was including automatically deleting of user accounts on domain so in other words no one could log in on the domain or their own computers connected to domain.</p>
<p>Exploring MSDN and Google for solutions I have learned yesterday that deletion of objects on AD is not meaning that they are deleted directly, it&#8217;s rather that they are moved to a side for a quite long time until being deleted. So as it means that they are not deleted, restore should be easy, and it was (thinking on all possible scenarios).</p>
<p>There is one program called ADRestore.net which you can find on this <a title="ADRestore.net" href="http://blogs.microsoft.co.il/blogs/guyt/archive/2007/12/15/adrestore-net-rewrite.aspx">link</a>.</p>
<p>On the link above you can download program and see it in action, so in the end I have succeeded to restore all accounts with help of it.</p>
<p>NOTE: Restoring of the objects does not mean that all of its properties and parameters will be restored with it, so you will need to review them and fix as needed, generate new passwords and so on.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/restoring-of-deleted-accounts-on-windows-domain/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Display CGRect frame values in NSLog</title>
		<link>http://blog.amarkulo.com/display-cgrect-frame-values-in-nslog-iphonedev</link>
		<comments>http://blog.amarkulo.com/display-cgrect-frame-values-in-nslog-iphonedev#comments</comments>
		<pubDate>Tue, 23 Nov 2010 15:31:24 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[cgrect]]></category>
		<category><![CDATA[frame]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[nslog]]></category>
		<category><![CDATA[values]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=398</guid>
		<description><![CDATA[Here is simple tip to display frame values of any UIView with NSLog NSLog(@&#8221;My view frame: %@&#8221;, NSStringFromCGRect(myView.frame)); After this run your app and in Debugger Console you will se output where values are written in x, y, width, height &#8230; <a href="http://blog.amarkulo.com/display-cgrect-frame-values-in-nslog-iphonedev">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is simple tip to display frame values of any UIView with NSLog</p>
<blockquote><p>NSLog(@&#8221;My view frame: %@&#8221;, NSStringFromCGRect(myView.frame));</p></blockquote>
<p>After this run your app and in Debugger Console you will se output where values are written in x, y, width, height format.</p>
<blockquote><p>My view frame: {{0, 0}, {320,421}}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/display-cgrect-frame-values-in-nslog-iphonedev/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Custom colored grouped UITableView background image in Photoshop</title>
		<link>http://blog.amarkulo.com/custom-colored-grouped-uitableview-background-image-in-photoshop</link>
		<comments>http://blog.amarkulo.com/custom-colored-grouped-uitableview-background-image-in-photoshop#comments</comments>
		<pubDate>Wed, 10 Nov 2010 20:51:21 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=388</guid>
		<description><![CDATA[As promised on Twitter to @StefaanLesage here is the .psd file with dimensions for iPhone4. How to edit it: open file select foreground or background layer and apply own colors select foreground layer and marquee tool right click on image &#8230; <a href="http://blog.amarkulo.com/custom-colored-grouped-uitableview-background-image-in-photoshop">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As promised on Twitter to @StefaanLesage here is the .psd file with dimensions for iPhone4.</p>
<p>How to edit it:</p>
<ul>
<li>open file</li>
<li>select foreground or background layer and apply own colors</li>
<li>select foreground layer and marquee tool</li>
<li>right click on image and load selection named Wide selection</li>
<li>press delete and then deselect selection</li>
<li>change foreground layer opacity</li>
</ul>
<p>Save image as image_name@2x.png for iPhone4 and resize it to 320&#215;480 and save as image_name.png for iPhone usage.</p>
<p>A couple of images to see how it looks like in reality.</p>

<a href='http://blog.amarkulo.com/custom-colored-grouped-uitableview-background-image-in-photoshop/1-3' title='1'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/11/1-150x150.png" class="attachment-thumbnail" alt="1" title="1" /></a>
<a href='http://blog.amarkulo.com/custom-colored-grouped-uitableview-background-image-in-photoshop/2-4' title='2'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/11/2-150x150.png" class="attachment-thumbnail" alt="2" title="2" /></a>
<a href='http://blog.amarkulo.com/custom-colored-grouped-uitableview-background-image-in-photoshop/3-3' title='3'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/11/3-150x150.png" class="attachment-thumbnail" alt="3" title="3" /></a>

<p>Here is download link: <a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=8" title="Version1 downloaded 649 times" >Colored UITableView background (649)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/custom-colored-grouped-uitableview-background-image-in-photoshop/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create rounded UIViews with shadow</title>
		<link>http://blog.amarkulo.com/create-rounded-uiviews-with-shadow</link>
		<comments>http://blog.amarkulo.com/create-rounded-uiviews-with-shadow#comments</comments>
		<pubDate>Sun, 03 Oct 2010 18:15:46 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[round]]></category>
		<category><![CDATA[shadow]]></category>
		<category><![CDATA[SubView]]></category>
		<category><![CDATA[UIView]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[window]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=381</guid>
		<description><![CDATA[So here is small tip how to create rounded UIViews with shadow. Create simple Window-based Application with name TestApp. Click on File-&#62;New file and select Objective-C class with UIView subclass and name it MyView Now open MyView.m and edit initWithFrame &#8230; <a href="http://blog.amarkulo.com/create-rounded-uiviews-with-shadow">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So here is small tip how to create rounded UIViews with shadow.</p>
<ul>
<li>Create simple Window-based Application with name TestApp.</li>
<li>Click on File-&gt;New file and select Objective-C class with UIView subclass and name it MyView</li>
<li>Now open MyView.m and edit initWithFrame part with this code</li>
</ul>
<p><code>- (id)initWithFrame:(CGRect)frame {<br />
if ((self = [super initWithFrame:frame])) {<br />
// Initialization code<br />
[self setBackgroundColor:[UIColor blackColor]];<br />
[self setAlpha:1];<br />
[[self layer] setCornerRadius:8];<br />
[[self layer] setMasksToBounds:NO];<br />
[[self layer] setShadowColor:[UIColor blackColor].CGColor];<br />
[[self layer] setShadowOpacity:1.0f];<br />
[[self layer] setShadowRadius:6.0f];<br />
[[self layer] setShadowOffset:CGSizeMake(0, 3)];<br />
}<br />
return self;<br />
}</code></p>
<ul>
<li>Now add #import &lt;QuartzCore/QuartzCore.h&gt; line to your MyView.m</li>
<li>Open TestAppAppDelegate.m and add #import &#8220;MyView.h&#8221; file</li>
<li>Now in application didFinishLaunching add folowing code</li>
</ul>
<p><code> MyView *roundedView = [[[MyView alloc] initWithFrame:CGRectMake(100, 100, 100, 150)] autorelease];<br />
[window addSubview:roundedView];</code></p>
<ul>
<li>Save and run and you should have rounded black view on the main window, now add other subviews or modify by your will</li>
</ul>
<p>Here is <a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=7" title=" downloaded 547 times" >TestApp.zip (547)</a> ready for download.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/create-rounded-uiviews-with-shadow/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Find and decrypt cisco group password on Mac</title>
		<link>http://blog.amarkulo.com/find-and-decrypt-cisco-group-password-on-mac</link>
		<comments>http://blog.amarkulo.com/find-and-decrypt-cisco-group-password-on-mac#comments</comments>
		<pubDate>Sun, 03 Oct 2010 11:54:57 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[decrypted]]></category>
		<category><![CDATA[encrypted]]></category>
		<category><![CDATA[group]]></category>
		<category><![CDATA[Mac tips]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[pcf]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=379</guid>
		<description><![CDATA[So today I wanted to move one Cisco VPN connection from my MBP to another mac. The problem was that I didn&#8217;t received any .pcf file from admin, I got only group login and password (which I didn&#8217;t wrote down). &#8230; <a href="http://blog.amarkulo.com/find-and-decrypt-cisco-group-password-on-mac">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So today I wanted to move one Cisco VPN connection from my MBP to another mac.</p>
<p>The problem was that I didn&#8217;t received any .pcf file from admin, I got only group login and password (which I didn&#8217;t wrote down).</p>
<p>So after bit of searching on the disk I have found that Cisco VPN client is creating new <strong>.pcf</strong> file for every connection that you create in it. They are located in <strong>/private/etc/opt/cisco-vpnclient/Profiles </strong>directory and waiting to be exctracted. So to be able to obtain password from it do like this:</p>
<ol>
<li>open file from that directory, file will have same name as Connection name in Cisco VPN Client</li>
<li>in the file find string <strong>enc_GroupPwd=</strong> and copy everything behind <strong>=</strong> sign</li>
<li>open <a title="cisco vpnclient password decoder" href="http://www.unix-ag.uni-kl.de/~massar/bin/cisco-decode">this site</a> and copy encrypted password there, click decode button and site will return decrypted group password</li>
<li>now you have password and you can create new connection on the another mac with details that you have on old one, host ip, group name, password, etc.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/find-and-decrypt-cisco-group-password-on-mac/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ad Hoc profiles and application distribution via web</title>
		<link>http://blog.amarkulo.com/ad-hoc-profiles-and-application-distribution-via-web</link>
		<comments>http://blog.amarkulo.com/ad-hoc-profiles-and-application-distribution-via-web#comments</comments>
		<pubDate>Thu, 16 Sep 2010 21:22:16 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[adhoc]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[hoc]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[provisioning]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=365</guid>
		<description><![CDATA[Note: Check this post for new details how to setup ad hoc profiles over web for beta testing. So after several hours of try and fail I have succeeded finally with distribution of Ad Hoc signed applications for beta testing &#8230; <a href="http://blog.amarkulo.com/ad-hoc-profiles-and-application-distribution-via-web">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Note: Check <a title="Ad Hoc distribution revised" href="http://blog.amarkulo.com/ad-hoc-distribution-over-web-revised">this post</a> for new details how to setup ad hoc profiles over web for beta testing.</p>
<p>So after several hours of try and fail I have succeeded finally with distribution of Ad Hoc signed applications for beta testing via web. What does this mean? It means that now I have a way to distribute application without asking user to copy provisioning profile and application file to iTunes and then sync iPhone with it. Now, only thing that they need to do is to click on the link in e-mail, which will open website on device and there they can click to install application and profile on the iPhone.</p>
<p>Now I&#8217;m going to describe whole procedure for this and I will include some screenshots from iPhone and mac during the process.</p>
<ul>
<li>Start with XCode closed.</li>
<li>The first step is to create distribution certificate for signing Ad Hoc provisioning profiles.</li>
<li>Open Keychain Access from finder or from Applications -&gt; Utilities</li>
<li>Now in Keychain Access open Certificate Assistant &#8211; &gt; Request a certificate from a certificate authority</li>
</ul>
<p style="text-align: center;">
<div id="attachment_366" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2010/09/Request-certificate.png"><img class="size-medium wp-image-366 " title="Request certificate from certificate authority" src="http://blog.amarkulo.com/wp-content/uploads/2010/09/Request-certificate-300x110.png" alt="Request certificate from certificate authority" width="300" height="110" /></a><p class="wp-caption-text">Request certificate from certificate authority</p></div>
<ul>
<li>Fill e-mail address and Common Name and save it to disk</li>
</ul>
<div id="attachment_368" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2010/09/Certificate-assistant.png"><img class="size-medium wp-image-368" title="Certificate assistant" src="http://blog.amarkulo.com/wp-content/uploads/2010/09/Certificate-assistant-300x212.png" alt="" width="300" height="212" /></a><p class="wp-caption-text">Certificate assistant</p></div>
<ul>
<li>Log in to <a title="iOS Provisioning Portal" href="https://developer.apple.com/ios/manage/certificates/team/distribute.action">iOS Provisioning Portal</a> and upload certificate request on portal</li>
<li>Refresh site after minute or two and then download certificate</li>
</ul>
<div id="attachment_369" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2010/09/create-distribution-certificate.png"><img class="size-medium wp-image-369" title="Create distribution certificate" src="http://blog.amarkulo.com/wp-content/uploads/2010/09/create-distribution-certificate-300x217.png" alt="" width="300" height="217" /></a><p class="wp-caption-text">Create distribution certificate</p></div>
<ul>
<li>When you download it double click on it to import it to Keychain Access</li>
<li>Now you are ready for the next step. Open <a title="iOS Provisioning Portal - Provisioning profiles" href="https://developer.apple.com/ios/manage/provisioningprofiles/viewDistributionProfiles.action">iOS Provisioning Portal &#8211; Provisioning profiles</a> and create new profile</li>
<li>Select Ad Hoc for distribution method, write profile name, select App ID for targeted application and select on which devices you are going to distribute application for test. Now click on Submit button.</li>
</ul>
<div id="attachment_371" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2010/09/create-ad-hoc-provisioning-profile.png"><img class="size-medium wp-image-371" title="Create iOS Ad Hoc distribution profile" src="http://blog.amarkulo.com/wp-content/uploads/2010/09/create-ad-hoc-provisioning-profile-300x224.png" alt="" width="300" height="224" /></a><p class="wp-caption-text">Create iOS Ad Hoc distribution profile</p></div>
<ul>
<li>Again refresh site after couple of a seconds and download provisioning profile.</li>
<li>Now double click on the provisioning profile to install it in XCode. XCode organiser will open and show provisioning profile in the list of profiles</li>
<li>It&#8217;s time to prepare application for distribution.</li>
<li>Open project and open project info.</li>
<li>Select configurations tab, chose Release configuration, click on duplicate button and name it Ad Hoc or whatever you like</li>
</ul>
<div id="attachment_372" class="wp-caption aligncenter" style="width: 282px"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2010/09/Duplicate-configuration.png"><img class="size-medium wp-image-372" title="Duplicate release configuration" src="http://blog.amarkulo.com/wp-content/uploads/2010/09/Duplicate-configuration-272x300.png" alt="" width="272" height="300" /></a><p class="wp-caption-text">Duplicate release configuration</p></div>
<ul>
<li>Go back on Build tab and select Ad Hoc configuration</li>
<li>Find Code Signing, double click on Entitlements value field and write Entitlements.plist there</li>
<li>Now under Code Signing Identity check if right Provisioning profile is selected (the one that you have created and imported on the beginning)</li>
</ul>
<div id="attachment_373" class="wp-caption aligncenter" style="width: 282px"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2010/09/Code-signing.png"><img class="size-medium wp-image-373" title="Code signing" src="http://blog.amarkulo.com/wp-content/uploads/2010/09/Code-signing-272x300.png" alt="" width="272" height="300" /></a><p class="wp-caption-text">Code signing</p></div>
<ul>
<li>Close project info</li>
<li>Now under the Group &amp; Files click on the Project name and add new file</li>
<li>In file menu chose Code Signing and select Entitlements as file type, name it as Entitlements.plist and save under the root</li>
<li>Open Entitlements.plist and under the root add one boolean value with name get-task-allow and leave it as unchecked (false)</li>
</ul>
<div id="attachment_374" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2010/09/Entitlements_plist.png"><img class="size-medium wp-image-374" title="Create entitlements.plist file under root" src="http://blog.amarkulo.com/wp-content/uploads/2010/09/Entitlements_plist-300x66.png" alt="" width="300" height="66" /></a><p class="wp-caption-text">Create entitlements.plist file under root</p></div>
<ul>
<li>Chose Ad Hoc configuration and Device instead simulator</li>
<li>Open Build menu and select Build and Archive</li>
<li>When the project build is done XCode Organizer will open automatically and show Project name with one archived build under it</li>
<li>Click on that build and select share application</li>
<li>Confirm identity as iPhone Distribution and profile that you have created last and select save to disk to save .ipa file</li>
<li>Now in order to continue you need to downloade <a title="iOS Beta Builder" href="http://www.hanchorllc.com/2010/08/24/introducing-ios-beta-builder/">iOS Beta Builder</a> by Hunter</li>
<li>Open iOS Beta builder and select the .ipa file that you have saved in the previous step or drag and drop it on Beta Builder</li>
<li>Beta Builder will fill out all fields for you except web address of the server where you will have files uploaded</li>
<li>When you write URL click on Generate Deployment Files and choose destination directory</li>
<li>Now when files are saved you can upload all files to some web server and give the link to the beta testers</li>
<li>All they need to do now is to click on the link on iPhone and then in Safari to click on Install link to install application and provisioning profile</li>
</ul>
<div id="attachment_376" class="wp-caption aligncenter" style="width: 210px"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2010/09/Download-application.png"><img class="size-medium wp-image-376" title="Download application" src="http://blog.amarkulo.com/wp-content/uploads/2010/09/Download-application-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Download application</p></div>
<p>I hope that I have helped a bit with Ad Hoc profiles and distribution of applications for your beta testers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/ad-hoc-profiles-and-application-distribution-via-web/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>iPhone contacts sync with Google exchange &#8211; problem solved</title>
		<link>http://blog.amarkulo.com/iphone-contacts-sync-with-google-exchange-problem-solved</link>
		<comments>http://blog.amarkulo.com/iphone-contacts-sync-with-google-exchange-problem-solved#comments</comments>
		<pubDate>Wed, 08 Sep 2010 10:43:59 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=361</guid>
		<description><![CDATA[Today I have sorted and deleted old contacts and when I have synced them from Google to my iPhone (after erasing all contacts on my iPhone) I run into the problems. All contacts were there but maybe 1% had real &#8230; <a href="http://blog.amarkulo.com/iphone-contacts-sync-with-google-exchange-problem-solved">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I have sorted and deleted old contacts and when I have synced them from Google to my iPhone (after erasing all contacts on my iPhone) I run into the problems.</p>
<p>All contacts were there but maybe 1% had real phone number, while others didn&#8217;t had any numbers at all.</p>
<p>So I have found that solution to fix this is to edit almost all contacts because fields were not correct. Mobile field for mobile phone number was written as MobilePhone but iPhone would not recognize it.</p>
<p>Then I have found one more odd thing. Even if contact has Mobile as mobile phone field it still doesn&#8217;t mean that it will show on iPhone properly. So solution was to change Mobile to something else, click anywhere so Gmail can save changes and then return to mobile and click again somewhere outside the Mobile field so that Gmail can save it correctly.</p>
<p>Now I have only 100 contacts left to edit.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/iphone-contacts-sync-with-google-exchange-problem-solved/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging EXEC_BAD_ACCESS on iPhone</title>
		<link>http://blog.amarkulo.com/debugging-exec_bad_access-on-iphone</link>
		<comments>http://blog.amarkulo.com/debugging-exec_bad_access-on-iphone#comments</comments>
		<pubDate>Thu, 15 Jul 2010 08:50:57 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[bad]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[codza]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[exec]]></category>
		<category><![CDATA[exec_bad_access]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=359</guid>
		<description><![CDATA[Last night I had a problem with application crashing without obvious reason, I didn&#8217;t change much in code (I thought so). So a bit googling and I found solution written by codza how to debug this and find the source &#8230; <a href="http://blog.amarkulo.com/debugging-exec_bad_access-on-iphone">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last night I had a problem with application crashing without obvious reason, I didn&#8217;t change much in code (I thought so). So a bit googling and I found solution written by <a title="Codza" href="http://www.codza.com/">codza</a> how to debug this and find the source of the error.</p>
<p>Here is <a title="codza - how to debug EXEC_BAD_ACCESS" href="http://www.codza.com/how-to-debug-exc_bad_access-on-iphone">link</a> to his blog post.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/debugging-exec_bad_access-on-iphone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UIImageView is moving view to 0,0</title>
		<link>http://blog.amarkulo.com/uiimageview-is-moving-view-to-00</link>
		<comments>http://blog.amarkulo.com/uiimageview-is-moving-view-to-00#comments</comments>
		<pubDate>Fri, 02 Jul 2010 12:14:02 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[addSubview]]></category>
		<category><![CDATA[didFinishLaunching]]></category>
		<category><![CDATA[didFinisLaunchingWithOptions]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[SubView]]></category>
		<category><![CDATA[UIApplication]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIImageView]]></category>
		<category><![CDATA[UIView]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=355</guid>
		<description><![CDATA[Today I had weird problem while creating one iPhone application. I have created one UIView and added one UIImageView to it and loaded it with Default.png image, but when starting the program whole view is moved up for 20px, it&#8217;s &#8230; <a href="http://blog.amarkulo.com/uiimageview-is-moving-view-to-00">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I had weird problem while creating one iPhone application.</p>
<p>I have created one UIView and added one UIImageView to it and loaded it with Default.png image, but when starting the program whole view is moved up for 20px, it&#8217;s y reference is starting from 0 instead from 20, so here is how to fix it easily.</p>
<p>In application didFinishLaunching delegate add following code before [window makeKeyAndVisible]; and after [window addSubview:yourView];</p>
<blockquote><p>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {</p>
<p>[window addSubview:yourView];<br />
<strong>[yourView</strong><strong> setFrame:CGRectMake(0, 20, 320, 460)];</strong> // so you are creating frame which x starts on 0, y starts on 20px and with dimensions 320px x 460px<br />
[window makeKeyAndVisible];</p>
<p>return YES;<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/uiimageview-is-moving-view-to-00/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Failed to initialize dynamic preprocessor: SF_SDF (IPV6) version 1.1.1</title>
		<link>http://blog.amarkulo.com/failed-to-initialize-dynamic-preprocessor-sf_sdf-ipv6-version-1-1-1</link>
		<comments>http://blog.amarkulo.com/failed-to-initialize-dynamic-preprocessor-sf_sdf-ipv6-version-1-1-1#comments</comments>
		<pubDate>Fri, 30 Apr 2010 10:01:13 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[dynamicengine]]></category>
		<category><![CDATA[dynamicpreprocessor]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[sf_sdf]]></category>
		<category><![CDATA[snort]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[winpcap]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=353</guid>
		<description><![CDATA[Today I have tried to update my Snort and rules and when testing I got this error message because IPV6 was not enabled on my computer. The fix is very simple, just delete sf_sdf.dll file from C:\Snort\lib\snort_dynamicpreprocessor directory and start &#8230; <a href="http://blog.amarkulo.com/failed-to-initialize-dynamic-preprocessor-sf_sdf-ipv6-version-1-1-1">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I have tried to update my Snort and rules and when testing I got this error message because IPV6 was not enabled on my computer.</p>
<p>The fix is very simple, just delete<strong> sf_sdf.dll</strong> file from<strong> C:\Snort\lib\snort_dynamicpreprocessor</strong> directory and start snort again.</p>
<p>Update of snort is very simple and it can be described in few simple steps which can be used for fresh install as well:</p>
<ul>
<li>download <strong>Snort 2.8.6</strong> from the<a title="Snort" href="http://www.snort.org"><strong> www.snort.org</strong></a> site</li>
<li>download <strong>WinPcap 4.1.1</strong> from the <a title="Winpcap" href="http://www.winpcap.org"><strong>www.winpcap.org</strong></a></li>
<li>install both of them on the target machine</li>
<li>download the latest community rules from <a title="Snort" href="http://www.snort.org"><strong>www.snort.org</strong></a> (you need to register and log in to be able to download them)</li>
<li>extract rules to <strong>C:\Snort</strong> overwriting existing files and open <strong>Snort.conf</strong> file in the etc map</li>
<li>find line nr. 155 and replace it to this<strong> dynamicpreprocessor directory C:\Snort\lib\snort_dynamicpreprocessor</strong></li>
<li>then replace line 158 to this<strong> dynamicengine C:\Snort\lib\snort_dynamicengine\sf_engine.dll</strong></li>
<li>and then comment out line 161 if you don&#8217;t have dynamic rules <strong>#dynamicdetection directory /usr/local/lib/snort_dynamicrules</strong></li>
<li>now when you are done if you are not using IPV6 delete <strong>sf_sdf.dll</strong> file from <strong>C:\Snort\lib\snort_dynamicpreprocessor</strong> to avoid this error</li>
<li>start Snort to test it</li>
<li>start Snort as service if test is OK</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/failed-to-initialize-dynamic-preprocessor-sf_sdf-ipv6-version-1-1-1/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>#Arduino flash trigger v1 &#8211; parts list and schematics</title>
		<link>http://blog.amarkulo.com/arduino-flash-trigger-v1-parts-list-and-schematics</link>
		<comments>http://blog.amarkulo.com/arduino-flash-trigger-v1-parts-list-and-schematics#comments</comments>
		<pubDate>Tue, 06 Apr 2010 21:34:05 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[part]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[schematics]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=349</guid>
		<description><![CDATA[So as promised here is the parts list for the first version of the Arduino flash trigger. 1x Atmega 168 or smaller chip with Arduino bootloader preprogrammed (the code compiled is only 4k) 1x 28-pin IC socket (so that you &#8230; <a href="http://blog.amarkulo.com/arduino-flash-trigger-v1-parts-list-and-schematics">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So as promised here is the parts list for the first version of the Arduino flash trigger.</p>
<ul>
<li>1x Atmega 168 or smaller chip with Arduino bootloader preprogrammed (the code compiled is only 4k)</li>
<li>1x 28-pin IC socket (so that you can use chip for other projects latter)</li>
<li>1x 16MhZ ceramic resonator</li>
<li>1x 16&#215;2 lcd display, HD44780 compatible</li>
<li>1x 7805 5V voltage regulator</li>
<li>4x micro buttons</li>
<li>1x SFH615 optocouppler</li>
<li>2x 3mm led diodes (green for power and yellow for activity)</li>
<li>4x 220R resistors, 1x 10K resistor and 1x 1K resistor</li>
<li>2x trim potentiometers (4K7 and 10K)</li>
<li>3x male headers(6-pin, 3-pin and 2-pin)</li>
<li>3x ceramic capacitators(0.1 uF, 1uF, 10uF)</li>
<li>1x 3.5 mm female jack for connection to laser</li>
</ul>
<p>Now this post wouldn&#8217;t be complete without Eagle schematic and board files. You can download them on the following link: <a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=6" title="Version1 downloaded 442 times" >Trigger schematics (442)</a>.</p>
<p>I don&#8217;t have schematics of the laser side because it&#8217;s simple. I&#8217;m leading 3 wires with 3.5mm audio cable, analog in, gnd and vcc(+5V). In the laser box I have laser which is connected directly to the vcc and gnd, one foto resistor that is giving to high value to analog in so I have one resistor before it connected to gnd.</p>
<p>So we have:</p>
<ul>
<li>GND wire is connected to laser gnd wire and to one side of let&#8217;s say 2M resistor which other side is connected to one leg of photo resistor</li>
<li>VCC wire is connected to laser vcc wire</li>
<li>Analog in wire connected to other leg of the photo resistor</li>
</ul>
<p>It depends on which photo resistor you are using how big resistor value before it you have to use. Arduino is capable of reading analog in until value of 1024 and that&#8217;s reason why the big resistor value is needed, so you are testing which one do you need until the value of direct laser beam to the photo resistor is under 1024, mine is about 920.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-flash-trigger-v1-parts-list-and-schematics/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>#Arduino flash trigger – update 2</title>
		<link>http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2</link>
		<comments>http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2#comments</comments>
		<pubDate>Sun, 28 Mar 2010 19:18:24 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[nikon]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=339</guid>
		<description><![CDATA[So the first prototype board is soldered. All parts are mounted now and everything is working except debug button, I have to find why is that because I couldn&#8217;t find any obvious reason. The soldering was OK with only few &#8230; <a href="http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So the first prototype board is soldered. All parts are mounted now and everything is working except debug button, I have to find why is that because I couldn&#8217;t find any obvious reason.</p>
<p>The soldering was OK with only few places to be fixed because of strong acid mix, but nothing special.</p>
<p>Here are some pictures of the finished trigger.</p>

<a href='http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2/top' title='Top side with display mounted'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/top-150x150.jpg" class="attachment-thumbnail" alt="Top side with display mounted" title="Top side with display mounted" /></a>
<a href='http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2/top-disassambled' title='Top side with display unmounted'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/top-disassambled-150x150.jpg" class="attachment-thumbnail" alt="Top side with display unmounted" title="Top side with display unmounted" /></a>
<a href='http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2/bottom' title='Bottom side soldered'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/bottom-150x150.jpg" class="attachment-thumbnail" alt="Bottom side soldered" title="Bottom side soldered" /></a>

<p>P.S. This is final and last prototype of the version 1. The next one will be better, without trimpots, with 3-4 keys, lot of menus and few outputs instead of one.</p>
<p>Stay tuned!!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>#Arduino flash trigger &#8211; update 1</title>
		<link>http://blog.amarkulo.com/arduino-flash-triger-update-1</link>
		<comments>http://blog.amarkulo.com/arduino-flash-triger-update-1#comments</comments>
		<pubDate>Sun, 21 Mar 2010 22:53:22 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[nikon]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=332</guid>
		<description><![CDATA[Here are two pictures of the first prototype board for the Arduino flash trigger. Things that I have changed from the last scheme are: removed triggering 3.5mm female connector, instead I have 3-pin connectors to connect wires on one or &#8230; <a href="http://blog.amarkulo.com/arduino-flash-triger-update-1">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here are two pictures of the first prototype board for the Arduino flash trigger. Things that I have changed from the last scheme are:</p>
<ul>
<li>removed triggering 3.5mm female connector, instead I have 3-pin connectors to connect wires on one or two flashes</li>
<li>added 6 pin programming header so that I can program Atmega chip without removing it from the board every time</li>
<li>added 3 pin jumper header for power selection (usb/external)</li>
</ul>
<p>Here are two pictures of a fresh etched board, not perfect on the corners because of bad mixing of the acid but good enough for the first attempt.</p>

<a href='http://blog.amarkulo.com/arduino-flash-triger-update-1/attachment/1' title='Top'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/1-150x150.jpg" class="attachment-thumbnail" alt="Top" title="Top" /></a>
<a href='http://blog.amarkulo.com/arduino-flash-triger-update-1/2-3' title='Bottom'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/2-150x150.jpg" class="attachment-thumbnail" alt="Bottom" title="Bottom" /></a>

<p>P.S. Updated schema coming soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-flash-triger-update-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#Arduino -&gt; Flash trigger via laser for watterdrops</title>
		<link>http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops</link>
		<comments>http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops#comments</comments>
		<pubDate>Mon, 22 Feb 2010 10:54:39 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[laser]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[nikon]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=291</guid>
		<description><![CDATA[Today I have been asked if I can write something about mine Nikon flash Arduino trigger video that I have put on Youtube. And here it is, description, schematics, video and sample pictures. The idea has already been seen on &#8230; <a href="http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I have been asked if I can write something about mine <span style="text-decoration: line-through;">Nikon</span> flash Arduino trigger video that I have put on Youtube.</p>
<p>And here it is, description, schematics, video and sample pictures.</p>
<p>The idea has already been seen on the Internet. Arduino is controlling photo resistor on which laser beam is pointed. When resistance changes itself because of the drop that is cutting beam then Arduino is triggering Nikon camera after the amount of time specified with one trim capacitor which can be between 0 and 1023, but I have divided it with 2 so that I have better control of the delay. All information is displayed on 2&#215;16 LCD display. Also to be able to take picture of drops colliding it&#8217;s necessary that speed of the drops be 10 drops/sec so I have implemented one button for that with proper code behind it.</p>
<p>I have also 4 buttons and 2 led diodes on the board. Buttons that I have are <strong>reset</strong> for resetting of the electronics, <strong>debug</strong> that is switching debug mode on and off, <strong>drops</strong> that is designed to count drops per second and <strong>ready </strong>button that is used when I&#8217;m taking pictures so that when drops are falling fast I don&#8217;t trigger camera every time when they are going down. Led diodes that I&#8217;m using are <strong>green </strong>for power and <strong>yellow </strong>for visual notification when the trigger is trigged.</p>
<p>Here is the final schematics that I&#8217;m using right now.</p>
<p style="text-align: center;">
<div class="wp-caption alignnone" style="width: 197px"><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/schema.png"><img title="Nikon-Arduino trigger schema" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/schema.png" alt="Nikon-Arduino trigger schema" width="187" height="114" /></a><p class="wp-caption-text">Nikon-Arduino trigger schema</p></div>
<p>For simplified solution with cables I&#8217;m using standard audio cables with 3.5mm stereo jacks on both sides, so I can use same cables for other purposes as well. I have also modified Nikon cable remote so that it has 3.5mm female stereo jack built in for simple use with trigger and without it.</p>
<div class="wp-caption alignnone" style="width: 370px"><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/3.jpg"><img title="Modified Nikon cable release" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/3.jpg" alt="Nikon trigger schema" width="360" height="480" /></a><p class="wp-caption-text">Modified Nikon cable release</p></div>
<p>Here are few pictures of the whole setup.</p>
<p style="text-align: center;">
<div class="wp-caption alignnone" style="width: 370px"><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/1.jpg"><img title="Nikon Trigger" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/1.jpg" alt="Nikon Trigger" width="360" height="480" /></a></p>
<p><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/2.jpg"><img title="Nikon Trigger" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/2.jpg" alt="Nikon Trigger" width="360" height="480" /></a></p>
<p><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/laser.jpg"><img title="Nikon Trigger" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/laser.jpg" alt="Nikon Trigger" width="360" height="480" /></a></p>
<p><p class="wp-caption-text">Nikon Trigger</p></div>
<p>Of course code behind is in this <a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=5" title="Version1.1 downloaded 397 times" >NikonFastTrigger.pde (397)</a> file available for download.</p>
<p>Simple instructions.</p>
<ol>
<li>when the program is loaded it will display Ready on the second line</li>
<li>when drop breaks laser beam then instead of Ready on display will be Busy until you press Ready button</li>
<li>offten because I have laser box about 1m above the surface delay is needed between 150-220 ms</li>
</ol>
<p>For drops counter I&#8217;m doing like this.</p>
<ol>
<li>switch to drops counter with drops button</li>
<li>then I try to create drops stream with about 1 drop per second with help of the normal digital watch and by changing delay I set Arduino to recognize that as 1drop/sec</li>
<li>now the only thing left is to configure drops stream to 10 drops/second for colliding watterdrops</li>
</ol>
<p>Here are couple of pictures captured with this setup and pictures of colliding drops are to come.</p>

<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/1-2' title='1'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/11-150x150.jpg" class="attachment-thumbnail" alt="1" title="1" /></a>
<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/2-2' title='2'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/21-150x150.jpg" class="attachment-thumbnail" alt="2" title="2" /></a>
<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/3-2' title='3'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/31-150x150.jpg" class="attachment-thumbnail" alt="3" title="3" /></a>
<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/attachment/4' title='4'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/4-150x150.jpg" class="attachment-thumbnail" alt="4" title="4" /></a>
<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/attachment/5' title='5'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/5-150x150.jpg" class="attachment-thumbnail" alt="5" title="5" /></a>

<p>And here is the video from YouTube.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="445" height="364" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Qb_YpJO0nLc&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/Qb_YpJO0nLc&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>CANON PowerShot and Ixus service manual and part list</title>
		<link>http://blog.amarkulo.com/canon-powershot-and-ixus-service-manual-and-part-list</link>
		<comments>http://blog.amarkulo.com/canon-powershot-and-ixus-service-manual-and-part-list#comments</comments>
		<pubDate>Fri, 08 Jan 2010 20:21:12 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[ixus]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[powershot]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[service manual]]></category>
		<category><![CDATA[shot]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=278</guid>
		<description><![CDATA[Last week my kids have broken Ixus 70 that my wife got for hers birthday. I tried to find service manual to see how am I going to assemble lens but without any success, at least not for free. So &#8230; <a href="http://blog.amarkulo.com/canon-powershot-and-ixus-service-manual-and-part-list">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last week my kids have broken Ixus 70 that my wife got for hers birthday.</p>
<p>I tried to find service manual to see how am I going to assemble lens but without any success, at least not for free.</p>
<p>So finally when I have founded it and paid for it, I though why not have it here on blog so that everyone that needs it can get it for free.</p>
<p>So here are they, 2 files, service manual and parts list.</p>
<p>Enjoy.</p>
<ul>
<li><a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=3" title=" downloaded 2563 times" >CANON PowerShot SD10, PowerShot SD750, Digital Elph, Digital Ixus 70, 75 Service Manual - NO PARTS LIST (2563)</a></li>
<li><a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=2" title=" downloaded 1197 times" >CANON PowerShot SD750 DIGITAL ELPH, DIGITAL IXUS 75, IXY DIGITAL 90 Parts List (1197)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/canon-powershot-and-ixus-service-manual-and-part-list/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to install Snort Intrusion Detection System on Windows</title>
		<link>http://blog.amarkulo.com/how-to-install-snort-ids-on-windows</link>
		<comments>http://blog.amarkulo.com/how-to-install-snort-ids-on-windows#comments</comments>
		<pubDate>Tue, 22 Dec 2009 15:05:20 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[capture]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[ids]]></category>
		<category><![CDATA[packet]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sniff]]></category>
		<category><![CDATA[sniffer]]></category>
		<category><![CDATA[snort]]></category>
		<category><![CDATA[win]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[winpcap]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=267</guid>
		<description><![CDATA[First short explanation what is Snort from Snort official website: Snort® is an open source network intrusion prevention and detection system (IDS/IPS) developed by Sourcefire. Combining the benefits of signature, protocol and anomaly-based inspection, Snort is the most widely deployed &#8230; <a href="http://blog.amarkulo.com/how-to-install-snort-ids-on-windows">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>First short explanation what is Snort from Snort official website:</p>
<blockquote><p><em>Snort® is an open source network intrusion prevention and detection system (IDS/IPS) developed by Sourcefire. Combining the benefits of signature, protocol and anomaly-based inspection, Snort is the most widely deployed IDS/IPS technology worldwide.</em></p></blockquote>
<p>Installation of Snort on Windows is pretty simple.</p>
<p>First, you need to download and install few things. For Snort to be able to act as sniffer and IDS it needs Windows Packet Capture Library which is WinPcap. The stable latest version on the site is 4.1.1 and you can download it <a title="WinPcap download" href="http://www.winpcap.org/install/default.htm">here</a>.</p>
<p>Now when we have WinPcap installed the next step will be to download Snort. The latest version for Windows is 2.8.5.1 and you can download it <a title="Snort downloads" href="http://www.snort.org/snort-downloads?">here</a>. Installation shouldn&#8217;t be a problem, if you need IPv6 support and logging to Microsoft SQL or Oracle database then you need to select proper radio and check boxes and if don&#8217;t then just go next and next to the end and that&#8217;s it. Default installation directory is <strong>C:\Snort </strong>so remember it because it will be our working dir all the time.</p>
<p>So we have installed WinPcap and Snort but we are not finished with installation yet. We have one more thing to download and install. The Snort rules. These rules are those small files that tells Snort what it should search for in captured packages and how to identify them, as a threat, information disclosure or something else. For us to be able to download Snort rules we have to be registered on Snort site. Registration is free and rules are one month old for free users, for those who need the latest threats detected at the same moment when they are published to the community I suggest to buy VRT subscription so you will have the latest rules directly as they are announced. So now we will download <strong>snortrules-snapshot-2.8.tar.gz</strong> rules archive file.  When you open archive file you will get following structure:</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_271" class="wp-caption aligncenter" style="width: 148px;">
<dt class="wp-caption-dt"><a href="http://blog.amarkulo.com/new/wp-content/uploads/2009/12/rules.jpg"><img class="size-full wp-image-271" title="Structure of rules " src="http://blog.amarkulo.com/new/wp-content/uploads/2009/12/rules.jpg" alt="" width="138" height="84" /></a></dt>
</dl>
</div>
<p style="text-align: left;">Snort rules</p>
<p style="text-align: left;">Copy all four directories over those in C:\Snort replacing contents that already exists on the hard drive.</p>
<p style="text-align: left;">Now when we are done with easy part we need to configure Snort to run. Because these rules are written for unixoid systems we need to change some things in the main config file C:\Snort\etc\snort.conf so that Snort can start at all.</p>
<p style="text-align: left;">Here are the things that you need to edit to be able to run snort:</p>
<p style="text-align: left;">Find lines 269 and 270. These lines will not allow Snort to start, at least not on Windows because Snort detects the second one as double config detection line so we need to change this.</p>
<p style="text-align: left;">Change from this:</p>
<blockquote>
<p style="text-align: left;">config detection: search-method ac-bnfa<br />
config detection: max_queue_events 5</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">config detection: search-method ac-bnfa max_queue_events 5</p>
</blockquote>
<p style="text-align: left;">Now, the next thing that we need to change is lines where we say to Snort where to find dynamic preprocessor files. On lines from 298 to 303 change this:</p>
<blockquote>
<p style="text-align: left;">dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_dce2_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_dns_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_ftptelnet_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_smtp_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_ssh_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_ssl_preproc.so</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_dce2.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_dcerpc.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_dns.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_smtp.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_ssh.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_ssl.dll</p>
</blockquote>
<p style="text-align: left;">Next thing to change is line 324 on which we have dynamic engine path, so change it from this:</p>
<blockquote>
<p style="text-align: left;">dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">dynamicengine C:\Snort\lib\snort_dynamicengine\sf_engine.dll</p>
</blockquote>
<p style="text-align: left;">I don&#8217;t know why, maybe some mistake, but lines bellow should be commented out by default, but they were not so we have to comment them out. Because we are not VRT subscriber and don&#8217;t have any dynamic detection files we need to coment lines from 339 to 354, so change this:</p>
<blockquote>
<p style="text-align: left;">dynamicdetection file /usr/local/lib/snort_dynamicrules/bad-traffic.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/chat.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/dos.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/exploit.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/imap.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/misc.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/multimedia.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/netbios.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/nntp.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/p2p.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/smtp.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/sql.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/web-client.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/web-misc.so</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">#dynamicdetection file /usr/local/lib/snort_dynamicrules/bad-traffic.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/chat.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/dos.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/exploit.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/imap.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/misc.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/multimedia.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/netbios.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/nntp.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/p2p.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/smtp.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/sql.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/web-client.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/web-misc.so</p>
</blockquote>
<p style="text-align: left;">Now we need to trim a bit SSH preprocessor to work on Windows as it is different from Linux one, so find line 753 and change this:</p>
<blockquote>
<p style="text-align: left;">preprocessor ssh: server_ports { 22 } \<br />
max_client_bytes 19600 \<br />
max_encrypted_packets 20 \<br />
disable_srvoverflow \<br />
disable_protomismatch \<br />
disable_badmsgdir</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">preprocessor ssh: server_ports { 22 } \<br />
max_client_bytes 19600 \<br />
max_encrypted_packets 20</p>
</blockquote>
<p style="text-align: left;">Now we are good to go. We can test snort easily from the command line. So now go on <strong>Start-&gt;Run </strong>and type <strong>cmd</strong> following by enter key. Now in command prompt type following commands:</p>
<blockquote>
<p style="text-align: left;">c: and then enter key</p>
<p style="text-align: left;">cd c:\snort\bin and then enter key</p>
<p style="text-align: left;">snort -v -c C:\snort\etc\snort.conf -l C:\snort\log -K ascii and then enter key</p>
</blockquote>
<p style="text-align: left;">So now we have entered Snort directory and started Snort on command line. You will first see Snort starting and parsing config file snort.conf and then you will see lot of output when Snort start sniffing and controlling packages on the network. If it finds any package that is not regular network traffic it will save info about it in c:\Snort\Log\alert.ids file. Simple output of one captured packet looks like this:</p>
<blockquote>
<p style="text-align: left;">[**] [1:254:7] DNS SPOOF query response with TTL of 1 min. and no authority [**]<br />
[Classification: Potentially Bad Traffic] [Priority: 2]<br />
12/22-12:19:12.577553 192.168.137.206:53 -&gt; 192.168.137.10:55153<br />
UDP TTL:128 TOS:0&#215;0 ID:5399 IpLen:20 DgmLen:79<br />
Len: 51</p>
</blockquote>
<p style="text-align: left;">Now to explain what we have here. The first line says what type of attack is it, the second line says what classification is it and what priority does it have, and the last three lines are data about the attack, attacker IP, your IP, destination and source ports and so on.</p>
<div style="text-align: left;">Important part of this log is<strong> [Priority: 2]</strong> because that&#8217;s how you can identify the real threat from false one. The threats are divided in three groups, group 3 or <strong>[Priority: 3] </strong>is the lowest one and it usually means that someone is scanning your network. The second one is a bit serious. It&#8217;s information disclosure and it has <strong>[Priority: 2]</strong>. This means that someone has got some info about services that you are running which is usually the first part of any attack, gaining of information. The most critical one is the one with <strong>[Priority: 1] </strong>which usually means that right now someone is trying to exploit some of services that you are running. This could mean that you have older version of some service on your server, like IIS that is not updated or Exchange server or something else and that snort has detected some patterns in packages sent to server that could be exploits which can do harm.</div>
<div style="text-align: left;">Now we can stop Snort with <strong>Ctrl+C</strong> and Snort will display some statistics. The only thing that we have to do now is to install Snort as a Windows service. To do so we will write following command on command prompt:</div>
<blockquote>
<div style="text-align: left;">snort /service /install -c C:\Snort\etc\snort.conf -l C:\Snort\log -K ascii</div>
</blockquote>
<div style="text-align: left;">After this command service is installed and you can start it from service manager or simply type <strong>sc start snortsvc.</strong></div>
<div style="text-align: left;">So with this Snort is installed on your machine and is logging everything. Now you just need some program to parse alerts and do actions based on the alert priority. There are lot of those available on the Internet.</div>
<div style="text-align: left;"></div>
<div style="text-align: left;"><strong>Note 1:</strong> If you have more than one network interface on your machine you need to tell Snort on which one should it listen. First type snort -W command to list all interfaces on your machine (works only on Windows) and then when you find which interface is the one that you will listen on then you need to add <strong>-i n</strong> where n is number of interface from the list that you got. You need to add that to all Snort commands that you are executing from command prompt and when creating Windows service.</div>
<div style="text-align: left;"><strong>Note 2:</strong> If you want Snort to log alerts to Eventlog as well as to log files than add -E (only on Windows) to the command line parameters.</div>
<div style="text-align: left;"><strong>Update</strong>:  Here is my <a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=4" title=" downloaded 619 times" >snort.conf (619)</a> file which is working on my machine without any problems. It could be something with updated rules that can cause problems with starting of Snort.</div>
<div style="text-align: left;"><strong>Update2</strong>:  One trailing / on ssh preprocesor line was left by mistake, now it&#8217;s removed.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/how-to-install-snort-ids-on-windows/feed</wfw:commentRss>
		<slash:comments>65</slash:comments>
		</item>
		<item>
		<title>Arduino wired remote code scanner for Alpine</title>
		<link>http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine</link>
		<comments>http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine#comments</comments>
		<pubDate>Sun, 22 Nov 2009 23:27:26 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[alpine]]></category>
		<category><![CDATA[cdr]]></category>
		<category><![CDATA[codes]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[wired]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=238</guid>
		<description><![CDATA[Currently I&#8217;m working on project of interfacing Alpine with Peugeot steering wheel audio controls. I have founded some codes on mp3car.com but not all of them are working on my Alpine CDE-9880R. Because some of them doesn&#8217;t work on my &#8230; <a href="http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Currently I&#8217;m working on project of interfacing Alpine with Peugeot steering wheel audio controls. I have founded some codes on <a title="Mp3car.com - Need Alpine wired remote control pinout" href="http://www.mp3car.com/vbulletin/input-devices/131147-need-alpine-wired-remote-control-pinout.html#post1314327">mp3car.com</a> but not all of them are working on my <a title="Alpine CDE-9880R" href="http://blog.amarkulo.com/new-toy-alpine-cde-9880r">Alpine CDE-9880R</a>.</p>
<p>Because some of them doesn&#8217;t work on my HU I had first to build Arduino scanner to scan for those missing remote codes.</p>
<p>Although I&#8217;m sending codes as binaries it was easier for me to work with decimals on the serial console and then latter convert them to binary so I have wrote function for that as well.</p>
<p>Because the first part of signal is always the same there was not need to convert it at all, and it&#8217;s stored in variable <strong>iHello</strong>, so the part that is changed is the second part or 3 decimal numbers.</p>
<p>Now because there are <strong>255*255*255 = 16 581 375</strong> possible combinations I had to bring this to some reasonable number otherwise it would take very much time to find right codes so I have limited combinations a bit.</p>
<p>I took the lowest and the highest values from codes from link above for the first and the second decimals, and limited the third one to 2 possible numbers that I&#8217;m sending as finish 85 or 213.</p>
<p>Here are those codes that I have founded working on my HU:</p>
<ol>
<li>87  253   85 ( 01010111  11111101  01010101 ) &#8211; Pause</li>
<li>107 247   85 ( 01101011  11110111  01010101 ) &#8211; Band/ta</li>
<li>111  237   85 ( 01101111  11101101  01010101 ) &#8211; Defeat</li>
<li>119 235   85 ( 01110111  11101011  01010101 ) &#8211; Power</li>
<li>173 238 213 ( 10101101  11101110  11010101 ) &#8211; Mute</li>
<li>183 219   85 ( 10101101  11101110  11010101 ) &#8211; Source</li>
<li>187 218 213 ( 10111011  11011010  11010101 ) &#8211; Next Track</li>
<li>93  250 213 ( 01011101  11111010  11010101 ) &#8211; Previous track</li>
<li>219 214 213 ( 11011011  11010110  11010101 ) &#8211; Volume up</li>
<li>109 246 213 ( 01101101  11110110  11010101 ) &#8211; Volume down</li>
<li>171 239 85 ( 10101011  11101111  01010101 ) &#8211; Folder/memory up</li>
<li>85 255 85   ( 01010101  11111111  01010101 ) &#8211; Folder/Memory down</li>
</ol>
<p>Now because I have IR remote for my HU and defeat is not on it I assume that it&#8217;s possible to find even more codes for it but I didn&#8217;t those so I stopped here where I have everything for my first project.</p>
<p>Here are pictures of the interface that I have built for testing of codes. It consists of 5 buttons which have been assigned different functions and 3.5 mm female audio jack which I use for connection with HU. HU has the same 3.5 mm female jack on the back so I can use regular 3.5mm stereo cable for testing without any modifications on HU or Arduino board.</p>

<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0256-copy' title='IMG_0256 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0256-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0256 copy" title="IMG_0256 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0257-copy' title='IMG_0257 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0257-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0257 copy" title="IMG_0257 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0258-copy' title='IMG_0258 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0258-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0258 copy" title="IMG_0258 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0259-copy' title='IMG_0259 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0259-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0259 copy" title="IMG_0259 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0260-copy' title='IMG_0260 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0260-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0260 copy" title="IMG_0260 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0261-copy' title='IMG_0261 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0261-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0261 copy" title="IMG_0261 copy" /></a>

<p>Here is the Arduino <a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=1" title="Version0.24 downloaded 461 times" >Alpine scanner (461)</a> sketch file with all functions that I have used for scanning, saving and displaying codes on serial console.</p>
<p>Here are the instructions how to use this sketch to find codes.</p>
<ol>
<li>First you need to erase eeprom with erase function to be sure that it&#8217;s clean on the start of scan.</li>
<li>Now comment out function for erase and uncomment function for saving combination on eeprom</li>
<li>Now you are ready for scan, so when you connect Arduino to your HU just press button 4 to start scan</li>
<li>When you see some change on HU you need to press button 4 to stop scan</li>
<li>Using buttons 1 and 3 you can go back or forward to find that combination that you discovered</li>
<li>When you find it you can verify it with button 2 which repeats it again</li>
<li>If that is combination that you are looking fore press button 5 to save it to eeprom</li>
<li>When you have found all combinations that you are interested of connect Arduino to computer and on serial console you will have all combinations that you have found, so copy and paste them in iFounded array</li>
<li>Comment out functions for saving, previous and next button and uncomment functions for import of combinations, sending of previous and next combinations</li>
<li>Now when you power up Arduino press button nr 5 to import combinations and cycle them with buttons 1 or 2 to confirm that you have right combinations saved</li>
</ol>
<p>Now when I have all of the codes needed to control HU I can finish the first project and the post about it is coming soon.</p>
<p>Any comments are welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to install Wine on Snow Leopard</title>
		<link>http://blog.amarkulo.com/wine-on-snow-leopard</link>
		<comments>http://blog.amarkulo.com/wine-on-snow-leopard#comments</comments>
		<pubDate>Mon, 26 Oct 2009 16:05:32 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[Mac tips]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[snow]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[wine]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=234</guid>
		<description><![CDATA[If you would like to have console Wine installed on your Snow Leopard machine procedure is simple. Install MacPorts In Terminal type sudo port selfupdate, to fetch the latest repository contents Run sudo port install wine to install all things &#8230; <a href="http://blog.amarkulo.com/wine-on-snow-leopard">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you would like to have console Wine installed on your Snow Leopard machine procedure is simple.</p>
<ol>
<li>Install M<a title="The MacPorts Project" href="http://www.macports.org/install.php" target="_blank">acPorts </a></li>
<li>In Terminal type <strong>sudo port selfupdate</strong>, to fetch the latest repository contents</li>
<li>Run <strong>sudo port install wine</strong> to install all things needed for Wine. You can ignore error at the end regarding Wine version.</li>
<li>Install Git in terminal <strong>sudo port install git-core</strong></li>
<li>Fetch the lattest source from winehq with git,  <strong>git clone git://<a title="Linkification: http://source.winehq.org/git/wine.git" href="http://source.winehq.org/git/wine.git">source.winehq.org/git/wine.git</a> ~/wine-git</strong></li>
<li>Enter to the <strong>~/wine-git</strong> directory and run <strong>./configure</strong>,<strong> ./make</strong>, <strong>./make dep</strong> and <strong>./make install</strong> commands</li>
</ol>
<p>That&#8217;s it. Wine is now installed on your machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/wine-on-snow-leopard/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sorting of images by creation date from EXIF</title>
		<link>http://blog.amarkulo.com/sorting-of-images-based-on-creation-date-from-exif</link>
		<comments>http://blog.amarkulo.com/sorting-of-images-based-on-creation-date-from-exif#comments</comments>
		<pubDate>Tue, 15 Sep 2009 10:50:44 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[exif]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac tips]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[sorting]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=231</guid>
		<description><![CDATA[In my working with photographs the first step in postprocessing is moving them from memory card to pc. Usually this is done via Adobe Bridge and it works like a charm, new folders are being created based by date, files &#8230; <a href="http://blog.amarkulo.com/sorting-of-images-based-on-creation-date-from-exif">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my working with photographs the first step in postprocessing is moving them from memory card to pc. Usually this is done via Adobe Bridge and it works like a charm, new folders are being created based by date, files renamed and so on, but Adobe bridge lacks a support for importing folders from hdd as source folders which is option that I need right now, as I have founded on my hdd that I have lot of images that are coppied from memory card directly to hdd as they were created on card.</p>
<p>This brings me to the problem that I have lot of folders with lot of images without any order. This has begun to frustrate me, so I started to write program that will sort them based on exif in respective folders, but one night while reading <a title="Dpreview forums" href="http://forums.dpreview.com">DPreview</a> forum I have founded link to one program that can do exactly what I want on the way I want.</p>
<p>The program is called DIM or Digital Image Mover. It&#8217;s exactly what it&#8217;s name says, image mover from one place to another. It doesn&#8217;t do anything more, just move/copy images from one place to another in the respective folders that are created by the date template that you provide.</p>
<p>Program is written in Java so it works on all platforms that have support for JRE &#8211; Java Runtime Enviroment and so far I have tested it on Mac OS and Windows without any problems.</p>
<p>It has support for all major raw files (NEF, CR2, CRW), jpeg, tiff, png and so on.</p>
<p>Here is a <a title="DIM: Digital Image Mover" href="http://www.alanlight.com/dim/Dim.htm">link</a> to the site of the Alan Light who is author of the program, where you can find the latest version (4.0 at the moment), download it and send donation to author of the program.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/sorting-of-images-based-on-creation-date-from-exif/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Almost 100 year old door lock</title>
		<link>http://blog.amarkulo.com/100-year-old-door-lock</link>
		<comments>http://blog.amarkulo.com/100-year-old-door-lock#comments</comments>
		<pubDate>Wed, 02 Sep 2009 10:28:00 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=222</guid>
		<description><![CDATA[Here is one picture that I took yesterday of  almost 100 year old door lock on one Swedish church that was built in 1912. Sepia effect and little bit contrast/sharpening was applied in post processing.]]></description>
			<content:encoded><![CDATA[<p>Here is one picture that I took yesterday of  almost 100 year old door lock on one Swedish church that was built in 1912.</p>
<p>Sepia effect and little bit contrast/sharpening was applied in post processing.</p>
<p style="text-align: center;">
<div id="attachment_223" class="wp-caption aligncenter" style="width: 345px"><img class="size-full wp-image-223  " title="Door lock" src="http://blog.amarkulo.com/new/wp-content/uploads/2009/09/DSC5562.jpg" alt="Door lock" width="335" height="223" /><p class="wp-caption-text">Door lock</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/100-year-old-door-lock/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable IPV6 in Windows 2008 server or Vista</title>
		<link>http://blog.amarkulo.com/disable-ipv6-windows</link>
		<comments>http://blog.amarkulo.com/disable-ipv6-windows#comments</comments>
		<pubDate>Fri, 26 Jun 2009 13:20:50 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[adapter]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[failover]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tcp]]></category>
		<category><![CDATA[tunnel]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=220</guid>
		<description><![CDATA[Today while installing 2008 failover cluster I got error or notification from SQL server that two of my servers have same IPV6 address. Because I don&#8217;t use IPV6 and I have disabled it in network properties it was a bit &#8230; <a href="http://blog.amarkulo.com/disable-ipv6-windows">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today while installing 2008 failover cluster I got error or notification from SQL server that two of my servers have same IPV6 address. Because I don&#8217;t use IPV6 and I have disabled it in network properties it was a bit weird to see this message.</p>
<p>Then I run ipconfig command that showed to me lot of Tunnel adapters that were disconnected and created automatically by Vista.</p>
<p>So to have painful installation of new cluster I have disabled IPV6 protocol totally.</p>
<p>Here is solution:</p>
<ul>
<li>start run with win key + r or by start menu</li>
<li>regedit</li>
<li>go to HKLM\System\CurrentControlSet\Services\Tcpip6\Parameters</li>
<li>add new dword (32bit) value DisableComponents with value 1</li>
<li>restart</li>
<li>enjoy</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/disable-ipv6-windows/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to copy IIS configuration to another server</title>
		<link>http://blog.amarkulo.com/how-to-copy-iis-configuration-to-another-server</link>
		<comments>http://blog.amarkulo.com/how-to-copy-iis-configuration-to-another-server#comments</comments>
		<pubDate>Thu, 18 Jun 2009 09:14:18 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=217</guid>
		<description><![CDATA[In case that you ever wanted to migrate IIS from one server to another with all sites, application pools, etc. this is a very simple solution for that. First you open Internet Information Services in mmc (Microsoft Management Console) and &#8230; <a href="http://blog.amarkulo.com/how-to-copy-iis-configuration-to-another-server">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In case that you ever wanted to migrate IIS from one server to another with all sites, application pools, etc. this is a very simple solution for that.</p>
<p>First you open Internet Information Services in mmc (Microsoft Management Console) and with right click on it you go on Backup/Restore. Create new backup, name it with something familiar and set password on it.</p>
<p>Now when backup is done you will see it in the list of backups.</p>
<p>Next step would be to open directory C:\Windows\System32\inetsrv\MetaBack and find there two files with extensions MD0 and SC0. Copy these two files to some media (network, usb, floppy, etc.) and transfer them to same directory on another server.</p>
<p>Restore process is the same like for a backup, take Backup/Restore from Internet Information Services in mmc (Microsoft Management Console) and in the list of backups you will see your backup as well. Click on it, take restore, confirm yes that existing configuration will be deleted and write password when asked.</p>
<p>Voila. Now you have two identical IIS servers.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/how-to-copy-iis-configuration-to-another-server/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Merge pdf files online</title>
		<link>http://blog.amarkulo.com/merge-pdf-files-online</link>
		<comments>http://blog.amarkulo.com/merge-pdf-files-online#comments</comments>
		<pubDate>Fri, 12 Jun 2009 08:04:23 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[freware]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[mergepdf]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=210</guid>
		<description><![CDATA[If you ever have had problem that you need software to merge several pdf documents here comes online solution with name MergePDF.net. You select files, press merge button and then you download merged file. Easy, fast and w/o any need &#8230; <a href="http://blog.amarkulo.com/merge-pdf-files-online">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you ever have had problem that you need software to merge several pdf documents here comes online solution with name MergePDF.net.</p>
<p>You select files, press merge button and then you download merged file.</p>
<p>Easy, fast and w/o any need to buy/install other programs for doing the very same thing.</p>
<p>Link <a title="MergePDF.net" href="http://www.mergepdf.net" target="_blank">here</a> and if you find this solution worthy there is Donate button on the page to support this project.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/merge-pdf-files-online/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Block Facebook quizzes and trivia</title>
		<link>http://blog.amarkulo.com/block-facebook-quizzes-and-trivia</link>
		<comments>http://blog.amarkulo.com/block-facebook-quizzes-and-trivia#comments</comments>
		<pubDate>Tue, 09 Jun 2009 21:29:32 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[hide]]></category>
		<category><![CDATA[ignore]]></category>
		<category><![CDATA[quiz]]></category>
		<category><![CDATA[quizzes]]></category>
		<category><![CDATA[trivia]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=206</guid>
		<description><![CDATA[If you are using Facebook, it&#8217;s really hard to tell who is more dumber, people that create quizzes or those who are filling them out. Luckily there is soultion. Steve has wroten Facebook Purity Greasemonkey script for cleaning up Facebook &#8230; <a href="http://blog.amarkulo.com/block-facebook-quizzes-and-trivia">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you are using Facebook, it&#8217;s really hard to tell who is more dumber, people that create quizzes or those who are filling them out.</p>
<p>Luckily there is soultion.</p>
<p><a href="http://steeev.freehostia.com/wp/2009/03/19/facebook_purity_cleans_up_the_facebook_homepage/" target="_blank">Steve</a> has wroten Facebook Purity <a title="Greasemonkey" href="https://addons.mozilla.org/en-US/firefox/addon/748" target="_blank">Greasemonkey</a> script for cleaning up Facebook from quiz and trivia<span style="text-decoration: line-through;">, while <a title="Daniel's blog" href="http://www.daniels.net.nz/2009/05/31/block-facebook-quizzes-from-your-news-feed/" target="_blank">Daniel</a> has edited it not to block some applications as well</span>. You need to have <a title="Greasemonkey" href="https://addons.mozilla.org/en-US/firefox/addon/748" target="_blank">Greasemonkey</a> Firefox add-on installed first to be able to use <a title="Greasemonkey" href="https://addons.mozilla.org/en-US/firefox/addon/748" target="_blank">Greasemonkey</a> scripts.</p>
<p>Here is <a href="http://steeev.freehostia.com/wp/2009/03/19/facebook_purity_cleans_up_the_facebook_homepage/" target="_blank">Steve&#8217;s</a> script<span style="text-decoration: line-through;"> and here is <a title="Daniel's blog" href="http://www.daniels.net.nz/2009/05/31/block-facebook-quizzes-from-your-news-feed/" target="_blank">Daniel&#8217;s</a> edited script</span>.</p>
<p>Both are working like a charm and quizzes and trivia are blocked directly and only thing that you will see is one short message about blocked items like on picture bellow.</p>
<p style="text-align: center;">
<div id="attachment_207" class="wp-caption aligncenter" style="width: 296px"><img class="size-full wp-image-207" title="Clean Facebook " src="http://blog.amarkulo.com/new/wp-content/uploads/2009/06/untitled-2.jpg" alt="Clean Facebook " width="286" height="93" /><p class="wp-caption-text">Clean Facebook </p></div>
<p>Update 2009-06-15:  Steve has asked Daniel to remove improved version of his script and he did it. Lame if you ask me, because his script blocks also some applications as well. Luckily I have a backup <img src='http://blog.amarkulo.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/block-facebook-quizzes-and-trivia/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Synchronize directories from command prompt</title>
		<link>http://blog.amarkulo.com/synchronize-directories</link>
		<comments>http://blog.amarkulo.com/synchronize-directories#comments</comments>
		<pubDate>Wed, 27 May 2009 05:55:13 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[2003]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[command prompt]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[dominik jain]]></category>
		<category><![CDATA[mirror]]></category>
		<category><![CDATA[mirror.exe]]></category>
		<category><![CDATA[oblivion]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[win]]></category>
		<category><![CDATA[win32]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=202</guid>
		<description><![CDATA[If you have ever wanted to synchronize 2 directories from command prompt in windows this tool is must-have for you. It works perfectly from scheduled tasks as well, so it&#8217;s easy to write batch script that will execute every night &#8230; <a href="http://blog.amarkulo.com/synchronize-directories">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you have ever wanted to synchronize 2 directories from command prompt in windows this tool is must-have for you.<br />
It works perfectly from scheduled tasks as well, so it&#8217;s easy to write batch script that will execute every night and synchronize files and folders.</p>
<p>The program is called Mirror and is written by Dominik Jain and you can download it <a title="Dominik Jain" href="http://home.in.tum.de/~jain/index.html" target="_blank">here</a>. The latest version is 1.43.</p>
<p>It works very simple like it should, you enter source and destinations dir and that&#8217;s it. If you want only to test it w/o any actions taken just add -d (d for demonstration).</p>
<p>Of course it has possibility to enter file mask or regular expressions as well and it&#8217;s only 172kb in size.</p>
<p>On his <a title="Dominik Jain" href="http://home.in.tum.de/~jain/index.html" target="_blank">site</a> you can find few more tools and utils that he wrote.</p>
<p>Here is the backup link just in case <a class="downloadlink" href="http://blog.amarkulo.com/wp-content/plugins/download-monitor/download.php?id=9" title=" downloaded 35 times" >Mirror 1.43 (35)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/synchronize-directories/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Finally &#8211; XP sound card driver for Dell XPS 430</title>
		<link>http://blog.amarkulo.com/xp-sound-card-driver-for-dell-xps-430</link>
		<comments>http://blog.amarkulo.com/xp-sound-card-driver-for-dell-xps-430#comments</comments>
		<pubDate>Fri, 15 May 2009 08:58:54 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[430]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[dell]]></category>
		<category><![CDATA[driverpacks]]></category>
		<category><![CDATA[driverpacks.net]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[xp]]></category>
		<category><![CDATA[xps]]></category>
		<category><![CDATA[xps 430]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=198</guid>
		<description><![CDATA[Finally thanks to driverpacks.net forum I have found sound card driver for my Dell XPS 430. Sadly but Dell has built driver for this card to works only on Windows Vista and on IDT site it&#8217;s impossible to download drivers &#8230; <a href="http://blog.amarkulo.com/xp-sound-card-driver-for-dell-xps-430">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<div>Finally thanks to driverpacks.net forum I have found sound card driver for my Dell XPS 430.</div>
<p></p>
<div>Sadly but Dell has built driver for this card to works only on Windows Vista and on IDT site it&#8217;s impossible to download drivers because they have such agreement with OEMs that they cannot provide drivers by themselves.</div>
<p></p>
<div><a title="Pukkita's Digital Darkroom Corner" href="http://www.insflug.org/raw/article/89/windows-xp-audio-driver-for-dell-xps-430" target="_blank">Pukkita</a> has modified one of the IDT sound card drivers for Gateway and it works on my Dell.</div>
<p></p>
<div>Link for download you can find on <a title="Pukkita's Digital Darkroom Corner" href="http://www.insflug.org/raw/article/89/windows-xp-audio-driver-for-dell-xps-430" target="_blank">Pukkita&#8217;s blog</a> as well as Paypal Donations link.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/xp-sound-card-driver-for-dell-xps-430/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows snipping tool but for XP</title>
		<link>http://blog.amarkulo.com/windows-screenshots</link>
		<comments>http://blog.amarkulo.com/windows-screenshots#comments</comments>
		<pubDate>Thu, 30 Apr 2009 10:54:43 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[print screen]]></category>
		<category><![CDATA[printscreen]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[screenshot]]></category>
		<category><![CDATA[shot]]></category>
		<category><![CDATA[snipping]]></category>
		<category><![CDATA[snipping tool]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=195</guid>
		<description><![CDATA[While testing Windows Vista long time ago I have noticed new program called Snipping tool that could take screen shots from whole screen or part of the screen. I have searched a bit to find if it is possible to &#8230; <a href="http://blog.amarkulo.com/windows-screenshots">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>While testing Windows Vista long time ago I have noticed new program called Snipping tool that could take screen shots from whole screen or part of the screen.</p>
<p>I have searched a bit to find if it is possible to have it on XP because Vista sucks <img src='http://blog.amarkulo.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  but is&#8217;t only available for Tablet PCs.</p>
<p>Luckily there are free solutions and replacements on the Internet.</p>
<p>Program is called <strong><a title="Gadwin Systems Inc." href="http://www.gadwin.com">Gadwin</a> <a title="Gadwin PrintScreen" href="http://www.gadwin.com/printscreen/">PrintScreen</a></strong> and it&#8217;s freeware.</p>
<p>When you install it you get a small tray icon and it&#8217;s automatically activated with <strong>Print Screen </strong>key.</p>
<p>In program options you can configure where to save output files, what type of picture they are going to be, resizing options and so on.</p>
<p>You can download program on this <a title="Download Gadwin PrintScreen" href="http://www.gadwin.com/download/index.htm#PrintScreen">link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/windows-screenshots/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to jailbreak Iphone 2G (untethered solution)</title>
		<link>http://blog.amarkulo.com/jailbreak-iphone-2g</link>
		<comments>http://blog.amarkulo.com/jailbreak-iphone-2g#comments</comments>
		<pubDate>Thu, 12 Mar 2009 10:27:28 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[2G]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[DFU]]></category>
		<category><![CDATA[entering DFU]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[ipsw]]></category>
		<category><![CDATA[itouch]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[libusb]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[redsnow]]></category>
		<category><![CDATA[tethered]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[untethered]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=184</guid>
		<description><![CDATA[Yesterday I have found on iPod Touch Fans forums instructions how to jailbreak iPod touch 2G. Instructions are on link here tnx to shortperson1026 who created this tutorial. BEFORE you begin, restore your iPod Touch clean to it&#8217;s factory state. &#8230; <a href="http://blog.amarkulo.com/jailbreak-iphone-2g">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I have found on iPod Touch Fans forums instructions how to jailbreak iPod touch 2G. Instructions are on link <a title="iPod Touch Fans Forum" href="http://www.ipodtouchfans.com/forums/showthread.php?t=155816">here</a> tnx to <strong>shortperson1026 </strong>who created this tutorial.</p>
<blockquote><p><strong>BEFORE you begin, restore your iPod Touch clean to it&#8217;s factory state.</strong><br />
As with every other tutorial you need the C++ redistributable and LIBusb.</p>
<p>1. Download unofficialsn0w 2.0 for Windows from here <a rel="nofollow" href="http://outgoing.ipodtouchfans.com/?d=aHR0cDovL3d3dy5tZWdhdXBsb2FkLmNvbS8/ZD1SRDNJVVdPVw%7E%7E" target="_blank"><span style="color: red;"><strong>Download</strong></span></a></p>
<p>2. Get the 2.2.1 iPod Touch Firmware <a rel="nofollow" href="http://outgoing.ipodtouchfans.com/?d=aHR0cDovL2FwcGxkbmxkLmFwcGxlLmNvbS5lZGdlc3VpdGUubmV0L2NvbnRlbnQuaW5mby5hcHBsZS5jb20vaVBob25lLzA2MS01ODYzLjIwMDkwMTI3LnJ0NTZLL2lQb2QyLDFfMi4yLjFfNUgxMWFfUmVzdG9yZS5pcHN3" target="_blank"><span style="color: red;">HERE</span></a></p>
<p>3. Rename the 2.2.1 ipsw to OriginalFW, or <strong>OriginalFW.ipsw IF you have file extensions visible</strong>, and place it in /IPSW</p>
<p>4. Run IPSW.bat (It will take a while)</p>
<p>5.<br />
<span style="color: red;"> a.Right click on the jb.ispw and either open with Winrar or 7.zip</span></p>
<p>b.Go into Firmware\all_flash\all_flash.n72ap.production\</p>
<p>c. Delete the LLB file.(optional since it will be replaced by the new one)</p>
<p>d. Replace (by dragging) with the LLB file that&#8217;s in the same folder as the jb.ipsw.</p>
<p>e. Exit, continue to step 6</p>
<p>6. Place your iPod Touch 2G into DFU mode, plug it in and run RUNME.exe</p>
<p>7. Shift + Restore to JB.ipsw in iTunes and your done!!!</p></blockquote>
<p>Although I have done all that is written there, during flashing I would receive error and iPod would stay in recovery mode.</p>
<p>Then I have found one small program &#8211; <a title="QuickFreedom Untethered GUI" href="http://www.ipodtouchfans.com/forums/showthread.php?t=155875">QuickFreedom &#8211; Untethered GUI</a> that has created firmware for me that I could flash latter with iTunes and jailbreak my iPod. So if you have problems with first solution try the program and also if you want to change boot logos you can do it with this program. For original firmware you can use one that you have downloaded from link above.</p>
<p>Some notes.</p>
<p>Note 1.</p>
<blockquote><p>You will need libusb for first solution (and I think for second one as well) and you can download it <a title="Usb filter" href="http://downloads.sourceforge.net/libusb-win32/libusb-win32-filter-bin-0.1.12.1.exe?use_mirror=heanet">here</a>.</p></blockquote>
<p>Note 2.</p>
<blockquote><p>Entering DFU mode is not that simple as someone would say it is. Here are steps to enter it:</p>
<ul>
<li>Power off iPod.</li>
<li>Press and hold power and home buttons.</li>
<li>Ipod will start and then it will shut down again. When this happens release power button and hold home button for 15-20 seconds.</li>
<li>You will have blank black screen and it means that you have entered in DFU mode.</li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/jailbreak-iphone-2g/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mass updating SaveAs field in outlook contacts</title>
		<link>http://blog.amarkulo.com/outlook-saveas-updating</link>
		<comments>http://blog.amarkulo.com/outlook-saveas-updating#comments</comments>
		<pubDate>Tue, 13 Jan 2009 15:49:47 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[contacts]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[fileas]]></category>
		<category><![CDATA[macro]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[save]]></category>
		<category><![CDATA[saveas]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[vb]]></category>
		<category><![CDATA[vbscript]]></category>
		<category><![CDATA[visual]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=181</guid>
		<description><![CDATA[If you ever had a problem that you needed to change SaveAs field in contacts in Microsoft Outlook on all contacts here is one small VB script that parse everything for you. The only thing that you need to do &#8230; <a href="http://blog.amarkulo.com/outlook-saveas-updating">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you ever had a problem that you needed to change SaveAs field in contacts in Microsoft Outlook on all contacts here is one small VB script that parse everything for you.</p>
<p>The only thing that you need to do is uncomment proper part of the code which is strFileAs.</p>
<p>In my case I wanted to everything be formated as Firstname Lastname instead of reverse way that is default in outlook.</p>
<p>Press alt+f11 to open vb editor, paste the code, edit strFileAs and press F5 to run it. When it&#8217;s done you will have your contacs sorted and changed in your way.</p>
<p>P.S. removing comment in vb means removing sign &#8216; in front of the line or text, so if you want to comment something write &#8216; in front of the line. In this case you will comment out <strong>strFileAs = .FullName</strong> part if you don&#8217;t want to be Firstname Lastname format and uncomment some other strFileAs line that fits your needs.</p>
<blockquote><p>Public Sub ChangeFileAs()<br />
Dim objOL As Outlook.Application<br />
Dim objNS As Outlook.NameSpace<br />
Dim objContact As Outlook.ContactItem<br />
Dim objItems As Outlook.Items<br />
Dim objContactsFolder As Outlook.MAPIFolder<br />
Dim obj As Object<br />
Dim strFirstName As String<br />
Dim strLastName As String<br />
Dim strFileAs As String</p>
<p>On Error Resume Next</p>
<p>Set objOL = CreateObject(&#8220;Outlook.Application&#8221;)<br />
Set objNS = objOL.GetNamespace(&#8220;MAPI&#8221;)<br />
Set objContactsFolder = objNS.GetDefaultFolder(olFolderContacts)<br />
Set objItems = objContactsFolder.Items</p>
<p>For Each obj In objItems<br />
&#8216;Test for contact and not distribution list<br />
If obj.Class = olContact Then<br />
Set objContact = obj</p>
<p>With objContact<br />
&#8216; Uncomment the  strFileAs line for the desired format</p>
<p>&#8216;Lastname, Firstname (Company) format<br />
&#8216; strFileAs = .FullNameAndCompany</p>
<p>&#8216;Firstname Lastname format<br />
strFileAs = .FullName</p>
<p>&#8216;Lastname, Firstname format<br />
&#8216; strFileAs = .LastNameAndFirstName</p>
<p>&#8216;Company name only<br />
&#8216; strFileAs = .CompanyName</p>
<p>&#8216;Companyname (Lastname, Firstname)<br />
&#8216; strFileAs = .CompanyAndFullName</p>
<p>.FileAs = strFileAs</p>
<p>.Save<br />
End With<br />
End If</p>
<p>Err.Clear<br />
Next</p>
<p>Set objOL = Nothing<br />
Set objNS = Nothing<br />
Set obj = Nothing<br />
Set objContact = Nothing<br />
Set objItems = Nothing<br />
Set objContactsFolder = Nothing<br />
End Sub</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/outlook-saveas-updating/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lenovo/IBM Cisco VPN problem</title>
		<link>http://blog.amarkulo.com/lenovo-ibm-cisco-vpn-problem</link>
		<comments>http://blog.amarkulo.com/lenovo-ibm-cisco-vpn-problem#comments</comments>
		<pubDate>Wed, 26 Nov 2008 13:51:14 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[finger]]></category>
		<category><![CDATA[fingerprint]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[ipsec]]></category>
		<category><![CDATA[lenovo]]></category>
		<category><![CDATA[PEER_DELETE-IKE_DELETE_UNSPECIFIED]]></category>
		<category><![CDATA[ppptp]]></category>
		<category><![CDATA[thinkpad]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=179</guid>
		<description><![CDATA[Yesterday I tried to connect to my work network with Cisco VPN client after recent reinstallation of my laptop but without success. Error that I was getting was PEER_DELETE-IKE_DELETE_UNSPECIFIED. I tried to find some with similar problem on Google but &#8230; <a href="http://blog.amarkulo.com/lenovo-ibm-cisco-vpn-problem">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I tried to connect to my work network with Cisco VPN client after recent reinstallation of my laptop but without success.</p>
<p>Error that I was getting was <strong>PEER_DELETE-IKE_DELETE_UNSPECIFIED</strong>. I tried to find some with similar problem on Google but that wasn&#8217;t successful either.</p>
<p>So the only thing to do was to install Windows from scratch and begin from start again with elimination of software.</p>
<p>After a while I have found that new version of Thinkpad Fingerprint Software 5.8 was cause of my agony. It took me almost 2 days to find this error but reverting on older version 5.6 solved the problem.</p>
<p>I hope that this will help someone with similar problem like I had.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/lenovo-ibm-cisco-vpn-problem/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to mount web folder (webdav) under Linux?</title>
		<link>http://blog.amarkulo.com/mount-web-dav-folder</link>
		<comments>http://blog.amarkulo.com/mount-web-dav-folder#comments</comments>
		<pubDate>Sun, 23 Nov 2008 21:15:28 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[davfs]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web folder]]></category>
		<category><![CDATA[webdav]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=177</guid>
		<description><![CDATA[I have recently received 10GB of disk space from my ISP for free so I thought that I could store backup of my local server there. For making my Ubuntu server to recognise webdav as a file system I needed &#8230; <a href="http://blog.amarkulo.com/mount-web-dav-folder">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have recently received 10GB of disk space from my ISP for free so I thought that I could store backup of my local server there.</p>
<p>For making my Ubuntu server to recognise webdav as a file system I needed to install package <strong>davfs2</strong>.</p>
<p>After installation all I needed to do was to create one new directory on / and execute following command:</p>
<blockquote><p><strong>mount -t davfs http://your.server/your_username /mount_point</strong></p></blockquote>
<p>After that you will get prompt to enter username and password.</p>
<p>That&#8217;s it, now you have your webdav folder mounted.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/mount-web-dav-folder/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating simple cleanup scripts on Windows 2003</title>
		<link>http://blog.amarkulo.com/cleanup-scripts</link>
		<comments>http://blog.amarkulo.com/cleanup-scripts#comments</comments>
		<pubDate>Mon, 10 Nov 2008 14:05:46 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[2003]]></category>
		<category><![CDATA[bat]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[clean up]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[forfiles]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=175</guid>
		<description><![CDATA[Here is one short tip. If you had problem with old log files that are being held on system after too much time and wanted to delete all of them automatically here is explanation how to do it. open notepad &#8230; <a href="http://blog.amarkulo.com/cleanup-scripts">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is one short tip. If you had problem with old log files that are being held on system after too much time and wanted to delete all of them automatically here is explanation how to do it.</p>
<ol>
<li>open notepad</li>
<li>write this line in it <strong>Forfiles -p &#8220;c:\temp&#8221; -s -m *.log -d -14 -c &#8220;Cmd /C del @FILE&#8221;</strong></li>
<li>save file and then change it extension from .txt to .bat</li>
</ol>
<p>So here we have batch file created that will do following:</p>
<ul>
<li>find all <strong>.log</strong> files in <strong>c:\temp</strong> path</li>
<li>older than <strong>14 days</strong></li>
<li>and <strong>delete </strong>them</li>
</ul>
<p>Here is small explanation of the command line:</p>
<ul>
<li><strong>-p &#8220;full path&#8221; </strong>is used to specify exact path to the destination dir, it can be c:\ or c:\temp</li>
<li><strong>-s </strong>says to forfiles that it will go recursive into subdirs</li>
<li><strong>-m *.ext </strong>creates filter for files of the <strong>.ext </strong>extension, it can be<strong> *.* </strong>as well</li>
<li><strong>-d 7</strong> says to forfiles to filter files from output above to match current date minus number of days</li>
<li><strong>-c &#8220;command&#8221;</strong> executes command on files that are returned from output of forfiles command</li>
<li><strong>cmd /c command</strong> is saying to <strong>cmd</strong> that is command prompt to execute command and terminate itself</li>
</ul>
<p>Now to test this batch file you can delete or comment out command part so you will get output from forfiles only without deleting of the files. Also you can use move command instead of del to move logfiles to another location.</p>
<p>If everything works like it should open Start-&gt;Control panel-&gt;Scheduled tasks and create new task to executes every day or in any time frame that you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/cleanup-scripts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&quot;&#039;Agent XPs&#039; component is turned off as part of the security configuration for this server.&quot; error while creating maintenance plans on MsSQL server 2005</title>
		<link>http://blog.amarkulo.com/agent-xps-component</link>
		<comments>http://blog.amarkulo.com/agent-xps-component#comments</comments>
		<pubDate>Mon, 13 Oct 2008 10:18:51 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[agent]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[sp2]]></category>
		<category><![CDATA[subplan]]></category>
		<category><![CDATA[xp]]></category>
		<category><![CDATA[xps]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=168</guid>
		<description><![CDATA[While trying to create some maintenance plans on MsSql server 2005 (default installation) with SP2 installed I have received this error message: 'Agent XPs' component is turned off as part of the security configuration for this server. While trying different &#8230; <a href="http://blog.amarkulo.com/agent-xps-component">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>While trying to create some maintenance plans on MsSql server 2005 (default installation) with SP2 installed I have received this error message:</p>
<blockquote>
<pre>'Agent XPs' component is turned off as part of the security configuration for this server.</pre>
</blockquote>
<p>While trying different solutions from Microsoft, MSDN and different forums I have found one that worked for me. Open new query window, copy code below and hit F5 for executing. After this you can create plans.</p>
<blockquote>
<pre>sp_configure 'show advanced options', 1;

GO

RECONFIGURE;

GO

sp_configure 'Agent XPs', 1;

GO

RECONFIGURE

GO</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/agent-xps-component/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&quot;Setup failed to start on the remote machine. Check the Task scheduler event log on the remote machine.&quot; error while installing Microsoft Sql Server 2005 in failover cluster</title>
		<link>http://blog.amarkulo.com/setup-failed-to-start-on-the-remote-machine-check-the-task-scheduler-event-log-on-the-remote-machine-error-while-installing-microsoft-sql-server-2005-in-failover-cluster</link>
		<comments>http://blog.amarkulo.com/setup-failed-to-start-on-the-remote-machine-check-the-task-scheduler-event-log-on-the-remote-machine-error-while-installing-microsoft-sql-server-2005-in-failover-cluster#comments</comments>
		<pubDate>Fri, 26 Sep 2008 10:17:10 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[2005]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[failover]]></category>
		<category><![CDATA[machine]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[scheduler]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[task]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=165</guid>
		<description><![CDATA[Last few days I was installing failover cluster in MsSql 2005 and whille installing it I got this error and installation wouldn&#8217;t continue. In error logs there is message: Running: ScheduleActionAction at: 7d8/8/19 b:c:2a Complete: ScheduleActionAction at: 7d8/8/19 b:c:2b, returned &#8230; <a href="http://blog.amarkulo.com/setup-failed-to-start-on-the-remote-machine-check-the-task-scheduler-event-log-on-the-remote-machine-error-while-installing-microsoft-sql-server-2005-in-failover-cluster">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last few days I was installing failover cluster in MsSql 2005 and whille installing it I got this error and installation wouldn&#8217;t continue.</p>
<p>In error logs there is message:</p>
<blockquote><p>Running: ScheduleActionAction at: 7d8/8/19 b:c:2a<br />
Complete: ScheduleActionAction at: 7d8/8/19 b:c:2b, returned true<br />
Skipped: InstallASAction.11<br />
Waiting for actions from remote setup(s)<br />
Breaking wait state and aborting package due to cancel code received: 642<br />
Remote setup(s) are ready<br />
Notify package action is determined: 642<br />
Error Code: 0x800700e9 (233)<br />
Windows Error Text: No process is on the other end of the pipe.</p>
<p>Source File Name: remotemessagelib\overlappedpipelistener.cpp<br />
Compiler Timestamp: Fri Jul 29 01:13:51 2005<br />
Function Name: sqls::OverlappedPipeListener::writePipe<br />
Source Line Number: 294</p></blockquote>
<p>Fix for this error is simple. Log out any users on another node in cluster and that&#8217;s it. So simple.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/setup-failed-to-start-on-the-remote-machine-check-the-task-scheduler-event-log-on-the-remote-machine-error-while-installing-microsoft-sql-server-2005-in-failover-cluster/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to build antispam SMTP gateway for Exchange on Ubuntu 8.04</title>
		<link>http://blog.amarkulo.com/how-to-build-spam-free-smtp-gateway-for-exchange-on-ubuntu-804</link>
		<comments>http://blog.amarkulo.com/how-to-build-spam-free-smtp-gateway-for-exchange-on-ubuntu-804#comments</comments>
		<pubDate>Sat, 13 Sep 2008 16:10:51 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[8.04]]></category>
		<category><![CDATA[antivirus]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[aptitude]]></category>
		<category><![CDATA[clam]]></category>
		<category><![CDATA[clamav]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[gateway]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mailscanner]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[relay]]></category>
		<category><![CDATA[scanner]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[spamassassin]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virus]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=141</guid>
		<description><![CDATA[Because previous solution that I have done on Windows didn&#8217;t worked in way I wanted, I have decided to make dedicated Linux SMTP filtering gateway. Note: You can copy/paste all commands written here although they are not inline, they will &#8230; <a href="http://blog.amarkulo.com/how-to-build-spam-free-smtp-gateway-for-exchange-on-ubuntu-804">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Because previous solution that I have done on Windows didn&#8217;t worked in way I wanted, I have decided to make dedicated Linux SMTP filtering gateway.</p>
<p><strong>Note:</strong> You can copy/paste all commands written here although they are not inline, they will be when you paste them to shell or file.</p>
<p>For this I needed to have:</p>
<ul>
<li>Fully functional Linux machine ( I had already installed Ubuntu 8.04 server )</li>
<li>Postfix &#8211; default installation will do</li>
<li>Mail Scanner &#8211; free package that you can get on <a title="Mail scanner" href="http://mailscanner.info/" target="_blank">MailScanner home page</a></li>
<li>SpamAssassin &#8211; free antispam solution</li>
<li>Clam AV &#8211; free antivirus</li>
</ul>
<p>Before of installing anything we will fetch the latest list of packages from Ubuntu repositories with command:</p>
<blockquote><p><strong>aptitude update</strong></p></blockquote>
<p>Now before installation of a Mail Scanner we need to install some packages with command:<strong> </strong><strong></strong></p>
<blockquote><p><strong>aptitude </strong><strong>install libconvert-tnef-perl libdbd-sqlite3-perl libfilesys-df-perl libmailtools-perl libmime-tools-perl libmime-perl libnet-cidr-perl libsys-syslog-perl libio-stringy-perl libfile-temp-perl</strong> <strong>libole-storage-lite-perl libarchive-zip-perl postfix clamav clamav-daemon libsys-hostname-long-perl libnet-cidr-lite-perl spamassassin<br />
</strong></p></blockquote>
<p>Answer with Y when asked to install dependencies for these packages. During the installation of postfix you will get simple menu in which you need to select Internet site and write your full host name with domain.</p>
<p>Because whole configuration of Postfix is being done via main.cf and master.cf files we need to change some values in them. Open <strong>main.cf</strong> and add/edit following lines to look like this:</p>
<blockquote><p><strong> myhostname = ubuntu.sp.local<br />
mydomain = sp.local<br />
myorigin = $mydomain<br />
inet_interfaces = all<br />
mydestination = $myhostname, localhost.$mydomain $mydomain<br />
mynetwork_style = host<br />
relay_domains = lab.net<br />
transport_maps = hash:/etc/postfix/transport<br />
append_at_myorigin = no<br />
local_recipient_maps =<br />
header_checks = regexp:/etc/postfix/header_checks<br />
</strong></p></blockquote>
<p>Now open <strong>/etc/postfix/transport </strong>and add your forwarding domains in it. For multiple domains go to new row by same principle.</p>
<blockquote><p><strong>sp.local smtp:[192.168.1.5]</strong></p></blockquote>
<p>This ip <strong>192.168.1.5</strong> is IP of my Exchange server, not of my Linux machine and <strong>sp.local</strong> is the name of my domain, replace IP and domain name with yours. After this editing we need to create hash of the transport file and to restart Postfix.</p>
<blockquote><p><strong>postmap /etc/postfix/transport<br />
/etc/init.d/postfix restart</strong></p></blockquote>
<p>Now you can control if Postfix is working like it should and if it transports mail. If everything works stop it so that we can configure other options in it and because it needs to be started after MailScanner.</p>
<blockquote><p><strong>/etc/init.d/postfix stop<br />
</strong></p></blockquote>
<p>Next step would be to unpack and install the latest version of Mail Scanner because Ubuntu 8.04 still doesn&#8217;t have the latest version in the repositories. You can get the latest version of Mail Scanner <a title="Mail scanner" href="http://mailscanner.info/downloads.html" target="_blank">here</a>. Because we will compile it we need .tar.gz version.</p>
<blockquote><p><strong>wget <a class="linkification-ext" title="Linkification: http://mailscanner.info/files/4/tar/MailScanner-install-4.71.10-1.tar.gz" href="http://mailscanner.info/files/4/tar/MailScanner-install-4.71.10-1.tar.gz">http://mailscanner.info/files/4/tar/MailScanner-install-4.71.10-1.tar.gz</a><br />
tar zxvf MailScanner-install-4.71.10-1.tar.gz<br />
cd MailScanner-install-4.71.10<br />
./install.sh</strong></p></blockquote>
<p>You will see lot of output when you run <strong>./install.sh</strong> because it will check which Perl modules do you have installed and install those that are missing, but as installation says:</p>
<blockquote><p><em>Do not worry too much about errors from the next command.<br />
It is quite likely that some of the Perl modules are<br />
already installed on your system.</em></p></blockquote>
<p>When <strong>install.sh </strong>is done you will get message to enter some lines in crontab to automatize jobs. Type <strong>crontab -e</strong> and enter following lines in crontab (:w to write and exit if you are using Vi editor ctrl+x for Pico).</p>
<blockquote><p><strong>37 5 * * * /opt/MailScanner/bin/update_phishing_sites<br />
07 * * * * /opt/MailScanner/bin/update_bad_phishing_sites<br />
58 23 * * * /opt/MailScanner/bin/clean.quarantine<br />
42 * * * * /opt/MailScanner/bin/update_virus_scanners<br />
3,23,43 * * * * /opt/MailScanner/bin/check_mailscanner</strong></p></blockquote>
<p>Now we need to edit <strong>/etc/default/spamassassin</strong> file and to enable SpamAssassin daemon. Open this file with editor and change these lines:</p>
<blockquote><p><strong>ENABLED=0 to ENABLED=1<br />
CRON=0 to CRON=1</strong></p></blockquote>
<p>Now we have enabled SpamAssassin as a daemon and enabled it to update daily via cron. It&#8217;s time to start it for the first time.</p>
<blockquote><p><strong>/etc/init.d/spamassassin start</strong></p></blockquote>
<p>Next step would be to edit MailScanner.conf. Find following lines and edit them to look like this:</p>
<blockquote><p><strong>Run As User = postfix<br />
Run As Group = postfix<br />
MTA = postfix<br />
Incoming Queue Dir = /var/spool/postfix/hold<br />
Outgoing Queue Dir = /var/spool/postfix/incoming<br />
Virus Scanners = clamav<br />
Spam List = SBL+XBL<br />
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin<br />
</strong></p></blockquote>
<p>Now we will run MailScanner with command:</p>
<blockquote><p><strong>/opt/MailScanner/bin/check_mailscanner</strong></p></blockquote>
<p>It will automatically go to background. Now we need to tell Postfix to wait with forwarding of mails while they are checked against spam and antivirus definitions. We will need to edit file <strong>/etc/postfix/header_checks</strong> and to add following line because without it nothing will work.</p>
<blockquote><p><strong>/^Received:/ HOLD</strong></p></blockquote>
<p>Now we need to restart Postfix with command:</p>
<blockquote><p><strong>/etc/init.d/postfix start</strong></p></blockquote>
<p>I have got interesting output when I once killed MailScanner process that really make me laugh.</p>
<blockquote><p><strong>11818 ? Ss 0:00 MailScanner: killing children, bwahaha!<br />
</strong>11819 ? Z 0:01 [MailScanner] &lt;defunct&gt;<br />
11862 ? Z 0:01 [MailScanner] &lt;defunct&gt;<br />
11905 ? Z 0:01 [MailScanner] &lt;defunct&gt;<br />
11948 ? Z 0:01 [MailScanner] &lt;defunct&gt;<br />
11991 ? Z 0:01 [MailScanner] &lt;defunct&gt;<strong><br />
12038 ? Ss 0:00 MailScanner: killing children, bwahaha!<br />
</strong>12039 ? Z 0:01 [MailScanner] &lt;defunct&gt;<br />
12083 ? Z 0:01 [MailScanner] &lt;defunct&gt;<br />
12126 ? Z 0:01 [MailScanner] &lt;defunct&gt;<br />
12169 ? Z 0:01 [MailScanner] &lt;defunct&gt;<br />
12212 ? Z 0:01 [MailScanner] &lt;defunct&gt;</p></blockquote>
<p>LOL, they have a good sense of humor.</p>
<p>So if everything is working correctly you should receive now mails with small footer text:</p>
<blockquote><p><span style="color: #888888;">&#8211;<br />
This message has been scanned for viruses and<br />
dangerous content by <a href="http://www.mailscanner.info/" target="_blank"><strong>MailScanner</strong></a>, and is<br />
believed to be clean. </span></p></blockquote>
<p>You can control message delivery with command:</p>
<blockquote><p><strong>tail -f /var/log/syslog</strong></p></blockquote>
<p>There you will see scrolling text like:</p>
<blockquote><p>Sep 11 10:14:14 ubuntu postfix/smtpd[13220]: connect from web54408.mail.yahoo.com[206.190.49.138]<br />
Sep 11 10:14:14 ubuntu postfix/smtpd[13220]: CE433E643: client=web54408.mail.yahoo.com[206.190.49.138]<br />
Sep 11 10:14:15 ubuntu postfix/cleanup[13222]: CE433E643: hold: header Received: from web54408.mail.yahoo.com (web54408.mail.yahoo.com [206.190.49.138])??by ubuntu.sp.local (Postfix) with SMTP id CE433E643??for &lt;<strong>mymail@mydomain</strong>&gt;; Thu, 11 Sep 2008 10:14:14 -0400 (EDT) from web54408.mail.yahoo.com[206.190.49.138]; from=&lt;<strong>my_yahoo_mail</strong>@yahoo.com&gt; to=&lt;<strong><a class="linkification-ext" title="Linkification: mailto:mymail@mydomain.com" href="mailto:mymail@mydomain.com">mymail@mydomain.com</a></strong>&gt; proto=SMTP helo=&lt;web54408.mail.yahoo.com&gt;<br />
Sep 11 10:14:15 ubuntu postfix/cleanup[13222]: CE433E643: message-id=&lt;<a class="linkification-ext" title="Linkification: mailto:225121.37413.qm@web54408.mail.yahoo.com" href="mailto:225121.37413.qm@web54408.mail.yahoo.com">225121.37413.qm@web54408.mail.yahoo.com</a>&gt;<br />
Sep 11 10:14:15 ubuntu postfix/smtpd[13220]: disconnect from web54408.mail.yahoo.com[206.190.49.138]<br />
Sep 11 10:14:15 ubuntu MailScanner[13211]: New Batch: Scanning 1 messages, 2392 bytes<br />
Sep 11 10:14:16 ubuntu MailScanner[13211]: Virus and Content Scanning: Starting<br />
Sep 11 10:14:20 ubuntu MailScanner[13211]: Requeue: CE433E643.352A5 to 424A5E650<br />
Sep 11 10:14:20 ubuntu postfix/qmgr[13003]: 424A5E650: from=&lt;<strong>my_yahoo_mail</strong>@yahoo.com&gt;, size=1712, nrcpt=1 (queue active)<br />
Sep 11 10:14:20 ubuntu postfix/smtp[13245]: 424A5E650: to=&lt;<strong><a class="linkification-ext" title="Linkification: mailto:mymail@mydomain.com" href="mailto:mymail@mydomain.com">mymail@mydomain.com</a></strong>&gt;, relay=192.168.1.5[192.168.1.5]:25, delay=5.6, delays=5.5/0.01/0/0.15, dsn=2.6.0, status=sent (250 2.6.0 &lt;<a class="linkification-ext" title="Linkification: mailto:225121.37413.qm@web54408.mail.yahoo.com" href="mailto:225121.37413.qm@web54408.mail.yahoo.com">225121.37413.qm@web54408.mail.yahoo.com</a>&gt; Queued mail for delivery)<br />
Sep 11 10:14:20 ubuntu postfix/qmgr[13003]: 424A5E650: removed<br />
Sep 11 10:14:20 ubuntu <strong>MailScanner[13211]:</strong> <strong>Uninfected: Delivered 1 messages</strong></p></blockquote>
<p>This means that MailScanner is scanning messages against spam and viruses.</p>
<p>Now the latest step would be to create RC script to start MailScanner on boot and before Postfix. <a title="Mailscanner bash script" href="http://blog.amarkulo.com/wp-content/uploads/2008/09/mailscanner.txt" target="_blank">Here</a> you can read/download file <a title="Mailscanner bash script" href="http://blog.amarkulo.com/wp-content/uploads/2008/09/mailscanner.txt" target="_blank"><strong>mailscanner.txt</strong></a> file which you will use to create new <strong>/etc/init.d/mailscanner</strong> file.</p>
<p>This script is slightly modified original init script for MailScanner from Ubuntu. Next step would be to change permissions to the file and to create symlinks with commands:</p>
<blockquote><p><strong>chmod 755 /etc/init.d/mailscanner<br />
cd /etc/rc0.d/<br />
ln -s ../init.d/mailscanner K20mailscanner</strong></p>
<p><strong>cd /etc/rc1.d/<br />
ln -s ../init.d/mailscanner K20mailscanner</strong></p>
<p><strong>cd /etc/rc2.d/<br />
ln -s ../init.d/mailscanner S20mailscanner</strong></p>
<p><strong>cd /etc/rc3.d/<br />
ln -s ../init.d/mailscanner S20mailscanner</strong></p>
<p><strong>cd /etc/rc4.d/<br />
ln -s ../init.d/mailscanner S20mailscanner</strong></p>
<p><strong>cd /etc/rc5.d/<br />
ln -s ../init.d/mailscanner S20mailscanner</strong></p>
<p><strong>cd /etc/rc6.d/<br />
ln -s ../init.d/mailscanner K20mailscanner<br />
</strong></p></blockquote>
<p>So now we need to test everything with commands:</p>
<blockquote><p><strong>/etc/init.d/postfix stop<br />
/etc/init.d/mailscanner start<br />
/etc/init.d/postfix start</strong></p></blockquote>
<p><strong>Notes</strong>:</p>
<p>If SpamAssassin doesn&#8217;t detect some of your messages as spam although they are spam you can easy manually learn it to detect that and other similar messages as spam. Follow next few steps:</p>
<ol>
<li>Find that message and save it to text file including headers and content</li>
<li>Transfer file to your linux machine</li>
<li>From the directory where you have transfered file run command: <strong>spamassassin &#8211;spam &lt; your_text_file</strong></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/how-to-build-spam-free-smtp-gateway-for-exchange-on-ubuntu-804/feed</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Vista/XP virtual desktop manager</title>
		<link>http://blog.amarkulo.com/vistaxp-virtual-desktop-manager</link>
		<comments>http://blog.amarkulo.com/vistaxp-virtual-desktop-manager#comments</comments>
		<pubDate>Thu, 11 Sep 2008 10:09:07 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[manager]]></category>
		<category><![CDATA[sysinternals]]></category>
		<category><![CDATA[systray]]></category>
		<category><![CDATA[tray]]></category>
		<category><![CDATA[vdm]]></category>
		<category><![CDATA[virtual]]></category>
		<category><![CDATA[virtual desktop manager]]></category>
		<category><![CDATA[vista]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[windows xp]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=143</guid>
		<description><![CDATA[After intensive testing of Sysinternals Desktops utility I have found new one that is also FREE and that works better than Desktops. Things that I missed in Desktops were: you couln&#8217;t move opened programs between desktops Firefox and Winamp (possible &#8230; <a href="http://blog.amarkulo.com/vistaxp-virtual-desktop-manager">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After intensive testing of Sysinternals Desktops utility I have found new one that is also FREE and that works better than Desktops.</p>
<p>Things that I missed in Desktops were:</p>
<ul>
<li>you couln&#8217;t move opened programs between desktops</li>
<li>Firefox and Winamp (possible some other programs too)  wouldn&#8217;t work on other desktop if they are allready opened on one</li>
<li>desktop backgrounds would disapeer</li>
</ul>
<p>New program that I found is called Vista/XP virtual desktop manager. Some of the options that it provide are:</p>
<ul>
<li>Full screen desktop/window manager/preview with full drag and drop managing</li>
<li>Desktop switch indicator</li>
<li>An infinite number of desktops</li>
<li>Watch the windows move in real time as you drag them around in the window manager</li>
<li>Multiple monitor support</li>
<li>Window menus</li>
<li>Tray icons for each desktop</li>
<li>Per-desktop backgrounds</li>
<li>Configurable colors, fade speeds, hotkeys, etc.</li>
<li>Uses Vista&#8217;s live thumbnails</li>
<li>XP support</li>
<li>And much more!</li>
</ul>
<p>You can find more info about program and download it on <a title="Vista/XP virtual desktop manager" href="http://www.codeplex.com/vdm" target="_blank">this link</a>.</p>
<p>Here are some screenshoots.</p>
<p style="text-align: center;"><a href="http://blog.amarkulo.com/wp-content/uploads/2008/09/screen1.jpg"><img class="size-thumbnail wp-image-144 alignnone" title="screen1" src="http://blog.amarkulo.com/wp-content/uploads/2008/09/screen1-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://blog.amarkulo.com/wp-content/uploads/2008/09/screen2.jpg"> <img class="size-thumbnail wp-image-145 alignnone" title="screen2" src="http://blog.amarkulo.com/wp-content/uploads/2008/09/screen2-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: center;"><a href="http://blog.amarkulo.com/wp-content/uploads/2008/09/screen3.jpg"><img class="alignnone size-thumbnail wp-image-146" title="screen3" src="http://blog.amarkulo.com/wp-content/uploads/2008/09/screen3-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://blog.amarkulo.com/wp-content/uploads/2008/09/screen4.jpg"><img class="alignnone size-thumbnail wp-image-147" title="screen4" src="http://blog.amarkulo.com/wp-content/uploads/2008/09/screen4-150x150.jpg" alt="" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/vistaxp-virtual-desktop-manager/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defending Exchange server against spam with SpamAssassin</title>
		<link>http://blog.amarkulo.com/defending-exchange-server-against-spam-with-spamassassin</link>
		<comments>http://blog.amarkulo.com/defending-exchange-server-against-spam-with-spamassassin#comments</comments>
		<pubDate>Wed, 10 Sep 2008 17:28:22 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[esa]]></category>
		<category><![CDATA[esa sink]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[sink]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[spamassassin]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=139</guid>
		<description><![CDATA[This short howto is written and done on Windows 2003 Server and Exchange 2003 Server. Because lately I (among other users) have begun to receive large number of spam on e-mail server of the company where I work, I have &#8230; <a href="http://blog.amarkulo.com/defending-exchange-server-against-spam-with-spamassassin">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This short howto is written and done on Windows 2003 Server and Exchange 2003 Server.</p>
<p>Because lately I (among other users) have begun to receive large number of spam on e-mail server of the company where I work, I have decided to implement SpamAssassin which is primary made for Linux.</p>
<p>I have searched little bit on the net how to do it and found <a title="ESA Sink" href="http://www.christopherlewis.com/ESA/ExchangeSpamAssassin.htm" target="_blank">ESA Sink</a> written by Christopher G. Lewis. It works on the principle that SpamAssasin is working in serial mode (it scans one message at a time) and ESA Sink take incoming message from Exchange, outputs it to file, run that file through SpamAssasin and returns it to Exchange if it is OK.</p>
<p>Installation and configuration of everything is not that much complicated. It can be divided in following steps:</p>
<ol>
<li>Download and install the latest version of Active Perl from <a title="Active State" href="http://www.activestate.com/" target="_blank">Active State</a></li>
<li>Download <a title="NMake" href="http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe" target="_blank">NMake</a> from Microsoft and after extracting move files to c:\perl\bin</li>
<li>Download <a title="ESA Sink" href="http://www.christopherlewis.com/ESA/ExchangeSpamAssassin.htm" target="_blank">ESA Sink</a> from <a title="Christopher G. Lewis" href="http://www.christopherlewis.com/" target="_blank">Chris&#8217;s site</a></li>
<li>After installation of ESA Sink you will get <strong>ExchangeSpamassassin.ini </strong>file opened</li>
<li>Check config file values, change if necessary, I have changed MaxMsgSizeKB from -1 to 2048 = 2MB and leave it opened for later as well as installation</li>
<li>Now start command prompt, Start-&gt;Run-&gt;Cmd and enter ppm to start Perl Package Manager</li>
<li>If you receive message that ppm is not recognizable type <strong>set path=%path%;c:\perl\bin\</strong> and then <strong>ppm</strong></li>
<li>Now in PPM press<strong> Ctrl+1</strong> to see list of available perl modules for installation</li>
<li>Type <strong>Net-Dns</strong> in search field and when you get this package in list click with right mouse button on it and select install</li>
<li>Now we will do same thing for <strong>IO-Socket-INET6, IP-Country</strong> and <strong>Mail-SPF</strong></li>
<li>Now press <strong>Ctrl+Enter</strong> to install these packages and when it is done you can close <strong>PPM</strong></li>
<li>Download the latest version of <a title="SpamAssassin" href="http://spamassassin.apache.org/" target="_blank">SpamAssassin</a> and unzip it to c:\Mail-SpamAssassin-3.2.5 (3.2.5=current version that you are downloading, in my case 3.2.5)</li>
<li>In the command prompt now type cd c:\Mail-SpamAssassin-3.2.5</li>
<li>Type following command: perl makefile.pl and answer questions before compiling</li>
<li>Now we need to run nmake, so just type <strong>nmake /i </strong>(/i means that we want nmake to compile application ignoring errors)</li>
<li>After compiling we need to run <strong>nmake /i install</strong> to install compiled files</li>
<li>Unset read-only attribute from <strong>c:\perl\site\bin\spamassassin.bat </strong>file</li>
<li>Now to test SpamAssassin we will enter in command prompt to directory <strong>C:\Mail-SpamAssassin-3.2.5\t\data\spam </strong>and execute command <strong>spamassassin -D &lt; 001</strong></li>
<li>If you see lot of text on your command prompt it means that SpamAssassin works like it should and on the end of output you should find scoring for content of file <strong>001</strong></li>
<li>Now we will return to <strong>.ini</strong> file from ESA setup and change line <strong>SpamAssassin_Batch_File </strong>to points to the location of our <strong>spamassassin.bat</strong> file which is <strong>c:\perl\site\bin\spamassassin.bat</strong></li>
<li>Save and close file and finish the ESA installation</li>
<li>At the end of the installation you will leave checkbox to run ESA install script and click Finish button</li>
<li>Small command prompt window will come and leave as soon as ESA is installed</li>
<li>Now to see if it is working properly you can check <strong>C:\ESA\Ham</strong> or <strong>C:\ESA\Spam</strong> directories for files and you can send e-mail to yourself as well, if everything works you should find SpamAssassin information in header of the e-mail</li>
<li>To be sure that you don&#8217;t have any errors you can check C:\ESA\Log directory in which you should find log file with errors</li>
</ol>
<p>This configuration works OK on servers that don&#8217;t receive more than 1500-2000 e-mail per day, but I wouldn&#8217;t recommend it for higher number of e-mails without very strong machine, because in this configuration SpamAssassin works in serial mode, it process one object at a time and this includes downloading of e-mail to file, control against filters, control against URBL lists and then if everything is ok returning it to server for delivery.</p>
<p>For me it was simple test to see if it will work for us, it didn&#8217;t worked because of large number of e-mails that we receive (10 000+ per day) so I will go on solution to create Linux SpamAssassin gateway.</p>
<p>Note: I would recomend creating of small .bat script that will delete .out files older than 7 days to avoid running out of disk on your system disk</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/defending-exchange-server-against-spam-with-spamassassin/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Reinstall Windows XP without activation</title>
		<link>http://blog.amarkulo.com/reinstall-windows-xp-without-activation</link>
		<comments>http://blog.amarkulo.com/reinstall-windows-xp-without-activation#comments</comments>
		<pubDate>Sat, 30 Aug 2008 23:31:16 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[activation]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[reinstallation]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=132</guid>
		<description><![CDATA[If you had ever wanted to slip reactivating Windows XP after reinstallation here is one good tip from [Online Tech Tips]. There is only one file that is needed for sliping of reactivation and that is wpa.dbl which is located &#8230; <a href="http://blog.amarkulo.com/reinstall-windows-xp-without-activation">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you had ever wanted to slip reactivating Windows XP after reinstallation here is one good tip from [<a title="Online Tech Tips" href="http://www.online-tech-tips.com/" target="_blank">Online Tech Tips</a>]. There is only one file that is needed for sliping of reactivation and that is <strong>wpa.dbl</strong> which is located in <strong>C:\Windows\System32 </strong>directory.</p>
<p>So procedure would look like this:</p>
<ul>
<li>find <strong>wpa.dbl</strong> file and save it to some external media (usb disk, floppy, cd, etc.)</li>
<li>reinstall Windows</li>
<li>after reinstallation skip registration and activation</li>
<li>restart pc and on boot pres F8 to enter menu where you can select <strong>safe mode</strong></li>
<li>in safe mode rename existing <strong>wpa.dbl</strong> file to <strong>wpa.dbl.backup </strong>and copy old one</li>
<li>restart</li>
<li>VOILA!!</li>
</ul>
<p>So procedure is very simple and if you create your own installation cd with help of Nlite you can include this file too and skip activation after reinstallation.</p>
<p>Note: This file that you have saved can be used only on the PC that it comes from, on others it won&#8217;t work.</p>
<p>[<a title="Online Tech Tips" href="http://www.online-tech-tips.com/computer-tips/how-to-reactivate-windows/" target="_blank">Online Tech Tips</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/reinstall-windows-xp-without-activation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WavePad Sound Editor &#8211; free sound editor</title>
		<link>http://blog.amarkulo.com/wavepad-sound-editor</link>
		<comments>http://blog.amarkulo.com/wavepad-sound-editor#comments</comments>
		<pubDate>Tue, 26 Aug 2008 13:01:46 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[cooledit]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[nch]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[sound editor]]></category>
		<category><![CDATA[wavepad]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=127</guid>
		<description><![CDATA[I have tested today WavePad Sound editor as it was free solution that I needed to edit some sound files. I was more then surprised with results and program itself. Program layout is very similar with another editing software CoolEdit &#8230; <a href="http://blog.amarkulo.com/wavepad-sound-editor">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have tested today WavePad Sound editor as it was free solution that I needed to edit some sound files. I was more then surprised with results and program itself. Program layout is very similar with another editing software CoolEdit which is commercial product, but capabilities are almost the same.</p>
<p>Program is easy to use, offers many things for both amateur and professional use, can save and import many formats and most important it&#8217;s free.</p>
<p>Here are some of the features listed on home page of the <a title="NCH Software" href="http://www.nch.com.au/wavepad/index.html" target="_blank">NCH Software</a> who are creator of the WavePad:</p>
<blockquote><p>Features</p>
<ul>
<li>Sound editing functions include cut, copy, paste, delete, insert, silence, autotrim and more.</li>
<li>Audio effects include, amplify, normalize, equaliser, envelope, reverb, echo, reverse, sample rate conversion and more.</li>
<li>Full featured Mp3 editing software</li>
<li> Supports a number of other file formats including wav (multiple codecs) vox, gsm, real audio, au, aif, flac, ogg and many more.</li>
<li>Batch processing supports up to 32000 files allowing you to apply effects and/or convert your files as a single function.</li>
<li>Tools include spectral analysis (FFT) and speech synthesis (text-to-speech).</li>
<li>Recorder supports autotrim and voice activated recording and more.</li>
<li>Audio restoration features including noise reduction and click pop removal.</li>
<li>Supports sample rates from 6000 to 96000Hz, stereo or mono, 8, 16, 24 or 32 bits.</li>
<li>Includes its own CD ripper with &#8216;ultrafast &#8216;rip mode and cddb music database lookup.</li>
<li>Works directly with MixPad multi-track audio mixing software.</li>
<li>Links directly to the Express Burn CD Recorder to burn your sound files to CD.</li>
<li>Edit tracks for the Zulu DJ software.</li>
<li>Easy to use interface will get you started editing in just minutes.</li>
</ul>
<p>Typical Editing Applications</p>
<ul>
<li>Software audio editing for studios and professional journalists.</li>
<li>Edit sound files to broadcast over the internet with the BroadWave Streaming Audio Server</li>
<li>Normalizing the level of audio files during mastering before buring to CD.</li>
<li>Editing mp3 files for your iPod, PSP or other portable device.</li>
<li>As a music editor (includes ringtones creator formats).</li>
<li>Music editing and recording to produce mp3 files.</li>
<li>Voice editing for multimedia productions.</li>
<li>Restoration of audio files including removing excess noise such as hiss and hums.</li>
</ul>
</blockquote>
<p>You can download program from <a title="NCH Software" href="http://www.nch.com.au/wavepad/index.html" target="_blank">NCH site.</a></p>
<div id="attachment_128" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.amarkulo.com/wp-content/uploads/2008/08/main.jpg"><img class="size-medium wp-image-128" title="WavePad Sound Editor" src="http://blog.amarkulo.com/wp-content/uploads/2008/08/main-300x248.jpg" alt="WavePad Sound Editor" width="300" height="248" /></a><p class="wp-caption-text">WavePad Sound Editor</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/wavepad-sound-editor/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox ultimate optimizer</title>
		<link>http://blog.amarkulo.com/firefox-ultimate-optimizer</link>
		<comments>http://blog.amarkulo.com/firefox-ultimate-optimizer#comments</comments>
		<pubDate>Sat, 23 Aug 2008 22:35:28 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[addon]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox ultimate optmizer]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[optimizer]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[ram]]></category>
		<category><![CDATA[tab]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=96</guid>
		<description><![CDATA[Firefox is my default, one and only browser and I like it very much. Especially tabs and addons that enables me to increase productivity to the max. But there is one negative thing and that&#8217;s memory consumption. Firefox is known &#8230; <a href="http://blog.amarkulo.com/firefox-ultimate-optimizer">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Firefox is my default, one and only browser and I like it very much. Especially tabs and addons that enables me to increase productivity to the max.</p>
<p style="text-align: left;">But there is one negative thing and that&#8217;s memory consumption.</p>
<p style="text-align: left;">Firefox is known as a big memory eater.</p>
<p style="text-align: left;">Solution is here and it&#8217;s called Firefox ultimate optimizer 2009.</p>
<p style="text-align: left;">It decrease Firefox memory consumption from 180mb and more to just few mbs.</p>
<p style="text-align: left;">Here are two pictures of my taskbar and memory consumption of Firefox before and after running optimizer.</p>
<p style="text-align: left;">You can <span style="text-decoration: line-through;">download it <a title="Firefox ultimate optimizer" href="http://felipex.net/wp-content/uploads/2007/11/firefox-ultimate-optimizer-11.zip">here</a> or visit <a title="felipEx Weblog" href="http://felipex.net/2007/11/08/firefox-ultimate-optimizer-v11/">home page</a>(page is on Spanish)</span> find the new version <a title="Firefox Ultimate Optimizer 2009" href="http://www.ixibo.com/2009/02/firefox-ultimate-optimizer-2009/">here</a>.<span style="text-decoration: line-through;"><br />
</span></p>
<div id="attachment_101" class="wp-caption aligncenter" style="width: 276px"><a href="http://blog.amarkulo.com/wp-content/uploads/2008/08/before.png"><img class="size-medium wp-image-101" title="Before optimizer" src="http://blog.amarkulo.com/wp-content/uploads/2008/08/before-266x300.png" alt="Before upload" width="266" height="300" /></a><p class="wp-caption-text">Before optimizer</p></div>
<p style="text-align: left;">
<div id="attachment_103" class="wp-caption aligncenter" style="width: 276px"><a href="http://blog.amarkulo.com/wp-content/uploads/2008/08/after.png"><img class="size-medium wp-image-103" title="After optimizer" src="http://blog.amarkulo.com/wp-content/uploads/2008/08/after-266x300.png" alt="After upload" width="266" height="300" /></a><p class="wp-caption-text">After optimizer</p></div>
<p>Updated on 2009-09-15: old page is dead, so new program link is here.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/firefox-ultimate-optimizer/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Virtual desktop</title>
		<link>http://blog.amarkulo.com/virtual-desktop</link>
		<comments>http://blog.amarkulo.com/virtual-desktop#comments</comments>
		<pubDate>Sat, 23 Aug 2008 21:26:18 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[desktops]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[sysinternals]]></category>
		<category><![CDATA[virtual]]></category>
		<category><![CDATA[virtual desktop]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=88</guid>
		<description><![CDATA[Sysinternals, company that was started by two programmers and latter bought by Microsoft, had always good freeware tools for administration of windows. Best thing was that they were freeware. Yesterday they have published a new tool with symbolic name Desktops. &#8230; <a href="http://blog.amarkulo.com/virtual-desktop">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sysinternals, company that was started by two programmers and latter bought by Microsoft, had always good freeware tools for administration of windows. Best thing was that they were freeware.</p>
<p>Yesterday they have published a new tool with symbolic name Desktops.</p>
<p>This tool allows you to have up to 4 virtual desktops with separate systrays and programs on them. Even alt+tab combination doesn&#8217;t take programs from another virtual desktops so if you have runned program on one virtual desktop you won&#8217;t get it with alt+tab on another one.</p>
<p>Best of all, you can guess, it&#8217;s free, with size of only 62kb and you can get it <a title="Desktops" href="http://technet.microsoft.com/en-us/sysinternals/cc817881.aspx#">here</a>.</p>
<p style="text-align: center;"><img class="aligncenter" title="Desktops" src="http://i.technet.microsoft.com/cc817881.desktops2(en-us,MSDN.10).png" alt="" width="357" height="282" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/virtual-desktop/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gallery updated</title>
		<link>http://blog.amarkulo.com/gallery-updated</link>
		<comments>http://blog.amarkulo.com/gallery-updated#comments</comments>
		<pubDate>Sat, 23 Aug 2008 11:10:10 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bikes]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[kids]]></category>
		<category><![CDATA[motorcycles]]></category>
		<category><![CDATA[panorama]]></category>
		<category><![CDATA[people]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[pictures]]></category>
		<category><![CDATA[plants]]></category>
		<category><![CDATA[wpg2]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=86</guid>
		<description><![CDATA[So after I have fixed problems with WPG2 and permalinks I have updated gallery with some pictures and albums that I made before. You can view them by clicking on page Gallery on right side or here.]]></description>
			<content:encoded><![CDATA[<p>So after I have fixed problems with WPG2 and permalinks I have updated gallery with some pictures and albums that I made before.</p>
<p>You can view them by clicking on page Gallery on right side or <a title="Gallery" href="http://blog.amarkulo.com/wpg2">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/gallery-updated/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress updated &#8211; permalinks doesn&#039;t work &#8211; fixed</title>
		<link>http://blog.amarkulo.com/wordpress-permalinks-problem-fixed</link>
		<comments>http://blog.amarkulo.com/wordpress-permalinks-problem-fixed#comments</comments>
		<pubDate>Sat, 23 Aug 2008 11:06:39 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[permalink]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[wpg2]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=83</guid>
		<description><![CDATA[This morning I have decided to upgrade version of WordPress installed to the latest one. Everything went ok, backup, upgrade procedure and so on. Suddenly I have realized that none of the links that are permalinks doesn&#8217;t work. I have &#8230; <a href="http://blog.amarkulo.com/wordpress-permalinks-problem-fixed">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This morning I have decided to upgrade version of WordPress installed to the latest one.</p>
<p>Everything went ok, backup, upgrade procedure and so on.</p>
<p>Suddenly I have realized that none of the links that are permalinks doesn&#8217;t work.</p>
<p>I have tried all possible things that I could remember how to fix it including reconfiguration of Apache and different .htaccess files.</p>
<p>After some time when any of these things didn&#8217;t work I got idea to delete all files and install WordPress again with old database.</p>
<p>Directly after I deleted files and copied new ones, permalinks started to work.</p>
<p>Only one thing was different between new and old installations and that were plugins.</p>
<p>So next step was to copy all plugins back and see if everything works or error would come back with them too.</p>
<p>Plugins copied, error present, so next step was to disable plugins one by one and find the one that is causing this error.</p>
<p>Finaly, I have found that WPG2 plugin was cause of this error and that easiest fix for rewrite problem is to disable plugin and then to activate it again.</p>
<p>After this everything worked like it should, all plugins that I had, permalinks and I had the latest version of WordPress installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/wordpress-permalinks-problem-fixed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unable to delete file or folder?</title>
		<link>http://blog.amarkulo.com/unable-to-delete-file-or-folder</link>
		<comments>http://blog.amarkulo.com/unable-to-delete-file-or-folder#comments</comments>
		<pubDate>Thu, 21 Aug 2008 13:13:40 +0000</pubDate>
		<dc:creator>amar</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[cannot delete]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[delete file]]></category>
		<category><![CDATA[delete folder]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[folder]]></category>
		<category><![CDATA[unable to delete]]></category>
		<category><![CDATA[unlock process]]></category>
		<category><![CDATA[unlocker]]></category>

		<guid isPermaLink="false">http://dzo.blogsite.org/?p=77</guid>
		<description><![CDATA[If you have ever tried to delete bunch of files at once you would in almost 50% cases get following error: This can be really annoying when you work on servers. Luckily instead of search-and-destroy-process action there is one FREE &#8230; <a href="http://blog.amarkulo.com/unable-to-delete-file-or-folder">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you have ever tried to delete bunch of files at once you would in almost 50% cases get following error:</p>
<p style="text-align: center;"><img class="aligncenter" title="Unlocker example" src="http://ccollomb.free.fr/unlocker/example.png" alt="" width="408" height="128" /></p>
<p>This can be really annoying when you work on servers.</p>
<p>Luckily instead of search-and-destroy-process action there is one FREE program that can unlock file for you and delete it or delete it after reboot.</p>
<p>Program is called Unlocker and it was written by Cedrick Collomb, it&#8217;s free and you can download it on <a title="Unlocker" href="http://ccollomb.free.fr/unlocker/">this page.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/unable-to-delete-file-or-folder/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

