<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Boris Masis - Personal Homepage &#187; web development</title>
	<atom:link href="http://borism.net/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://borism.net</link>
	<description></description>
	<lastBuildDate>Sun, 27 Feb 2011 20:22:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Tagging for Git Deployment</title>
		<link>http://borism.net/2011/02/05/tagging-for-git-deployment/</link>
		<comments>http://borism.net/2011/02/05/tagging-for-git-deployment/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 22:50:21 +0000</pubDate>
		<dc:creator>boris</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://borism.net/?p=230</guid>
		<description><![CDATA[Git pulls are a fairly easy way to deploy your code, and we&#8217;re doing just that at my new event promotion startup. We wanted to take our release process just one small step further by tagging our releases so that we know exactly what is running in production and when it got there. Instead of [...]]]></description>
			<content:encoded><![CDATA[<p>Git pulls are a fairly easy way to deploy your code, and we&#8217;re doing just that at my new <a href="http://ripplefunction.com">event promotion</a> startup. We wanted to take our release process just one small step further by tagging our releases so that we know exactly what is running in production and when it got there. Instead of using formal release numbers we decided to just use a simple date system: YY.MM.DD.HH.mm (using leading 0s and the 24 hour clock). For example if I were to do a release right now I would tag it 11.02.04.17.44</p>
<p>If you are developing on windows, the following .bat file will take care of creating such a tag for you and pushing it to your remote repository (i.e. Github):</p>

<div class="wp_syntax"><div class="code"><pre class="winbatch" style="font-family:monospace;"><span style="color: #800080;">call</span> git tag <span style="color: #66cc66;">%</span>date<span style="color: #FF1010; font-weight: bold;">:~12,2%.%date:~4,2%.%date:~7,2%.%time:~0,2%.%time:~3,2%</span>
<span style="color: #800080;">call</span> git push <span style="color: #66cc66;">--</span>tags
cmd</pre></div></div>

<p>The next step in the deployment is to pull down the tag in QA:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> fetch
<span style="color: #c20cb9; font-weight: bold;">git</span> checkout YY.MM.DD.HH.mm <span style="color: #7a0874; font-weight: bold;">&#40;</span>referring to your previously named tag<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>This process can be repeated in production, but if it fails QA testing we delete the tag with the following commands and start over.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> tag <span style="color: #660033;">-d</span> YY.MM.DD.HH.mm <span style="color: #7a0874; font-weight: bold;">&#40;</span>to delete your <span style="color: #7a0874; font-weight: bold;">local</span> tag<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #c20cb9; font-weight: bold;">git</span> push origin :YY.MM.DD.HH.mm <span style="color: #7a0874; font-weight: bold;">&#40;</span>to delete the remote tag<span style="color: #7a0874; font-weight: bold;">&#41;</span>
on QA: <span style="color: #c20cb9; font-weight: bold;">git</span> tag <span style="color: #660033;">-d</span> YY.MM.DD.HH.mm <span style="color: #7a0874; font-weight: bold;">&#40;</span>to delete the QA <span style="color: #7a0874; font-weight: bold;">local</span> tag<span style="color: #7a0874; font-weight: bold;">&#41;</span></pre></div></div>

<p>If you&#8217;re not immediately creating a fixed release, update QA to the prior tag using</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">git</span> checkout YY.MM.DD.HH.mm</pre></div></div>

<p>As an alternative workflow, you could create your tags in QA after QA testing has passed, in which case you could create this bash file</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #007800;">tag</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #ff0000;">&quot;%y.%m.%d.%H.%M&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #c20cb9; font-weight: bold;">git</span> tag <span style="color: #007800;">$tag</span>
<span style="color: #c20cb9; font-weight: bold;">git</span> checkout <span style="color: #007800;">$tag</span>
<span style="color: #c20cb9; font-weight: bold;">git</span> push <span style="color: #660033;">--tags</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://borism.net/2011/02/05/tagging-for-git-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Write Yourself a Merry Little URL Re-writer</title>
		<link>http://borism.net/2009/08/21/write-yourself-a-merry-little-url-re-writer/</link>
		<comments>http://borism.net/2009/08/21/write-yourself-a-merry-little-url-re-writer/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 18:35:31 +0000</pubDate>
		<dc:creator>boris</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[umbraco]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.borism.net/?p=191</guid>
		<description><![CDATA[A common web development concern is the www subdomain. Do you host at http://www.site.com or http://site.com? Which ever you choose you want to be sure that visitors who type in the other get re-directed properly. If you use IIS you can setup a new website to do such a permanent redirect, but that solution doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>A common web development concern is the www subdomain. Do you host at http://www.site.com or http://site.com? Which ever you choose you want to be sure that visitors who type in the other get re-directed properly.</p>
<p>If you use IIS you can setup a new website to do such a permanent redirect, but that solution doesn&#8217;t scale well. For example, we run 42 websites using one install of <a href="http://www.umbraco.org">umbraco</a>, and consequently one IIS website. We&#8217;d need 42 new websites in IIS to use the built-in redirect feature.</p>
<p>One example site is <a href="http://en.culturalcare.com">http://en.culturalcare.com</a>, and I want to make sure that if someone types in <a href="http://www.en.culturalcare.com">http://www.en.culturalcare.com</a> they get redirected properly. The solution is to write a little generic URL re-writer yourself using the global.asax file.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&lt;</span> <span style="color: #008000;">%</span>@ Application Language<span style="color: #008000;">=</span><span style="color: #666666;">&quot;C#&quot;</span> <span style="color: #008000;">%&gt;</span>
<span style="color: #008000;">&lt;</span>script runat<span style="color: #008000;">=</span><span style="color: #666666;">&quot;server&quot;</span><span style="color: #008000;">&gt;</span>
<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #6666cc; font-weight: bold;">void</span> Application_BeginRequest<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">Object</span> sender, EventArgs e<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #6666cc; font-weight: bold;">string</span> domainName <span style="color: #008000;">=</span> Request<span style="color: #008000;">.</span><span style="color: #0000FF;">Url</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Host</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Replace</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;www.&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToLower</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #6666cc; font-weight: bold;">string</span> sOldPath <span style="color: #008000;">=</span> HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Path</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToLower</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #6666cc; font-weight: bold;">string</span> sPage <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;http://&quot;</span> <span style="color: #008000;">+</span> domainName <span style="color: #008000;">+</span> sOldPath<span style="color: #008000;">;</span>
			Response<span style="color: #008000;">.</span><span style="color: #0000FF;">Clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			Response<span style="color: #008000;">.</span><span style="color: #0000FF;">Status</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;301 Moved Permanently&quot;</span><span style="color: #008000;">;</span>
			Response<span style="color: #008000;">.</span><span style="color: #0000FF;">AddHeader</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Location&quot;</span>,sPage<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			Response<span style="color: #008000;">.</span><span style="color: #0000FF;">End</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&lt;/</span>script<span style="color: #008000;">&gt;</span></pre></div></div>

<p>As you can see the code removes &#8220;www.&#8221; from the url and 301 redirects to the non-www version. It also passes the full path.</p>
<p>You could modify the code slightly to add www&#8217;s instead of removing them if that&#8217;s the desired effect:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&lt;</span> <span style="color: #008000;">%</span>@ Application Language<span style="color: #008000;">=</span><span style="color: #666666;">&quot;C#&quot;</span> <span style="color: #008000;">%&gt;</span>
<span style="color: #008000;">&lt;</span>script runat<span style="color: #008000;">=</span><span style="color: #666666;">&quot;server&quot;</span><span style="color: #008000;">&gt;</span>
<span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #6666cc; font-weight: bold;">void</span> Application_BeginRequest<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">Object</span> sender, EventArgs e<span style="color: #008000;">&#41;</span>
		<span style="color: #008000;">&#123;</span>
			<span style="color: #6666cc; font-weight: bold;">string</span> domainName <span style="color: #008000;">=</span> Request<span style="color: #008000;">.</span><span style="color: #0000FF;">Url</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Host</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToLower</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #6666cc; font-weight: bold;">string</span> sOldPath <span style="color: #008000;">=</span> HttpContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Path</span><span style="color: #008000;">.</span><span style="color: #0000FF;">ToLower</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			<span style="color: #6666cc; font-weight: bold;">string</span> sPage <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;http://www.&quot;</span> <span style="color: #008000;">+</span> domainName <span style="color: #008000;">+</span> sOldPath<span style="color: #008000;">;</span>
			Response<span style="color: #008000;">.</span><span style="color: #0000FF;">Clear</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			Response<span style="color: #008000;">.</span><span style="color: #0000FF;">Status</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;301 Moved Permanently&quot;</span><span style="color: #008000;">;</span>
			Response<span style="color: #008000;">.</span><span style="color: #0000FF;">AddHeader</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Location&quot;</span>,sPage<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
			Response<span style="color: #008000;">.</span><span style="color: #0000FF;">End</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
		<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&lt;/</span>script<span style="color: #008000;">&gt;</span></pre></div></div>

<p><a href='http://www.borism.net/wordpress/wp-content/uploads/2009/08/rewriter.zip'>Download a full example for use with IIS</a>.</p>
<p>To implement:</p>
<ul>
<li>create a new site in IIS and add host headers for all of the domains you would like to redirect</li>
<li>extract the zip above to the directory setup in IIS</li>
<li>setup wildcard application mapping in IIS to let the global.asax file handle all requests (not just ones that end in .aspx, etc). On windows server 2003 just go to Home Directory -> Configuration and paste in the aspnet_isapi.dll location in the wildcard application maps section. By default the path is C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll (uncheck &#8220;Verify that file exists&#8221;)
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://borism.net/2009/08/21/write-yourself-a-merry-little-url-re-writer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Web Apps in 150 lines or less</title>
		<link>http://borism.net/2009/07/14/web-apps-in-150-lines-or-less/</link>
		<comments>http://borism.net/2009/07/14/web-apps-in-150-lines-or-less/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 00:09:13 +0000</pubDate>
		<dc:creator>boris</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.borism.net/?p=177</guid>
		<description><![CDATA[We recently completed work on AuPairVideos.com. The site went from concept to launch in just over a month, in part thanks to its lightweight single-page design. We ended up writing ~150 lines of code in each layer: 152 lines of HTML 165 lines of CSS 159 lines of JavaScript 147 lines of PHP 88 lines [...]]]></description>
			<content:encoded><![CDATA[<p>We recently completed work on <a href="http://AuPairVideos.com">AuPairVideos.com</a>. The site went from concept to launch in just over a month, in part thanks to its lightweight single-page design. We ended up writing ~150 lines of code in each layer:</p>
<ul>
<li>152 lines of HTML</li>
<li>165 lines of CSS</li>
<li>159 lines of JavaScript</li>
<li>147 lines of PHP</li>
<li>88 lines of SQL</li>
</ul>
<p>If only everything could be so simple.</p>
<p><a href="http://aupairvideos.com"><img src="http://www.borism.net/wordpress/wp-content/uploads/2009/07/au-pair-videos.jpg" alt="au-pair-videos" title="Au Pair Videos" width="450" height="398" class="aligncenter size-full wp-image-178" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://borism.net/2009/07/14/web-apps-in-150-lines-or-less/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unabtrusive Ribbons</title>
		<link>http://borism.net/2009/07/14/unabtrusive-ribbons/</link>
		<comments>http://borism.net/2009/07/14/unabtrusive-ribbons/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 23:46:13 +0000</pubDate>
		<dc:creator>boris</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.borism.net/?p=134</guid>
		<description><![CDATA[Tools such as Quick Ribbon are great for generating simple and effective ribbons such as this one: A small problem though is the potential to block content underneath the ribbon transparency area. For example, that &#8220;About Us&#8221; link is obscured by the large square ribbon image. A simple workaround is to split the ribbon image [...]]]></description>
			<content:encoded><![CDATA[<p>Tools such as <a href="http://quickribbon.com/">Quick Ribbon</a> are great for generating simple and effective ribbons such as this one:</p>
<p><a href="http://www.culturalcare.com"><img src="http://www.borism.net/wordpress/wp-content/uploads/2009/07/ribbon.png" alt="ribbon" title="ribbon" width="302" height="151" class="aligncenter size-full wp-image-171" /></a></p>
<p>A small problem though is the potential to block content underneath the ribbon transparency area. For example, that &#8220;About Us&#8221; link is obscured by the large square ribbon image.</p>
<p>A simple workaround is to split the ribbon image in two (or more) pieces as I&#8217;ve highlighted below and stitch them together in CSS. Now the &#8220;About Us&#8221; link can be clicked just fine.</p>
<p><a href="http://www.culturalcare.com"><img src="http://www.borism.net/wordpress/wp-content/uploads/2009/07/ribbon2.png" alt="ribbon2" title="ribbon2" width="302" height="151" class="aligncenter size-full wp-image-170" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#ribbon-</span><span style="color: #000000; font-weight: bold;">top</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span><span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #cc00cc;">#ribbon-</span><span style="color: #000000; font-weight: bold;">bottom</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #933;">75px</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://borism.net/2009/07/14/unabtrusive-ribbons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A simple use case for yahoo pipes</title>
		<link>http://borism.net/2009/04/13/a-simple-use-case-for-yahoo-pipes/</link>
		<comments>http://borism.net/2009/04/13/a-simple-use-case-for-yahoo-pipes/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 21:20:57 +0000</pubDate>
		<dc:creator>boris</dc:creator>
				<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.borism.net/?p=163</guid>
		<description><![CDATA[If you&#8217;ve never played with Yahoo Pipes, you should. The innovative interface alone is worth it. Here&#8217;s a simple yahoo pipes example: lets say that you have a blog that you want to syndicate differently to different audiences (for example we have a Tumblr blog and we want to exclude some of the content from [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve never played with <a href="http://pipes.yahoo.com">Yahoo Pipes</a>, you should. The innovative interface alone is worth it.</p>
<p>Here&#8217;s a simple yahoo pipes example: lets say that you have a blog that you want to syndicate differently to different audiences (for example we have a Tumblr blog and we want to exclude some of the content from the rss feed for use with facebook pages). The solution is simple; add a tag to posts that you want to exclude on tumblr and then use yahoo pipes to filter out those posts and generate a new RSS feed.</p>
<p>You can <a href="http://pipes.yahoo.com/pipes/pipe.info?_id=a91e912f9a7627510ed855b9aba0db65">try it with your own Tumblr blog</a> and tag.</p>
]]></content:encoded>
			<wfw:commentRss>http://borism.net/2009/04/13/a-simple-use-case-for-yahoo-pipes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Renewing Your SSL Certificate (harder than it should be)</title>
		<link>http://borism.net/2009/03/26/renewing-your-ssl-certificate-harder-than-it-should-be/</link>
		<comments>http://borism.net/2009/03/26/renewing-your-ssl-certificate-harder-than-it-should-be/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 14:55:04 +0000</pubDate>
		<dc:creator>boris</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.borism.net/?p=156</guid>
		<description><![CDATA[If you&#8217;ve ever setup an SSL certificate you know that its a hassle. Renewing your SSL certificate is likewise un-intuitive and takes more steps than it should. It turns out that paying for a certificate renewal does not automatically renew the certificate you have installed, you actually have to install the renewed copy. Our setup [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve ever setup an SSL certificate you know that its a hassle. Renewing your SSL certificate is likewise un-intuitive and takes more steps than it should. It turns out that <strong>paying for a certificate renewal does not automatically renew the certificate you have installed, you actually have to install the renewed copy</strong>.</p>
<p>Our setup involves a wildcard GoDaddy SSL certificate hosted on IIS6. The renewal process goes something like this:</p>
<ol>
<li>You then have to go to &#8220;Manage Certificate&#8221; in Godaddy and request a renewal.</li>
<li>Generate the CSR in IIS:
<ul>
<li>Go to the &#8220;Directory Security&#8221; tab for SSL site in IIS.</li>
<li>Click the &#8220;Server Certificate.&#8221; button (located in the &#8220;Secure communications&#8221; area)</li>
<li>Click &#8220;Next&#8221; in the Welcome to the &#8220;Web Server Certificate Wizard&#8221; window.</li>
<li>Select &#8220;Renew&#8221;; then click &#8220;Next.&#8221;</li>
<li>Select &#8220;Prepare the request now, but send it later&#8221; and click &#8220;Next.&#8221;</li>
<li>Paste the CSR into the Godaddy form.</li>
</ul>
</li>
<li>Godaddy will issue the new certificate (you should get an email instantaneously)</li>
<li>Process the pending request in IIS using the .crt file sent by GoDaddy.</li>
<li>Select &#8220;replace the current certificate&#8221; and select the certificate with the new expiration date.</li>
<li>If you&#8217;re using a wildcard certificate and want to use it with other sites select &#8220;export the current certificate to a .pfx file&#8221; </li>
<li> To use the exported wildcard certificate on a different website you will first need to remove the current certificate on that website and then import the one from the .pfx (there will be momentary downtime while you do this).</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://borism.net/2009/03/26/renewing-your-ssl-certificate-harder-than-it-should-be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(anti) IE8 CSS Hack</title>
		<link>http://borism.net/2009/03/19/anti-ie8-css-hack/</link>
		<comments>http://borism.net/2009/03/19/anti-ie8-css-hack/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 20:22:08 +0000</pubDate>
		<dc:creator>boris</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.borism.net/?p=143</guid>
		<description><![CDATA[IE8 came out today. Along the way Microsoft fixed a bunch or rendering bugs, which is great, but you might run into problems of you previously used conditional comments such as: &#60;!--&#91;if IE&#93;&#62; &#60;link rel=&#34;stylesheet&#34; href=&#34;patches-ie.css&#34; type=&#34;text/css&#34; media=&#34;all&#34; /&#62; &#60; !&#91;endif&#93;--&#62; The trouble is that IE8 will still read that patches-ie.css file and apply some [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">IE8 came out today</a>. Along the way Microsoft fixed a bunch or rendering bugs, which is great, but you might run into problems of you previously used conditional comments such as:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">&lt;!--<span style="color: #00AA00;">&#91;</span>if IE<span style="color: #00AA00;">&#93;</span><span style="color: #00AA00;">&gt;</span>
&lt;link rel<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> href<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;patches-ie.css&quot;</span> type<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> media<span style="color: #00AA00;">=</span><span style="color: #ff0000;">&quot;all&quot;</span> /<span style="color: #00AA00;">&gt;</span>
&lt; !<span style="color: #00AA00;">&#91;</span>endif<span style="color: #00AA00;">&#93;</span>--<span style="color: #00AA00;">&gt;</span></pre></div></div>

<p>The trouble is that <strong>IE8 will still read that patches-ie.css file</strong> and apply some styles that may no longer be needed because the bugs they address have since been fixed. Microsoft recommends that you update your pages to do <a href="http://blogs.msdn.com/ie/archive/2009/03/12/site-compatibility-and-ie8.aspx">more precise version detection</a>. That&#8217;s probably the best solution, but let&#8217;s say that you don&#8217;t want to update all of your web applications.</p>
<p>The <strong>quick and dirty solution for you is the * hack.</strong> <a href="http://www.last-child.com/ie7-and-ie8-hack-behavior/">IE8 no longer supports the * hack</a>, so you can edit your patches-ie.css file to make it look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #00AA00;">*</span><span style="color: #000000; font-weight: bold;">margin-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* for versions prior to IE8 */</span></pre></div></div>

<p>Of course you can also <strong>reverse this to target IE8</strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span>  <span style="color: #808080; font-style: italic;">/* all browsers (including IE8) */</span>
<span style="color: #00AA00;">*</span><span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* override for IE7 and prior*/</span></pre></div></div>

<p>Be sure to use Xenocode to <a href="http://www.xenocode.com/browsers/">test various version of Internet Explorer</a> side by side and make sure the hack worked.</p>
]]></content:encoded>
			<wfw:commentRss>http://borism.net/2009/03/19/anti-ie8-css-hack/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Changing Domain Registrars (and avoiding downtime)</title>
		<link>http://borism.net/2009/02/25/changing-dns-hosts-and-avoiding-downtime/</link>
		<comments>http://borism.net/2009/02/25/changing-dns-hosts-and-avoiding-downtime/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 23:42:28 +0000</pubDate>
		<dc:creator>boris</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.borism.net/?p=105</guid>
		<description><![CDATA[Yahoo small business domains recently increased their yearly domain renewal fees to $30 (as compared to $7 for some others) I needed to transfer several production domains from yahoo to godaddy and avoid downtime. Domain transfers are notoriously lengthy and painful; domain unlocking, transfer initiation, secret codes, and waiting, waiting, and more waiting. Here&#8217;s a [...]]]></description>
			<content:encoded><![CDATA[<p>Yahoo small business domains recently increased their yearly domain renewal fees to $30 (as compared to <a href="http://www.godaddy.com">$7 for some others</a>)</p>
<p>I needed to transfer several production domains from yahoo to godaddy and avoid downtime. Domain transfers are notoriously lengthy and painful; domain unlocking, transfer initiation, secret codes, and waiting, waiting, and more waiting.</p>
<p>Here&#8217;s <strong>a little tip to avoid downtime</strong>:</p>
<p>When you are transferring your domain, select to <strong>keep the existing DNS servers</strong>. This means that you don&#8217;t need to worry about re-configuring the DNS entries right away. First, your transfer will take place, and then, when you are good and ready you can change the name servers to godaddy (or your new registrar), and add all the appropriate entries in one sitting.</p>
]]></content:encoded>
			<wfw:commentRss>http://borism.net/2009/02/25/changing-dns-hosts-and-avoiding-downtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

