<?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"
	>

<channel>
	<title>Ruslan Ulanov's Codeshack</title>
	<atom:link href="http://ulanoff.com/blogs/codeshack/feed/" rel="self" type="application/rss+xml" />
	<link>http://ulanoff.com/blogs/codeshack</link>
	<description>The developer's notebook</description>
	<pubDate>Sat, 20 Dec 2008 02:59:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Cyr2Lat Slugs - WordPress Plugin</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/12/10/cyr2lat-slugs/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/12/10/cyr2lat-slugs/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 00:41:30 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[PHP]]></category>

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

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/?p=13</guid>
		<description><![CDATA[На русском читайте ниже&#8230;
If you happen to write Word Press posts in one of the Cyrillic-based languages (i.e. Russian, Bulgarian, Ukrainian, Belarusian, etc.) and are using post&#8217;s title in Permalinks then you know that your post&#8217;s URL will become an unreadable mash of encoded characters (like %45%f0%&#8230;)
I got finally tired of changing encoded slugs to their latin [...]]]></description>
			<content:encoded><![CDATA[<p><a href="#russian">На русском читайте ниже&#8230;</a></p>
<p>If you happen to write Word Press posts in one of the Cyrillic-based languages (i.e. Russian, Bulgarian, Ukrainian, Belarusian, etc.) and are using post&#8217;s title in Permalinks then you know that your post&#8217;s URL will become an unreadable mash of encoded characters (like %45%f0%&#8230;)</p>
<p>I got finally tired of changing encoded slugs to their latin equivalents on my son&#8217;s blog, and started looking for ways to automate this process. The <a href="http://petko.bossakov.eu/wordpress-cyrillic-slugs-plugin/">Cyrillic Slugs</a> plug-in written by <a href="http://petko.bossakov.eu/">Petko Bossakov</a> was my only alternative at the time in WordPress plug-in repository. Unfortunatelly that plug-in didn&#8217;t work for me, since Cyrillic Slugs expects the page to be written in Windows-1251 encoding, and my blog uses WP&#8217;s default/recommended UTF-8. Hence Cyr2Lat Slugs plug-in was born.</p>
<p>Here&#8217;s a sample that illustrates what this plug-in does.</p>
<p>Before Cyr2Lat Slugs:</p>
<ol>
<li>You write a post with title &#8220;Пример заголовка&#8221;</li>
<li>WordPress creates permalink like this:<br />
http://www.myblog.com/2008/12/19/%d0%bf%d1%80%d…b2%d0%ba%d0%b0</li>
</ol>
<p>After Cyr2Lat Slugs:</p>
<ol>
<li>You write a post with title &#8220;Пример заголовка&#8221;</li>
<li>WordPress creates permalink like this:<br />
http://www.myblog.com/2008/12/19/primer-zagolovka</li>
</ol>
<p>Cyr2Lat Slugs is based on Petko&#8217;s original idea and uses one of his functions, but otherwise is written in a more contemporary, object-oriented fashion. It also uses <em>strtr</em> function instead of <em>str_replace</em> which should be much faster.</p>
<p><strong>Please note that you have to save post (click Save or Publish button) for slug conversion to take place!</strong></p>
<p><strong>Version:</strong> 1.0<br />
<strong>Requirements:</strong> WP 2.3+ (WP MU compatible)<br />
<strong>Author:</strong> <a href="http://ulanoff.com">Ruslan Ulanov</a><br />
<strong>License:</strong> <a href="http://gnu.org/licenses/gpl.txt">GPL</a></p>
<p><a href="http://ulanoff.com/dl/cyr2lat-slugs.zip">Download Cyr2Lat Slugs plug-in now.</a></p>
<p><strong>Installation:</strong></p>
<ol>
<li>Copy file cyr2lat-slugs.php to folder <em>wp-content/plugins/</em> on your server.</li>
<li>Activate Cyr2Lat Slugs in Plugins menu of your blog&#8217;s admin interface.</li>
<li>You&#8217;re done. There are no options to configure.</li>
</ol>
<p>Comments are welcome (moderated, no spam please).</p>
<p> <br />
<a name="russian">#</a><br />
<span style="color: #ff0000"><strong>*In Russian*</strong></span></p>
<p>Cyr2Lat Slugs это плагин для платформы Word Press, который переводит русские буквы в заголовке поста в латиницу (транслит), тем самым делая URL читаемым и доступным для поисковиков.</p>
<p>Продемонстрируем работу плагина Cyr2Lat Slugs на примере.</p>
<p>До установки Cyr2Lat Slugs:</p>
<ol>
<li>Вы пишете пост с заголовком &#8220;Пример заголовка&#8221;</li>
<li>WordPress создает для него пермалинк:<br />
http://www.myblog.com/2008/12/19/%d0%bf%d1%80%d…b2%d0%ba%d0%b0</li>
</ol>
<p>После установки Cyr2Lat Slugs:</p>
<ol>
<li>Вы пишете пост с заголовком &#8220;Пример заголовка&#8221;</li>
<li>WordPress создает для него пермалинк:<br />
http://www.myblog.com/2008/12/19/primer-zagolovka</li>
</ol>
<p><strong>Примечание: Пост необходимо сохранить (нажать кнопку Save или Publish), чтобы заголовок был переведен в латиницу!</strong></p>
<p><strong>Версия:</strong> 1.0<br />
<strong>Требования:</strong> WP 2.3+ (работает в WP MU)<br />
<strong>Автор:</strong> <a href="http://ulanoff.com">Руслан Уланов</a><br />
<strong>Лицензия:</strong> <a href="http://gnu.org/licenses/gpl.txt">GPL</a></p>
<p><a href="http://ulanoff.com/dl/cyr2lat-slugs.zip">Загрузить Cyr2Lat Slugs.</a></p>
<p><strong>Установка:</strong></p>
<ol>
<li>Скопируйте файл cyr2lat-slugs.php в папку <em>wp-content/plugins/</em> на сервере.</li>
<li>Активируйте Cyr2Lat Slugs в меню Plugins административного интерфейса вашего блога.</li>
<li>Готово. Больше ничего конфигурировать не надо.</li>
</ol>
<p>Комментарии приветствуются (но модерируются, для отсеивания спама).</p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;t=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;t=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=%D0%9D%D0%B0%20%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%BE%D0%BC%20%D1%87%D0%B8%D1%82%D0%B0%D0%B9%D1%82%D0%B5%20%D0%BD%D0%B8%D0%B6%D0%B5...%0D%0A%0D%0AIf%20you%20happen%20to%20write%20Word%20Press%20posts%20in%20one%20of%20the%20Cyrillic-based%20languages%20%28i.e.%20Russian%2C%20Bulgarian%2C%20Ukrainian%2C%20Belarusian%2C%20etc.%29%20and%20are%20using%20post%27s%20title%20in%20Permalinks%20then%20you%20know%20that%20your%20p" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F&amp;title=Cyr2Lat%20Slugs%20-%20WordPress%20Plugin" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F12%2F10%2Fcyr2lat-slugs%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/12/10/cyr2lat-slugs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mobile Web Best Practices 1.0</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/08/07/mobile-web-best-practices-10/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/08/07/mobile-web-best-practices-10/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 19:30:40 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[CSS]]></category>

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

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

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

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/?p=12</guid>
		<description><![CDATA[The World Wide Web Consortium (W3C) has recently published a document called Mobile Web Best Practices 1.0.
This document specifies Best Practices for delivering Web content to mobile devices. The principal objective is to improve the user experience of the Web when accessed from such devices.
It&#8217;s a good step toward making the Web accessible to millions [...]]]></description>
			<content:encoded><![CDATA[<p>The World Wide Web Consortium (W3C) has recently published a document called <em>Mobile Web Best Practices 1.0</em>.</p>
<blockquote><p>This document specifies Best Practices for delivering Web content to mobile devices. The principal objective is to improve the user experience of the Web when accessed from such devices.</p></blockquote>
<p>It&#8217;s a good step toward making the Web accessible to millions of small screen devices, not blessed with a combination of iPhone&#8217;s hi-res LCD and a powerful Safari browser. <img src='http://ulanoff.com/blogs/codeshack/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The document is available from W3C&#8217;s web site <a href="http://www.w3.org/TR/2008/REC-mobile-bp-20080729/">http://www.w3.org/TR/2008/REC-mobile-bp-20080729/</a></p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;title=Mobile%20Web%20Best%20Practices%201.0" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;title=Mobile%20Web%20Best%20Practices%201.0" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;t=Mobile%20Web%20Best%20Practices%201.0" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;title=Mobile%20Web%20Best%20Practices%201.0" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;title=Mobile%20Web%20Best%20Practices%201.0" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=Mobile%20Web%20Best%20Practices%201.0&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;t=Mobile%20Web%20Best%20Practices%201.0" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;title=Mobile%20Web%20Best%20Practices%201.0&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=The%20World%20Wide%20Web%20Consortium%20%28W3C%29%20has%20recently%20published%20a%20document%20called%20Mobile%20Web%20Best%20Practices%201.0.%0D%0AThis%20document%20specifies%20Best%20Practices%20for%20delivering%20Web%20content%20to%20mobile%20devices.%20The%20principal%20objective%20is%20to%20improve%20the%20user%20experienc" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;title=Mobile%20Web%20Best%20Practices%201.0" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;title=Mobile%20Web%20Best%20Practices%201.0" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Mobile%20Web%20Best%20Practices%201.0&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F&amp;title=Mobile%20Web%20Best%20Practices%201.0" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F08%2F07%2Fmobile-web-best-practices-10%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/08/07/mobile-web-best-practices-10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Unlocker for &#8220;in use&#8221; files</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/07/31/unlocker-for-in-use-files/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/07/31/unlocker-for-in-use-files/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 00:51:48 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[Utility]]></category>

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/?p=11</guid>
		<description><![CDATA[How many times have you had to completely reboot Windows to get Explorer or some other greed process to let go of a file you needed &#8230;
Unlocker really rocks.  It integrates into the right click menu and can show you what processes have a lock on a file.  You can shutdown the process (preferred) or simply unlock the [...]]]></description>
			<content:encoded><![CDATA[<p>How many times have you had to completely reboot Windows to get Explorer or some other greed process to let go of a file you needed &#8230;</p>
<p>Unlocker really rocks.  It integrates into the right click menu and can show you what processes have a lock on a file.  You can shutdown the process (preferred) or simply unlock the file.  Not only is it free, but the author provides a comparison matrix against 19 other utilities that unlock files and it is apparent he has put some thought into making his comprehensive!</p>
<p>Obviously you have to be circumspect about ending processes to release a file lock - but I&#8217;ve seen Windows Explorer hang on to a file until reboot when it isn&#8217;t really using it. </p>
<p><a href="http://ccollomb.free.fr/unlocker/" target="_blank">Visit Site</a></p>
<p>Source: <a href="http://desktopengineer.com">http://desktopengineer.com</a></p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;title=Unlocker%20for%20%22in%20use%22%20files" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;title=Unlocker%20for%20%22in%20use%22%20files" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;t=Unlocker%20for%20%22in%20use%22%20files" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;title=Unlocker%20for%20%22in%20use%22%20files" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;title=Unlocker%20for%20%22in%20use%22%20files" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=Unlocker%20for%20%22in%20use%22%20files&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;t=Unlocker%20for%20%22in%20use%22%20files" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;title=Unlocker%20for%20%22in%20use%22%20files&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=How%20many%20times%20have%20you%20had%20to%20completely%20reboot%C2%A0Windows%20to%20get%C2%A0Explorer%20or%20some%20other%20greed%20process%20to%20let%20go%20of%20a%20file%20you%20needed%C2%A0...%0D%0A%0D%0AUnlocker%20really%20rocks.%C2%A0%20It%20integrates%20into%20the%20right%20click%20menu%20and%20can%20show%20you%20what%20processes%20have%20a%20lock" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;title=Unlocker%20for%20%22in%20use%22%20files" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;title=Unlocker%20for%20%22in%20use%22%20files" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Unlocker%20for%20%22in%20use%22%20files&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F&amp;title=Unlocker%20for%20%22in%20use%22%20files" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Funlocker-for-in-use-files%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/07/31/unlocker-for-in-use-files/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MS Patterns &#38; Practices</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/07/31/ms-patterns-practices/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/07/31/ms-patterns-practices/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 00:41:12 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[C/C++]]></category>

		<category><![CDATA[VB.NET]]></category>

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/?p=10</guid>
		<description><![CDATA[Microsoft has assembled a nice library of best practices for all sorts of applications from Web Applications and Services to Desktop and Mobile Applications.
Quoting the site&#8230;
Microsoft patterns &#38; practices was created to meet the demands of architects and application developers seeking guidance on how to apply Microsoft’s array of products and technologies to common application development [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft has assembled a nice library of best practices for all sorts of applications from Web Applications and Services to Desktop and Mobile Applications.</p>
<blockquote><p>Quoting the site&#8230;<br />
Microsoft patterns &amp; practices was created to meet the demands of architects and application developers seeking guidance on how to apply Microsoft’s array of products and technologies to common application development scenarios and technical challenges. Microsoft patterns &amp; practices are Microsoft’s proven recommendations for how to design, develop, deploy, and operate architecturally sound application for the Microsoft platform.</p></blockquote>
<p>Check it out in <a href="http://msdn.microsoft.com/en-us/practices/default.aspx">Microsoft patterns &amp; practices Developer Center</a>.</p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;title=MS%20Patterns%20%26amp%3B%20Practices" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;title=MS%20Patterns%20%26amp%3B%20Practices" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;t=MS%20Patterns%20%26amp%3B%20Practices" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;title=MS%20Patterns%20%26amp%3B%20Practices" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;title=MS%20Patterns%20%26amp%3B%20Practices" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=MS%20Patterns%20%26amp%3B%20Practices&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;t=MS%20Patterns%20%26amp%3B%20Practices" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;title=MS%20Patterns%20%26amp%3B%20Practices&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=Microsoft%20has%20assembled%20a%C2%A0nice%20library%20of%20best%20practices%20for%20all%20sorts%20of%20applications%20from%20Web%20Applications%20and%20Services%20to%20Desktop%20and%20Mobile%20Applications.%0D%0AQuoting%20the%20site...%0D%0AMicrosoft%20patterns%20%26amp%3B%20practices%20was%20created%20to%20meet%20the%20demands%20of" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;title=MS%20Patterns%20%26amp%3B%20Practices" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;title=MS%20Patterns%20%26amp%3B%20Practices" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=MS%20Patterns%20%26amp%3B%20Practices&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F&amp;title=MS%20Patterns%20%26amp%3B%20Practices" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2Fms-patterns-practices%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/07/31/ms-patterns-practices/feed/</wfw:commentRss>
		</item>
		<item>
		<title>18 Ways to Kill Your Process</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/07/31/18-ways-to-kill-your-process/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/07/31/18-ways-to-kill-your-process/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 00:28:45 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[C/C++]]></category>

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

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/?p=9</guid>
		<description><![CDATA[Advanced Process Termination utility from Diamond Computer Systems Pty. Ltd. provides 18 unique process attacks:

2 kernel-mode termination techniques
12 user-mode process termination techniques
2 suspension techniques
2 fatal crash techniques

This arsenal makes APT ideal for testing the resistance of software to termination attacks, testing the configuration of your own security programs, as well as allowing you to terminate [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.diamondcs.com.au/advancedseries/apt.php" target="_blank">Advanced Process Termination</a> utility from Diamond Computer Systems Pty. Ltd. provides <strong>18 unique process attacks</strong>:</p>
<ul>
<li>2 kernel-mode termination techniques</li>
<li>12 user-mode process termination techniques</li>
<li>2 suspension techniques</li>
<li>2 fatal crash techniques</li>
</ul>
<p>This arsenal makes APT ideal for testing the resistance of software to termination attacks, testing the configuration of your own security programs, as well as allowing you to terminate stubborn software that simply refuses to die.</p>
<p><strong>Kernel Kill #1 - </strong>Attempts to terminate the process from a driver using the kernel-level ZwTerminateThread function against every thread in the target process.<br />
<em>Main functions</em>: ZwTerminateThread (ntoskrnl.exe)</p>
<p><strong>Kernel Kill #2 - </strong>Attempts to terminate the process from a driver using the kernel-level ZwTerminateProcess function against the target process.<br />
<em>Main functions</em>: ZwTerminateProcess (ntoskrnl.exe)<span id="more-9"></span></p>
<p><strong>Kill #1 - </strong>Attempts to terminate the process using the TerminateProcess function. This is the same as the End Process function in Windows Task Manager, but as APT aquires <em>SeDebugPrivilege</em> before calling TerminateProcess it is typically able to terminate more processes than Task Manager can. This is the most common method of forceful process termination.<br />
<em>Main functions</em>: OpenProcess, TerminateProcess (kernel32.dll)</p>
<p><strong>Kill #2 - </strong>Attempts to terminate the process by sending Close messages (called WM_CLOSE) to all windows in the target process. This method only works if 1) the target process has at least one window, and 2) the target process doesn&#8217;t handle the WM_CLOSE message (many programs don&#8217;t).<br />
<em>Main functions:</em> SendMessage WM_CLOSE (user32.dll)</p>
<p><strong>Kill #3 - </strong>Attempts to terminate the process by sending Close messages (called WM_QUIT) to all windows in the target process. This method only works if 1) the target process has at least one window, and 2) the target process doesn&#8217;t handle the WM_QUIT message (many programs don&#8217;t).<br />
<em>Main functions:</em> SendMessage WM_QUIT (user32.dll)</p>
<p><strong>Kill #4 - </strong>Attempts to terminate the process in the same manner as Kill #7, but sends SC_CLOSE system messages rather than WM_CLOSE window messages. Again, this method only works if 1) the target process has at least one window, and 2) the target process doesn&#8217;t handle the SC_CLOSE message (most programs usually don&#8217;t).<br />
<em>Main functions:</em> SendMessage SC_CLOSE (user32.dll)</p>
<p><strong>Kill #5 - </strong>Attempts to terminate the process by terminating every individual thread in the target process by using the TerminateThread function. When the last active thread is terminated the process is also terminated.<br />
<em>Main functions:</em> OpenThread, TerminateThread (kernel32.dll)</p>
<p><strong>Kill #6 - </strong>Attempts to terminate the process by creating a new thread in the context of the target process, which has a starting address (stored in the EIP register) which is the address of the ExitProcess function in kernel32.dll.<br />
<em>Main functions:</em> CreateRemoteThread, ExitProcess (kernel32.dll)</p>
<p><strong>Kill #7 - </strong>Attempts to terminate the process by using the EndTask function in user32.dll. This is the same as the End Task function in Windows Task Manager.<br />
<em>Main functions:</em> EndTask (user32.dll)</p>
<p><strong>Kill #8 - </strong>Attempts to terminate the process by attaching to it as a debugger, using the DebugActiveProcess function in kernel32.dll. To terminate the target process, the debugger process simply needs to terminate itself, at which point the process being debugged (the target process) is also terminated.<br />
<em>Main functions:</em> DebugActiveProcess (kernel32.dll)</p>
<p><strong>Kill #9 - </strong>Attempts to terminate the process by modifying the EIP register of all existing threads so that they all point to the ExitProcess function in kernel32.dll. This is similar to Kill #3, but doesn&#8217;t involve the creation of any new thread. Instead, existing threads are used.<br />
<em>Main functions:</em> SetThreadContext (kernel32.dll)</p>
<p><strong>Kill #10 - </strong>Attempts to terminate the process using the completely undocumented WinStationTerminateProcess function. This method only works if the Terminal Services service is enabled.<br />
<em>Main functions:</em> WinStationTerminateProcess (winsta.dll)</p>
<p><strong>Kill #11 - </strong>Attempts to terminate the process using the CreateRemoteThread DLL injection method. This method is very similar to Kill #6, but the call to ExitProcess is made by an injected DLL.<br />
<em>Main functions:</em> CreateRemoteThread, LoadLibrary, ExitProcess (kernel32.dll)</p>
<p><strong>Kill #12 - </strong>Attempts to terminate the process by using an accomplice process to do the termination. APT injects &#8216;kill code&#8217; into a newly allocated temporary area of memory within an accomplice process, which then executes a call to TerminateProcess on the target process within the context of the accomplice process.<br />
<em>Main functions:</em> CreateRemoteThread, WriteProcessMemory, TerminateProcess (kernel32.dll)</p>
<p><strong>Crash #1 - </strong>Attempts to fatally crash the target process by setting the access level for the targets memory region to PAGE_NOACCESS, effectively preventing all read/write/execute operations. This quickly forces the process to crash due to inability to execute code.<br />
<em>Main functions:</em> VirtualProtectEx (kernel32.dll)</p>
<p><strong>Crash #2 - </strong>Attempts to fatally crash the target process by overwriting the targets memory region, effectively eliminating all program code which crashes the target process due to it attempting to execute invalid code.<br />
<em>Main functions:</em> WriteProcessMemory (kernel32.dll)</p>
<p><strong>Suspend #1 - </strong>Attempts to suspend each thread in the target process individually using the SuspendThread function in kernel32.dll. <em>Resume capability also available with this method.</em><br />
<em>Main functions:</em> OpenThread, SuspendThread, ResumeThread (kernel32.dll)</p>
<p><strong>Suspend #2 - </strong>Attempts to suspend the process using the NtSuspendProcess function in ntdll.dll. <em>Resume capability also available with this method.</em><br />
<em>Main functions:</em> NtSuspendProcess, NtResumeProcess (ntdll.dll).</p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;title=18%20Ways%20to%20Kill%20Your%20Process" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;title=18%20Ways%20to%20Kill%20Your%20Process" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;t=18%20Ways%20to%20Kill%20Your%20Process" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;title=18%20Ways%20to%20Kill%20Your%20Process" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;title=18%20Ways%20to%20Kill%20Your%20Process" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=18%20Ways%20to%20Kill%20Your%20Process&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;t=18%20Ways%20to%20Kill%20Your%20Process" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;title=18%20Ways%20to%20Kill%20Your%20Process&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=Advanced%20Process%20Termination%20utility%20from%20Diamond%20Computer%20Systems%20Pty.%20Ltd.%20provides%2018%20unique%20process%20attacks%3A%0D%0A%0D%0A%092%20kernel-mode%20termination%20techniques%0D%0A%0912%20user-mode%20process%20termination%20techniques%0D%0A%092%20suspension%20techniques%0D%0A%092%20fatal%20crash%20techniqu" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;title=18%20Ways%20to%20Kill%20Your%20Process" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;title=18%20Ways%20to%20Kill%20Your%20Process" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=18%20Ways%20to%20Kill%20Your%20Process&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F&amp;title=18%20Ways%20to%20Kill%20Your%20Process" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F07%2F31%2F18-ways-to-kill-your-process%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/07/31/18-ways-to-kill-your-process/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fixing IE6/IE7 style issues</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/05/27/fixing-ie6ie7-style-issues/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/05/27/fixing-ie6ie7-style-issues/#comments</comments>
		<pubDate>Wed, 28 May 2008 00:40:22 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[CSS]]></category>

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

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

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/2008/05/27/fixing-ie6ie7-style-issues/</guid>
		<description><![CDATA[Check out Cascading Style Sheet Compatibility in Internet Explorer 7 article at MSDN.
It explains how to address IE7 compatibility issues in CSS.
In short, there were several bugs in CSS parser of IE6. Some CSS constructs (filters) that were applied by IE6 are ignored by IE7 and above - like &#8220;* html&#8221;. We could take advantage of [...]]]></description>
			<content:encoded><![CDATA[<p>Check out <a href="http://msdn.microsoft.com/en-us/library/bb250496(VS.85).aspx">Cascading Style Sheet Compatibility in Internet Explorer 7</a> article at MSDN.</p>
<p>It explains how to address IE7 compatibility issues in CSS.<br />
In short, there were several bugs in CSS parser of IE6. Some CSS constructs (filters) that were applied by IE6 are ignored by IE7 and above - like &#8220;* html&#8221;. We could take advantage of these broken filters to create IE6-specific rules.</p>
<p>For example, first define a style that will look fine in IE7:</p>
<p><em>#box { top: 2px; }</em></p>
<p>then (below that rule in CSS file) use CSS filter &#8220;* html&#8221; to override it with IE6 style:</p>
<p><em>* html #box { top: 4px; }</em></p>
<p>This second rule will be ignored by IE7 and above, but will fix the problematic style in IE6.</p>
<p>There&#8217;s another approach to fixing IE6/IE7 issues - it&#8217;s <em>conditional comments</em>.</p>
<p>Consider the following code that should be placed in the HEAD section of HTML:</p>
<p><em>&lt;!&#8211;[if IE 6]&gt;<br />
&lt;link rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; href=&#8221;/css/ie6.css&#8221; /&gt;<br />
&lt;![endif]&#8211;&gt;</em></p>
<p>The <em>&lt;!&#8211;[if IE 6]&gt;</em> and <em>&lt;![endif]&#8211;&gt;</em> tags are used to filter out content that will be parsed by IE6 browser only, any other browser will ignore anything that&#8217;s inside these tags.</p>
<p>For more info see <a href="http://msdn.microsoft.com/en-us/library/ms537512.aspx" target="_blank">About Conditional Comments</a> on MSDN or more user-friendlier explanation at  <a href="http://www.quirksmode.org/css/condcom.html" target="_blank">Quirksmode</a>.</p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;title=Fixing%20IE6%2FIE7%20style%20issues" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;title=Fixing%20IE6%2FIE7%20style%20issues" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;t=Fixing%20IE6%2FIE7%20style%20issues" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;title=Fixing%20IE6%2FIE7%20style%20issues" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;title=Fixing%20IE6%2FIE7%20style%20issues" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=Fixing%20IE6%2FIE7%20style%20issues&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;t=Fixing%20IE6%2FIE7%20style%20issues" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;title=Fixing%20IE6%2FIE7%20style%20issues&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=Check%20out%20Cascading%20Style%20Sheet%20Compatibility%20in%20Internet%20Explorer%207%C2%A0article%20at%20MSDN.%0D%0A%0D%0AIt%20explains%20how%20to%20address%20IE7%20compatibility%20issues%20in%20CSS.%0D%0AIn%20short%2C%20there%20were%20several%20bugs%20in%20CSS%20parser%20of%20IE6.%20Some%20CSS%20constructs%20%28filters%29%20that%20were%20app" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;title=Fixing%20IE6%2FIE7%20style%20issues" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;title=Fixing%20IE6%2FIE7%20style%20issues" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Fixing%20IE6%2FIE7%20style%20issues&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F&amp;title=Fixing%20IE6%2FIE7%20style%20issues" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F27%2Ffixing-ie6ie7-style-issues%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/05/27/fixing-ie6ie7-style-issues/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IRT.org Knowledge Base</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/05/05/irtorg-knowledge-base/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/05/05/irtorg-knowledge-base/#comments</comments>
		<pubDate>Tue, 06 May 2008 00:07:28 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[CSS]]></category>

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

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

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

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/2008/05/05/irtorg-knowledge-base/</guid>
		<description><![CDATA[IRT.org has a nice collection of FAQs on DHTML, JS, Java, CSS, etc.
http://www.irt.org/faq.htm



Share and Enjoy:


	
	
	
	
	
	
	
	
	
	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>IRT.org has a nice collection of FAQs on DHTML, JS, Java, CSS, etc.</p>
<p><a href="http://www.irt.org/faq.htm">http://www.irt.org/faq.htm</a></p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;title=IRT.org%20Knowledge%20Base" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;title=IRT.org%20Knowledge%20Base" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;t=IRT.org%20Knowledge%20Base" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;title=IRT.org%20Knowledge%20Base" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;title=IRT.org%20Knowledge%20Base" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=IRT.org%20Knowledge%20Base&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;t=IRT.org%20Knowledge%20Base" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;title=IRT.org%20Knowledge%20Base&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=IRT.org%20has%20a%20nice%20collection%20of%20FAQs%20on%20DHTML%2C%20JS%2C%20Java%2C%20CSS%2C%20etc.%0D%0A%0D%0Ahttp%3A%2F%2Fwww.irt.org%2Ffaq.htm" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;title=IRT.org%20Knowledge%20Base" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;title=IRT.org%20Knowledge%20Base" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=IRT.org%20Knowledge%20Base&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F&amp;title=IRT.org%20Knowledge%20Base" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F05%2F05%2Firtorg-knowledge-base%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/05/05/irtorg-knowledge-base/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Use CSS to create an image map</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/04/29/use-css-to-create-an-image-map/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/04/29/use-css-to-create-an-image-map/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 01:37:10 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[CSS]]></category>

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

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/2008/04/29/use-css-to-create-an-image-map/</guid>
		<description><![CDATA[TechRepublic.com has an article on using CSS to create an image map. Nice and simple technique though it won&#8217;t work if you need to define complex shapes (like state boundaries on the map of USA, etc.).



Share and Enjoy:


	
	
	
	
	
	
	
	
	
	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>TechRepublic.com has <a href="http://blogs.techrepublic.com.com/programming-and-development/?p=660&amp;tag=nl.e055">an article on using CSS to create an image map</a>. Nice and simple technique though it won&#8217;t work if you need to define complex shapes (like state boundaries on the map of USA, etc.).</p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;title=Use%20CSS%20to%20create%20an%20image%20map" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;title=Use%20CSS%20to%20create%20an%20image%20map" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;t=Use%20CSS%20to%20create%20an%20image%20map" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;title=Use%20CSS%20to%20create%20an%20image%20map" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;title=Use%20CSS%20to%20create%20an%20image%20map" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=Use%20CSS%20to%20create%20an%20image%20map&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;t=Use%20CSS%20to%20create%20an%20image%20map" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;title=Use%20CSS%20to%20create%20an%20image%20map&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=TechRepublic.com%20has%20an%20article%20on%20using%20CSS%20to%20create%20an%20image%20map.%20Nice%20and%20simple%20technique%C2%A0though%20it%20won%27t%20work%20if%20you%20need%20to%20define%20complex%20shapes%20%28like%20state%20boundaries%C2%A0on%20the%20map%20of%20USA%2C%20etc.%29." title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;title=Use%20CSS%20to%20create%20an%20image%20map" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;title=Use%20CSS%20to%20create%20an%20image%20map" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Use%20CSS%20to%20create%20an%20image%20map&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F&amp;title=Use%20CSS%20to%20create%20an%20image%20map" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F04%2F29%2Fuse-css-to-create-an-image-map%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/04/29/use-css-to-create-an-image-map/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Javascript equivalent for PHP&#8217;s functions</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/03/13/javascript-equivalent-for-phps-functions/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/03/13/javascript-equivalent-for-phps-functions/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 01:23:56 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/2008/03/13/javascript-equivalent-for-phps-functions/</guid>
		<description><![CDATA[Mr. Kevin van Zonneveld has a nice collection of PHP functions ported to JS.
For example sprintf:

function sprintf( ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Ash Searle (http://hexmen.com/blog/)
    // + namespaced by: Michael White (http://crestidg.com)
    // *     example 1: sprintf(&#8221;%01.2f&#8221;, 123.1);
    // *     returns 1: 123.10
 
    var regex = /%%&#124;%(\d+\$)?([-+#0 ]*)(\*\d+\$&#124;\*&#124;\d+)?(\.(\*\d+\$&#124;\*&#124;\d+))?([scboxXuidfegEG])/g;
    var a = arguments, [...]]]></description>
			<content:encoded><![CDATA[<p>Mr. <a href="http://kevin.vanzonneveld.net/techblog/">Kevin</a><span class="orange"><a href="http://kevin.vanzonneveld.net/techblog/"> van Zonneveld</a> has a nice collection of PHP functions ported to JS.</span></p>
<p><span class="orange">For example <a href="http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_sprintf/">sprintf</a>:</span></p>
<p><span class="orange"><span id="more-5"></span></span></p>
<p><span class="orange"><span>function</span> sprintf<span>(</span> <span>)</span> <span>{</span><br />
    <span>// http://kevin.vanzonneveld.net</span><br />
    <span>// +   original by: Ash Searle (http://hexmen.com/blog/)</span><br />
    <span>// + namespaced by: Michael White (http://crestidg.com)</span><br />
    <span>// *     example 1: sprintf(&#8221;%01.2f&#8221;, 123.1);</span><br />
    <span>// *     returns 1: 123.10</span><br />
 <br />
    <span>var</span> regex = <span>/%%|%<span>(</span>\d+\$<span>)</span>?<span>(</span><span>[</span>-+#<span>0</span> <span>]</span>*<span>)</span><span>(</span>\*\d+\$|\*|\d+<span>)</span>?<span>(</span>\.<span><span>(</span></span>\*\d+\$|\*|\d+<span>)</span><span>)</span>?<span>(</span><span>[</span>scboxXuidfegEG<span>]</span><span>)</span>/g</span>;<br />
    <span>var</span> a = arguments, i = <span>0</span>, format = a<span>[</span>i++<span>]</span>;<br />
 <br />
    <span>// pad()</span><br />
    <span>var</span> pad = <span>function</span><span>(</span>str, len, chr, leftJustify<span>)</span> <span>{</span><br />
        <span>var</span> padding = <span>(</span>str.<span>length</span> &gt;= len<span>)</span> ? <span>&#8221;</span> : Array<span>(</span><span>1</span> + len - str.<span>length</span> &gt;&gt;&gt; <span>0</span><span>)</span>.<span>join</span><span>(</span>chr<span>)</span>;<br />
        <span>return</span> leftJustify ? str + padding : padding + str;<br />
    <span>}</span>;<br />
 <br />
    <span>// justify()</span><br />
    <span>var</span> justify = <span>function</span><span>(</span>value, prefix, leftJustify, minWidth, zeroPad<span>)</span> <span>{</span><br />
        <span>var</span> diff = minWidth - value.<span>length</span>;<br />
        <span>if</span> <span>(</span>diff &gt; <span>0</span><span>)</span> <span>{</span><br />
            <span>if</span> <span>(</span>leftJustify || !zeroPad<span>)</span> <span>{</span><br />
            value = pad<span>(</span>value, minWidth, <span>&#8216; &#8216;</span>, leftJustify<span>)</span>;<br />
            <span>}</span> <span>else</span> <span>{</span><br />
            value = value.<span>slice</span><span>(</span><span>0</span>, prefix.<span>length</span><span>)</span> + pad<span>(</span><span>&#8221;</span>, diff, <span>&#8216;0&#8242;</span>, <span>true</span><span>)</span> + value.<span>slice</span><span>(</span>prefix.<span>length</span><span>)</span>;<br />
            <span>}</span><br />
        <span>}</span><br />
        <span>return</span> value;<br />
    <span>}</span>;<br />
 <br />
    <span>// formatBaseX()</span><br />
    <span>var</span> formatBaseX = <span>function</span><span>(</span>value, base, prefix, leftJustify, minWidth, precision, zeroPad<span>)</span> <span>{</span><br />
        <span>// Note: casts negative numbers to positive ones</span><br />
        <span>var</span> number = value &gt;&gt;&gt; <span>0</span>;<br />
        prefix = prefix &amp;&amp; number &amp;&amp; <span>{</span><span>&#8216;2&#8242;</span>: <span>&#8216;0b&#8217;</span>, <span>&#8216;8&#8242;</span>: <span>&#8216;0&#8242;</span>, <span>&#8216;16&#8242;</span>: <span>&#8216;0x&#8217;</span><span>}</span><span>[</span>base<span>]</span> || <span>&#8221;</span>;<br />
        value = prefix + pad<span>(</span>number.<span>toString</span><span>(</span>base<span>)</span>, precision || <span>0</span>, <span>&#8216;0&#8242;</span>, <span>false</span><span>)</span>;<br />
        <span>return</span> justify<span>(</span>value, prefix, leftJustify, minWidth, zeroPad<span>)</span>;<br />
    <span>}</span>;<br />
 <br />
    <span>// formatString()</span><br />
    <span>var</span> formatString = <span>function</span><span>(</span>value, leftJustify, minWidth, precision, zeroPad<span>)</span> <span>{</span><br />
        <span>if</span> <span>(</span>precision != <span>null</span><span>)</span> <span>{</span><br />
            value = value.<span>slice</span><span>(</span><span>0</span>, precision<span>)</span>;<br />
        <span>}</span><br />
        <span>return</span> justify<span>(</span>value, <span>&#8221;</span>, leftJustify, minWidth, zeroPad<span>)</span>;<br />
    <span>}</span>;<br />
 <br />
    <span>// finalFormat()</span><br />
    <span>var</span> doFormat = <span>function</span><span>(</span>substring, valueIndex, flags, minWidth, _, precision, type<span>)</span> <span>{</span><br />
        <span>if</span> <span>(</span>substring == <span>&#8216;%%&#8217;</span><span>)</span> <span>return</span> <span>&#8216;%&#8217;</span>;<br />
 <br />
        <span>// parse flags</span><br />
        <span>var</span> leftJustify = <span>false</span>, positivePrefix = <span>&#8221;</span>, zeroPad = <span>false</span>, prefixBaseX = <span>false</span>;<br />
        <span>for</span> <span>(</span><span>var</span> j = <span>0</span>; flags &amp;&amp; j &lt; flags.<span>length</span>; j++<span>)</span> <span>switch</span> <span>(</span>flags.<span>charAt</span><span>(</span>j<span>)</span><span>)</span> <span>{</span><br />
            <span>case</span> <span>&#8216; &#8216;</span>: positivePrefix = <span>&#8216; &#8216;</span>; <span>break</span>;<br />
            <span>case</span> <span>&#8216;+&#8217;</span>: positivePrefix = <span>&#8216;+&#8217;</span>; <span>break</span>;<br />
            <span>case</span> <span>&#8216;-&#8217;</span>: leftJustify = <span>true</span>; <span>break</span>;<br />
            <span>case</span> <span>&#8216;0&#8242;</span>: zeroPad = <span>true</span>; <span>break</span>;<br />
            <span>case</span> <span>&#8216;#&#8217;</span>: prefixBaseX = <span>true</span>; <span>break</span>;<br />
        <span>}</span><br />
 <br />
        <span>// parameters may be null, undefined, empty-string or real valued</span><br />
        <span>// we want to ignore null, undefined and empty-string values</span><br />
        <span>if</span> <span>(</span>!minWidth<span>)</span> <span>{</span><br />
            minWidth = <span>0</span>;<br />
        <span>}</span> <span>else</span> <span>if</span> <span>(</span>minWidth == <span>&#8216;*&#8217;</span><span>)</span> <span>{</span><br />
            minWidth = +a<span>[</span>i++<span>]</span>;<br />
        <span>}</span> <span>else</span> <span>if</span> <span>(</span>minWidth.<span>charAt</span><span>(</span><span>0</span><span>)</span> == <span>&#8216;*&#8217;</span><span>)</span> <span>{</span><br />
            minWidth = +a<span>[</span>minWidth.<span>slice</span><span>(</span><span>1</span>, <span>-1</span><span>)</span><span>]</span>;<br />
        <span>}</span> <span>else</span> <span>{</span><br />
            minWidth = +minWidth;<br />
        <span>}</span><br />
 <br />
        <span>// Note: undocumented perl feature:</span><br />
        <span>if</span> <span>(</span>minWidth &lt; <span>0</span><span>)</span> <span>{</span><br />
            minWidth = -minWidth;<br />
            leftJustify = <span>true</span>;<br />
        <span>}</span><br />
 <br />
        <span>if</span> <span>(</span>!isFinite<span>(</span>minWidth<span>)</span><span>)</span> <span>{</span><br />
            <span>throw</span> <span>new</span> Error<span>(</span><span>&#8217;sprintf: (minimum-)width must be finite&#8217;</span><span>)</span>;<br />
        <span>}</span><br />
 <br />
        <span>if</span> <span>(</span>!precision<span>)</span> <span>{</span><br />
            precision = <span>&#8216;fFeE&#8217;</span>.<span>indexOf</span><span>(</span>type<span>)</span> &gt; <span>-1</span> ? <span>6</span> : <span>(</span>type == <span>&#8216;d&#8217;</span><span>)</span> ? <span>0</span> : <span>void</span><span>(</span><span>0</span><span>)</span>;<br />
        <span>}</span> <span>else</span> <span>if</span> <span>(</span>precision == <span>&#8216;*&#8217;</span><span>)</span> <span>{</span><br />
            precision = +a<span>[</span>i++<span>]</span>;<br />
        <span>}</span> <span>else</span> <span>if</span> <span>(</span>precision.<span>charAt</span><span>(</span><span>0</span><span>)</span> == <span>&#8216;*&#8217;</span><span>)</span> <span>{</span><br />
            precision = +a<span>[</span>precision.<span>slice</span><span>(</span><span>1</span>, <span>-1</span><span>)</span><span>]</span>;<br />
        <span>}</span> <span>else</span> <span>{</span><br />
            precision = +precision;<br />
        <span>}</span><br />
 <br />
        <span>// grab value using valueIndex if required?</span><br />
        <span>var</span> value = valueIndex ? a<span>[</span>valueIndex.<span>slice</span><span>(</span><span>0</span>, <span>-1</span><span>)</span><span>]</span> : a<span>[</span>i++<span>]</span>;<br />
 <br />
        <span>switch</span> <span>(</span>type<span>)</span> <span>{</span><br />
            <span>case</span> <span>&#8217;s&#8217;</span>: <span>return</span> formatString<span>(</span>String<span>(</span>value<span>)</span>, leftJustify, minWidth, precision, zeroPad<span>)</span>;<br />
            <span>case</span> <span>&#8216;c&#8217;</span>: <span>return</span> formatString<span>(</span>String.<span>fromCharCode</span><span>(</span>+value<span>)</span>, leftJustify, minWidth, precision, zeroPad<span>)</span>;<br />
            <span>case</span> <span>&#8216;b&#8217;</span>: <span>return</span> formatBaseX<span>(</span>value, <span>2</span>, prefixBaseX, leftJustify, minWidth, precision, zeroPad<span>)</span>;<br />
            <span>case</span> <span>&#8216;o&#8217;</span>: <span>return</span> formatBaseX<span>(</span>value, <span>8</span>, prefixBaseX, leftJustify, minWidth, precision, zeroPad<span>)</span>;<br />
            <span>case</span> <span>&#8216;x&#8217;</span>: <span>return</span> formatBaseX<span>(</span>value, <span>16</span>, prefixBaseX, leftJustify, minWidth, precision, zeroPad<span>)</span>;<br />
            <span>case</span> <span>&#8216;X&#8217;</span>: <span>return</span> formatBaseX<span>(</span>value, <span>16</span>, prefixBaseX, leftJustify, minWidth, precision, zeroPad<span>)</span>.<span>toUpperCase</span><span>(</span><span>)</span>;<br />
            <span>case</span> <span>&#8216;u&#8217;</span>: <span>return</span> formatBaseX<span>(</span>value, <span>10</span>, prefixBaseX, leftJustify, minWidth, precision, zeroPad<span>)</span>;<br />
            <span>case</span> <span>&#8216;i&#8217;</span>:<br />
            <span>case</span> <span>&#8216;d&#8217;</span>: <span>{</span><br />
                        <span>var</span> number = parseInt<span>(</span>+value<span>)</span>;<br />
                        <span>var</span> prefix = number &lt; <span>0</span> ? <span>&#8216;-&#8217;</span> : positivePrefix;<br />
                        value = prefix + pad<span>(</span>String<span>(</span>Math.<span>abs</span><span>(</span>number<span>)</span><span>)</span>, precision, <span>&#8216;0&#8242;</span>, <span>false</span><span>)</span>;<br />
                        <span>return</span> justify<span>(</span>value, prefix, leftJustify, minWidth, zeroPad<span>)</span>;<br />
                    <span>}</span><br />
            <span>case</span> <span>&#8216;e&#8217;</span>:<br />
            <span>case</span> <span>&#8216;E&#8217;</span>:<br />
            <span>case</span> <span>&#8216;f&#8217;</span>:<br />
            <span>case</span> <span>&#8216;F&#8217;</span>:<br />
            <span>case</span> <span>&#8216;g&#8217;</span>:<br />
            <span>case</span> <span>&#8216;G&#8217;</span>:<br />
                        <span>{</span><br />
                        <span>var</span> number = +value;<br />
                        <span>var</span> prefix = number &lt; <span>0</span> ? <span>&#8216;-&#8217;</span> : positivePrefix;<br />
                        <span>var</span> method = <span>[</span><span>'toExponential'</span>, <span>'toFixed'</span>, <span>'toPrecision'</span><span>]</span><span>[</span><span>'efg'</span>.<span>indexOf</span><span>(</span>type.<span>toLowerCase</span><span>(</span><span>)</span><span>)</span><span>]</span>;<br />
                        <span>var</span> textTransform = <span>[</span><span>'toString'</span>, <span>'toUpperCase'</span><span>]</span><span>[</span><span>'eEfFgG'</span>.<span>indexOf</span><span>(</span>type<span>)</span> % <span>2</span><span>]</span>;<br />
                        value = prefix + Math.<span>abs</span><span>(</span>number<span>)</span><span>[</span>method<span>]</span><span>(</span>precision<span>)</span>;<br />
                        <span>return</span> justify<span>(</span>value, prefix, leftJustify, minWidth, zeroPad<span>)</span><span>[</span>textTransform<span>]</span><span>(</span><span>)</span>;<br />
                    <span>}</span><br />
            <span>default</span>: <span>return</span> substring;<br />
        <span>}</span><br />
    <span>}</span>;<br />
 <br />
    <span>return</span> format.<span>replace</span><span>(</span>regex, doFormat<span>)</span>;<br />
<span>}</span> </span></p>
<p><span class="orange"></span></p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;title=Javascript%20equivalent%20for%20PHP%27s%20functions" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;title=Javascript%20equivalent%20for%20PHP%27s%20functions" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;t=Javascript%20equivalent%20for%20PHP%27s%20functions" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;title=Javascript%20equivalent%20for%20PHP%27s%20functions" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;title=Javascript%20equivalent%20for%20PHP%27s%20functions" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=Javascript%20equivalent%20for%20PHP%27s%20functions&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;t=Javascript%20equivalent%20for%20PHP%27s%20functions" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;title=Javascript%20equivalent%20for%20PHP%27s%20functions&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=Mr.%20Kevin%20van%20Zonneveld%20has%20a%20nice%20collection%20of%20PHP%20functions%20ported%20to%20JS.%0D%0A%0D%0AFor%20example%20sprintf%3A%0D%0A%0D%0A%0D%0A%0D%0Afunction%20sprintf%28%20%29%20%7B%0D%0A%C2%A0%C2%A0%C2%A0%20%2F%2F%20http%3A%2F%2Fkevin.vanzonneveld.net%0D%0A%C2%A0%C2%A0%C2%A0%20%2F%2F%20%2B%C2%A0%C2%A0%20original%20by%3A%20Ash%20Searle%20%28http%3A%2F%2Fhexmen.com%2Fblog%2F%29%0D%0A%C2%A0%C2%A0%C2%A0%20%2F%2F%20%2B" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;title=Javascript%20equivalent%20for%20PHP%27s%20functions" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;title=Javascript%20equivalent%20for%20PHP%27s%20functions" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=Javascript%20equivalent%20for%20PHP%27s%20functions&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F&amp;title=Javascript%20equivalent%20for%20PHP%27s%20functions" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fjavascript-equivalent-for-phps-functions%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/03/13/javascript-equivalent-for-phps-functions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>mredkj.com</title>
		<link>http://ulanoff.com/blogs/codeshack/2008/03/13/mredkjcom/</link>
		<comments>http://ulanoff.com/blogs/codeshack/2008/03/13/mredkjcom/#comments</comments>
		<pubDate>Fri, 14 Mar 2008 01:17:15 +0000</pubDate>
		<dc:creator>Ruslan Ulanov</dc:creator>
		
		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[VB.NET]]></category>

		<guid isPermaLink="false">http://ulanoff.com/blogs/codeshack/2008/03/13/mredkjcom/</guid>
		<description><![CDATA[A good JS and VB.NET resource with unpronounceable name at http://www.mredkj.com/index.html



Share and Enjoy:


	
	
	
	
	
	
	
	
	
	
	
	
	
	


]]></description>
			<content:encoded><![CDATA[<p>A good JS and VB.NET resource with unpronounceable name at <a href="http://www.mredkj.com/index.html">http://www.mredkj.com/index.html</a></p>



Share and Enjoy:


	<a rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;title=mredkj.com" title="Digg"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;title=mredkj.com" title="del.icio.us"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;t=mredkj.com" title="Facebook"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;title=mredkj.com" title="Google"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/googlebookmark.png" title="Google" alt="Google" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.dzone.com/links/add.html?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;title=mredkj.com" title="description"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/dzone.png" title="description" alt="description" class="sociable-hovers" /></a>
	<a rel="nofollow" href="mailto:?subject=mredkj.com&amp;body=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F" title="E-mail this story to a friend!"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/email_link.png" title="E-mail this story to a friend!" alt="E-mail this story to a friend!" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.furl.net/storeIt.jsp?u=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;t=mredkj.com" title="Furl"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/furl.png" title="Furl" alt="Furl" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;title=mredkj.com&amp;source=Ruslan+Ulanov%27s+Codeshack+The+developer%27s+notebook&amp;summary=A%20good%20JS%20and%20VB.NET%C2%A0resource%20with%20unpronounceable%20name%20at%C2%A0http%3A%2F%2Fwww.mredkj.com%2Findex.html" title="LinkedIn"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow" href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;title=mredkj.com" title="Live"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;title=mredkj.com" title="Reddit"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://slashdot.org/bookmark.pl?title=mredkj.com&amp;url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F" title="Slashdot"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F&amp;title=mredkj.com" title="StumbleUpon"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://technorati.com/faves?add=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F" title="Technorati"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow" href="http://twitthis.com/twit?url=http%3A%2F%2Fulanoff.com%2Fblogs%2Fcodeshack%2F2008%2F03%2F13%2Fmredkjcom%2F" title="TwitThis"><img src="http://ulanoff.com/blogs/codeshack/wp-content/plugins/sociable/images/twitter.png" title="TwitThis" alt="TwitThis" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://ulanoff.com/blogs/codeshack/2008/03/13/mredkjcom/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
