<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Web development handbook</title>
	<atom:link href="http://boriskuzmanovic.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://boriskuzmanovic.wordpress.com</link>
	<description>Blog about designing, developing and maintaining web sites</description>
	<lastBuildDate>Wed, 01 Feb 2012 02:38:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='boriskuzmanovic.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Web development handbook</title>
		<link>http://boriskuzmanovic.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://boriskuzmanovic.wordpress.com/osd.xml" title="Web development handbook" />
	<atom:link rel='hub' href='http://boriskuzmanovic.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ec2ssh &#8211; ssh utility Amazon forgot to include</title>
		<link>http://boriskuzmanovic.wordpress.com/2012/02/01/ec2ssh-ssh-utlity-amazon-forgot-to-include-with-aws-tools/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2012/02/01/ec2ssh-ssh-utlity-amazon-forgot-to-include-with-aws-tools/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 02:11:30 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://boriskuzmanovic.wordpress.com/?p=145</guid>
		<description><![CDATA[Last week I wrote a bash script that makes connecting to AWS instances ridiculously easy. It&#8217;s called ec2ssh. Let me show you how easy it is to use. You type ec2ssh in your shell, and a menu displays with a list of running instances. Each of your servers is numbered and grouped by security group, so [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=145&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week I wrote a bash script that makes connecting to AWS instances <strong>ridiculously easy</strong>. It&#8217;s called ec2ssh.</p>
<p>Let me show you how easy it is to use. You type ec2ssh in your shell, and a menu displays with a list of running instances. Each of your servers is numbered and grouped by security group, so it&#8217;s easy to find your instances. You can do several things here. You can type the number of the server you wish to connect to, or define a list or range of servers you wish to ssh to in a sequence.</p>
<p>Additionally, you can run ec2ssh with parameter, a filter, to narrow down your list of servers. Say, you run a typical environment with web, database, application servers. If your instances were tagged by meaningful names like:<br />
- Live MySQL server A<br />
- Live MySQL server B<br />
- Live MySQL server C<br />
- Live Web server A<br />
- Live Web server B<br />
&#8230;<br />
- Live Web server XYZ</p>
<p>you can limit the list by specifying a meaningful parameter such as:<br />
ec2ssh live &#8211; would list all production servers<br />
ec2ssh mysql &#8211; would list MySQL servers in dev, staging and production<br />
ec2ssh i-2asf3234dd &#8211; would list information for given server instance<br />
ec2ssh sg-adf23df2d &#8211; would list all servers in a given security group</p>
<p>Parameters are case insensitive. To use a script, download it from the <a title="ec2ssh github" href="https://github.com/boriskuzmanovic/ec2ssh">ec2ssh github</a> page. If you&#8217;re a github user please fork the project and submit any new features or fixes.</p>
<div></div>
<div>Thanks and enjoy! Your comments are very welcome.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/145/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=145&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2012/02/01/ec2ssh-ssh-utlity-amazon-forgot-to-include-with-aws-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>How to make iPhone visual voicemail to work with Chatr Wireless</title>
		<link>http://boriskuzmanovic.wordpress.com/2012/01/08/how-to-make-iphone-visual-voicemail-to-work-with-chatr-wireless/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2012/01/08/how-to-make-iphone-visual-voicemail-to-work-with-chatr-wireless/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 22:58:38 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chatr]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[voicemail]]></category>

		<guid isPermaLink="false">http://boriskuzmanovic.wordpress.com/?p=137</guid>
		<description><![CDATA[When I got my new iPhone 4S it worked fine with Chatr&#8217;s voicemail. It was displaying the red dot over the voicemail icon to notify me that there was a message I haven&#8217;t heard. Then, several days ago, something got corrupted and I couldn&#8217;t retrieve my voicemail any more. I read their FAQ&#8217;s which suggested [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=137&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When I got my new iPhone 4S it worked fine with Chatr&#8217;s voicemail. It was displaying the red dot over the voicemail icon to notify me that there was a message I haven&#8217;t heard. Then, several days ago, something got corrupted and I couldn&#8217;t retrieve my voicemail any more. I read their FAQ&#8217;s which suggested shutting down the phone and keeping it off for several minutes. It didn&#8217;t work, so I called their support. They couldn&#8217;t help me find the codes to program the visual voicemail, but they gave me the phone number that the phone uses to listen to the voicemail. In my case it was +16472789973.</p>
<p>I searched for an answer on Google and found the codes. If you have this problem you need to type:</p>
<p>*5005*86*16472789973#</p>
<p>Press call and you&#8217;ll hear a beep. Nothing else will change. Clear the calling number and verify the new number by typing:</p>
<p>*#5005*86#</p>
<p>When you click Call, the phone will display the number of your voicemail access number, in my case 16472789973. If it worked, you should be able to retrieve your voicemail by clicking the Voicemail icon.</p>
<p><strong>Non-advertised feature</strong></p>
<p>Chatr makes extra money every time you listen to your voicemail. Each call is 25 cents/min. However, if you dial your voicemail access number from another phone, and provide your phone and pin, you&#8217;ll not be charged for listing to those messages.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=137&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2012/01/08/how-to-make-iphone-visual-voicemail-to-work-with-chatr-wireless/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>Fun with VoIP boxes</title>
		<link>http://boriskuzmanovic.wordpress.com/2011/10/13/fun-with-voip-boxes/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2011/10/13/fun-with-voip-boxes/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 20:31:57 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://boriskuzmanovic.wordpress.com/?p=3</guid>
		<description><![CDATA[I&#8217;ve been spending some time lately testing and configuring VoIP services on my recently bought Linksys SPA-2102 VoIP box. I finally settled with two services: Callcentric and Voip.ms. Callcentric seems to have better quality, while Voip.ms provides a Callback service. Not *69 call back, but the one that enables you to call with low rates [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=3&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been spending some time lately testing and configuring VoIP services on my recently bought Linksys SPA-2102 VoIP box.</p>
<p>I finally settled with two services: Callcentric and Voip.ms.</p>
<p>Callcentric seems to have better quality, while Voip.ms provides a Callback service. Not *69 call back, but the one that enables you to call with low rates when travelling abroad. You basically call your number from say Bosnia. You get a fast busy signal. When you hang up the system calls you back and gives you the dial tone. So, you pay the low Voip.ms rates instead of $$$ that overseas companies charge.</p>
<p>Callcentric is my choice of VoIP provider for inbound and outbound calls. It works great, unlike <a href="http://www.dslreports.com/forum/r23798237-SOLVED-Bridging-Disabling-routing-on-the-CellPipe-7130">Voip.ms behind the CellPipe 1730 modem on Bell Fibe</a>.</p>
<h2>Porting from Bell to CallCentric (LNP)</h2>
<p>CallCentric provides a free account that comes with a 1-777 number. This number is not reachable from a regular landline, but it can be used to test the quality of the service by dialling the echo service. I ordered a local Toronto number and tested it for about two days. I was very happy with the quality of calls. I was ready to leave Bell, so I requested my home number to be ported to Callcentric. This is done by a form on CallCentric&#8217;s web site. I had to sign a form and upload it to their site along with the latest Bell Canada bill. I was informed that the line would be ported in two days. On the second day, I received an email that the port has completed.</p>
<h2>Setting up the local number</h2>
<p>I set up the ATA with my account details, but it didnt work properly as I already had a local number (DID) working on my VoIP box. It turns out <strong>you can have multiple DID&#8217;s on the same CallCentric account, but they can&#8217;t be used with the same VoIP box</strong>, even if you have a box with two lines. Their support explained that I need to open another account with a temporary number, forward my DID to that temporary number from the other account. That&#8217;s a little bit of a workaround, but as long as I don&#8217;t have to pay two bills I&#8217;m happy. We&#8217;ll see.</p>
<h2>Sit, VoIP, sit! Behave like a landline!</h2>
<p>The default setup of the calling plans is little cumbersome. You need to dial 1 before the area code, even if it&#8217;s your local area code. Let&#8217;s fix this! I live in Toronto, where 416 and 647 are both local and normally dialled without a starting 1.</p>
<p>Take CallCentric&#8217;s default calling plan:</p>
<p><em>(*xx.|*xxx|*75xx|[3469]11|0|00|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.|**275*x.)</em></p>
<p>and change this recipe to:</p>
<p><em>(*xx.|*xxx|*75xx|[3469]11|0|00|<strong>&lt;:1&gt;416[2-9]xxxxxxS0|&lt;:1&gt;647[2-9]xxxxxxS0</strong>|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.|**275*x.)</em></p>
<p>What it does is it recognizes the number starting with 416 or 647 and prepends &#8220;1&#8243; to it.</p>
<h2>Make overseas dialling super easy</h2>
<h2><span class="Apple-style-span" style="font-size:13px;line-height:18px;">We travel to Bosnia every year. The numbering system there is &#8220;06&#8243; for cell numbers and &#8220;05&#8243; for landlines. I want to be able to dial a number as if I were there. So, to dial a hotel with a phone number 011 </span><span class="Apple-style-span" style="font-size:13px;line-height:18px;">387 51 215 775, I&#8217;m going to change a rule to allow 051 215 775 to dial this number.</span></h2>
<p><em>(*xx.|*xxx|*75xx|[3469]11|0|00|&lt;:1&gt;416[2-9]xxxxxxS0|&lt;:1&gt;647[2-9]xxxxxxS0|1xxx[2-9]xxxxxxS0|<strong>0&lt;:11387&gt;[56]xxxxxxxS0</strong>|xxxxxxxxxxxx.|**275*x.)</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=3&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2011/10/13/fun-with-voip-boxes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>Cufon font replacement</title>
		<link>http://boriskuzmanovic.wordpress.com/2010/11/27/cufon-font-replacement/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2010/11/27/cufon-font-replacement/#comments</comments>
		<pubDate>Sat, 27 Nov 2010 14:19:27 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[character]]></category>
		<category><![CDATA[cufon]]></category>

		<guid isPermaLink="false">http://serbiancafe.wordpress.com/?p=102</guid>
		<description><![CDATA[Cufon is pretty good. Much easier to work with than sIFR. The embedding part rocks as you can do it all online. For my own site I use it for headlines. Since the cookbook section contains recipes from around the world I limit and extend the characters to: - uppercase - lowercase - numerals - [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=102&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cufon is pretty good. Much easier to work with than sIFR. The embedding part rocks as you can do it all online. For my own site I use it for headlines. Since the cookbook section contains recipes from around the world I limit and extend the characters to:<br />
- uppercase<br />
- lowercase<br />
- numerals<br />
- punctuation<br />
- basic latin<br />
- and extras including Western European diacritics characters and Cyrillic aphabet: čćšđžČĆŠĐŽабвгдђежзијклљмнњопрстћуфхцчџшАБВГДЂЕЖЗИЈКЛЉМНЊОПРСТЋУФХЦЧЏШ„”‘’–—«»°ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿŔŕ</p>
<p>Adding</p>
<pre>&lt;script type="text/javascript"&gt; Cufon.now(); &lt;/script&gt;</pre>
<p>to the buttom of the page, but before other JS scripts, like Google Analytics, really makes the difference. There is no flicker in replacing the default font and Cufon font. Apparently it helps with IE quirks as well.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=102&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2010/11/27/cufon-font-replacement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>Ligatures with Fontographer 5</title>
		<link>http://boriskuzmanovic.wordpress.com/2010/11/24/ligatures-with-fontographer-5/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2010/11/24/ligatures-with-fontographer-5/#comments</comments>
		<pubDate>Thu, 25 Nov 2010 03:42:13 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[fontographer]]></category>

		<guid isPermaLink="false">http://serbiancafe.wordpress.com/?p=100</guid>
		<description><![CDATA[Creating a ligature A ligature is a glyph made up of one or more glyphs. Most commercial fonts have some commonly used ligatures like æ, and œ. However, Fontographer makes it easy to create ligatures of your own without drawing a thing. To create a ligature: 1.    Open the outline window for the “f”. 2.    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=100&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Creating a ligature<br />
A ligature is a glyph made up of one or more glyphs. Most commercial fonts have some commonly used ligatures like æ, and œ. However, Fontographer makes it easy to create ligatures of your own without drawing a thing.<br />
To create a ligature:<br />
1.    Open the outline window for the “f”.<br />
2.    Choose Select All and then choose Duplicate to create another “f”.<br />
3.    Move the new “f” to the right.<br />
4.    Go back to the font window.<br />
5.    Copy the “l” into the same window using the Copy Component command from the Edit menu.<br />
6.    Move the referenced “l” to the right of the second “f”.<br />
7.    Choose Decompose Component from the Edit menu.<br />
8.    Choose <strong>Remove Overlap</strong> from the Element menu.<br />
Duplicate the “f”.<br />
Copy a reference glyph into the window.<br />
Move it into place.<br />
Choose <strong>Decompose Component</strong>.<br />
Then choose <strong>Remove Overlap</strong>.<br />
Remove any extra points.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=100&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2010/11/24/ligatures-with-fontographer-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>Apache and nginx on same server with multiple IP addresses</title>
		<link>http://boriskuzmanovic.wordpress.com/2010/11/02/apache-and-nginx-on-same-server-with-multiple-ip-addresses/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2010/11/02/apache-and-nginx-on-same-server-with-multiple-ip-addresses/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 18:44:34 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://serbiancafe.wordpress.com/?p=89</guid>
		<description><![CDATA[In order to get this to work, you need to specify the IP and port each should listen in the domain configuration file (and NOT in the global web-server config). nginx configuration for a domain (/etc/nginx/sites-enabled/www.mydomain.com) contains: listen 11.22.33.44:80; server_name www.mydomain.com mydomain.com; Apache configuration for another domain contains: In this case, this was at the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=89&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In order to get this to work, you need to specify the IP and port each should listen in the domain configuration file (and NOT in the global web-server config).</p>
<p>nginx configuration for a domain (/etc/nginx/sites-enabled/www.mydomain.com) contains:</p>
<p>listen 11.22.33.44:80;<br />
server_name www.mydomain.com mydomain.com;</p>
<p>Apache configuration for another domain contains:</p>
<p>In this case, this was at the top of /etc/apache2/sites-enabled/myotherdomain.com</p>
<p>WIth this setup, each web server has its own IP to listen to and they both serve on port 80.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/89/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/89/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/89/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=89&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2010/11/02/apache-and-nginx-on-same-server-with-multiple-ip-addresses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>nginx config file which works great with Codeigniter 2.0</title>
		<link>http://boriskuzmanovic.wordpress.com/2010/10/02/nginx-config-file-which-works-great-with-codeigniter-2-0/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2010/10/02/nginx-config-file-which-works-great-with-codeigniter-2-0/#comments</comments>
		<pubDate>Sun, 03 Oct 2010 04:51:54 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://serbiancafe.wordpress.com/?p=87</guid>
		<description><![CDATA[This config file works great on Ubuntu 10.04 LTS server with nginx 0.7.65. Other software includes php 5.3.2, Code Igniter 2.0. Performance-wise I was able to squeeze 12,000 requests per second on static files and ~250 req/s on dynamic PHP pages. This is a copy-paste from Chris Gaunt&#8217;s github page with a change in server name. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=87&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This config file works great on Ubuntu 10.04 LTS server with nginx 0.7.65. Other software includes php 5.3.2, Code Igniter 2.0. Performance-wise I was able to squeeze 12,000 requests per second on static files and ~250 req/s on dynamic PHP pages.</p>
<p>This is a copy-paste from Chris Gaunt&#8217;s <a href="http://github.com/chrisgaunt/codeigniter-nginx">github page</a> with a change in server name.</p>
<pre>server {
    listen 8080;
    server_name www.metak.com metak.com;
    access_log /home/metak/metak.com/logs/access.log;
    error_log /home/metak/metak.com/logs/error.log;
    root   /home/metak/metak.com/public_html;

    # If file is an asset, set expires and break
    location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
        expires max;
        break;
    }

	# Serve the directory/file if it exists, else pass to CodeIgniter front controller
	location / {
		try_files $uri @codeigniter;
	}

	# Do not allow direct access to the CodeIgniter front controller
	location ~* ^/index.php {
		rewrite ^/index.php/?(.*)$ /$1 permanent;
	}

	# CodeIgniter Front Controller
	location @codeigniter {
		internal;
		root /home/metak/metak.com/public_html;
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		include fastcgi_config;
		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME /home/metak/metak.com/public_html/index.php;
	}

	# If directly accessing a PHP file in the public dir other than index.php
	location ~* \.php$ {
		root /home/metak/metak.com/public_html;
		try_files $uri @codeigniter;
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		include fastcgi_config;
		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}

}</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=87&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2010/10/02/nginx-config-file-which-works-great-with-codeigniter-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>CodeIgniter 1.7.2 and SQLite 3</title>
		<link>http://boriskuzmanovic.wordpress.com/2010/01/13/codeigniter-1-7-2-and-sqlite-3/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2010/01/13/codeigniter-1-7-2-and-sqlite-3/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 16:10:39 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://serbiancafe.wordpress.com/?p=66</guid>
		<description><![CDATA[Nice little trick to get CI and sqlite3 to work together. Specify the database file location but prefix it with &#8216;sqlite:&#8217;. $db['default']['database'] = 'sqlite:'.APPPATH.'data/dictionary.sqlite3'; Tip taken from: http://blog.trevorbramble.com/past/2009/9/20/codeigniter_sqlite3/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=66&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nice little trick to get CI and sqlite3 to work together. Specify the database file location but prefix it with &#8216;sqlite:&#8217;.</p>
<p><code>$db['default']['database'] = 'sqlite:'.APPPATH.'data/dictionary.sqlite3';</code></p>
<p>Tip taken from:<br />
<a href="http://blog.trevorbramble.com/past/2009/9/20/codeigniter_sqlite3/">http://blog.trevorbramble.com/past/2009/9/20/codeigniter_sqlite3/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/66/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/66/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/66/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=66&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2010/01/13/codeigniter-1-7-2-and-sqlite-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>Compare two directories</title>
		<link>http://boriskuzmanovic.wordpress.com/2010/01/12/compare-two-directories/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2010/01/12/compare-two-directories/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 22:30:27 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS]]></category>

		<guid isPermaLink="false">http://serbiancafe.wordpress.com/?p=63</guid>
		<description><![CDATA[Great command for recursively comparing directories on Linux or Mac. diff -rq dirA dirB It sorts all files by name and than reports if a file exists in one and not the other. It also reports if files of same name exist in both directories but differ in content.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=63&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Great command for recursively comparing directories on Linux or Mac.</p>
<p><code>diff -rq dirA dirB</code></p>
<p>It sorts all files by name and than reports if a file exists in one and not the other. It also reports if files of same name exist in both directories but differ in content.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/63/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/63/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/63/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=63&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2010/01/12/compare-two-directories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
		<item>
		<title>Subversion pre-commit hook for detection of byte-order marks (BOMs)</title>
		<link>http://boriskuzmanovic.wordpress.com/2009/09/30/subversion-pre-commit-hook-for-detection-of-byte-order-marks-boms/</link>
		<comments>http://boriskuzmanovic.wordpress.com/2009/09/30/subversion-pre-commit-hook-for-detection-of-byte-order-marks-boms/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 03:52:06 +0000</pubDate>
		<dc:creator>boriskuzmanovic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bom]]></category>
		<category><![CDATA[byte-order mark]]></category>
		<category><![CDATA[hook]]></category>

		<guid isPermaLink="false">http://serbiancafe.wordpress.com/?p=55</guid>
		<description><![CDATA[Byte-order marks can mess up your code badly. Some of my CodeIgniter PHP code was receiving &#8220;headers already sent&#8221;, thanks to BOM&#8217;s alone. So, our goal is to reject a commit that contains one or more PHP files with BOMs. You can easily change the script to filter other files as well. The script is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=55&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Byte-order marks can mess up your code badly. Some of my CodeIgniter PHP code was receiving &#8220;headers already sent&#8221;, thanks to BOM&#8217;s alone. So, our goal is to reject a commit that contains one or more PHP files with BOMs. You can easily change the script to filter other files as well. The script is known to work on Dreamhost.</p>
<p>Enough of talking, here is the pre-commit hook, a bash script, you were desperately searching the Internet for:<br />
<code>
<pre>#!/bin/bash

REPOS="$1"
TXN="$2"

PHP="/usr/local/bin/php"
SVNLOOK="/usr/bin/svnlook"
AWK="/usr/bin/awk"
GREP="/bin/egrep"
SED="/bin/sed"

CHANGED=`$SVNLOOK changed -t "$TXN" "$REPOS" | $GREP "^[U|A]" | $AWK '{print $2}' | $GREP \.php$`

REGEX=$'\xEF\xBB\xBF'
GREP2="grep -l $REGEX"

for FILE in $CHANGED
do
    MESSAGE=`$SVNLOOK cat -t "$TXN" "$REPOS" "$FILE" | $GREP2`
    if [ $? -eq 0 ]
    then
        echo 1&gt;&amp;2
        echo "***********************************" 1&gt;&amp;2
        echo "Byte order mark error in: $FILE:" 1&gt;&amp;2
        #echo `echo "$MESSAGE" | $SED "s| -| $FILE|g"` 1&gt;&amp;2
        echo "***********************************" 1&gt;&amp;2
        exit 1
    fi
done</pre>
<p></code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/boriskuzmanovic.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/boriskuzmanovic.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/boriskuzmanovic.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/boriskuzmanovic.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/boriskuzmanovic.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/boriskuzmanovic.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/boriskuzmanovic.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/boriskuzmanovic.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/boriskuzmanovic.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/boriskuzmanovic.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/boriskuzmanovic.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/boriskuzmanovic.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/boriskuzmanovic.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/boriskuzmanovic.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=boriskuzmanovic.wordpress.com&amp;blog=27455082&amp;post=55&amp;subd=boriskuzmanovic&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://boriskuzmanovic.wordpress.com/2009/09/30/subversion-pre-commit-hook-for-detection-of-byte-order-marks-boms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/83127f10afb4ecbf0ffbae474cdad257?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">serbiancafe</media:title>
		</media:content>
	</item>
	</channel>
</rss>
