<?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>nick@ &#187; Blog</title>
	<atom:link href="http://kavassalis.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://kavassalis.com</link>
	<description>code, carriers, cars, cooking, cameras</description>
	<lastBuildDate>Thu, 08 Dec 2011 01:57:43 +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>Blog blog blog, blog blog blog</title>
		<link>http://kavassalis.com/2011/11/blog-blog-blog-blog-blog-blog/</link>
		<comments>http://kavassalis.com/2011/11/blog-blog-blog-blog-blog-blog/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 16:38:44 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://kavassalis.com/?p=947</guid>
		<description><![CDATA[I&#8217;ve been a lazy blogger still. It&#8217;s quite sad, at least once a day I come up with a rant that I say to myself &#8220;Hey that would make a great blog post&#8221;, and yet I never put pen to paper&#8230; or fingers to keyboard as it were. I&#8217;m working on that. However I have [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-950" title="textrendering" src="http://kavassalis.com/wp-content/uploads/2011/11/textrendering.png" alt="" width="224" height="260" />I&#8217;ve been a lazy blogger still. It&#8217;s quite sad, at least once a day I come up with a rant that I say to myself &#8220;Hey that would make a great blog post&#8221;, and yet I never put pen to paper&#8230; or fingers to keyboard as it were.</p>
<p>I&#8217;m working on that. However I have done some blog facelifts and improvements to hopefully re-inspire myself to do the writing that I really love.</p>
<p>First up the primary font has now been changed to Helvetica Neue Light, it&#8217;s really a <a href="http://kavassalis.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-12-at-11.26.06-AM.png" target="_blank">gorgeous typeface</a>. Likely this will still render as Arial on Windows desktops. Heck, it even renders different on Safari vs Firefox side by side on the same laptop. I really pity <strong>real</strong> web designers, doing a cross-platform pixel perfect UI in HTML 5 would be an exercise in pain and maybe impossibility.</p>
<p>I also changed some spacing and cleaned the general layout ever so slightly. There should be an extra line (or line and a half) of text on each page now.</p>
<p><a href="http://kavassalis.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-12-at-11.01.48-AM.png"><img class="alignleft size-medium wp-image-948" title="Screen Shot 2011-11-12 at 11.01.48 AM" src="http://kavassalis.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-12-at-11.01.48-AM-300x237.png" alt="" width="300" height="237" /></a>I&#8217;ve also changed the &#8216;large&#8217; image size that WP pre-crunches to be 600px instead of 1000px. I&#8217;ll be able to have full width images without breaking the layout now, however legacy images are all going to be the defaults. Over all I think it&#8217;s a definite improvement to readability and aesthetics, quite pleased with my cave-man with two sticks CSS efforts. Through a couple years of tweaking and modifying, the site is quite far from the original WP theme I bought. I&#8217;ve now changed the name of the blog from &#8216;nick@kavassalis.com&#8217; to &#8216;nick@&#8217;, the kavassalis.com is now implied :P</p>
<p>The next major change is that I&#8217;ve &#8220;moved&#8221; the hosting of the blog to <a href="https://www.cloudflare.com/" target="_blank">CloudFlare</a>. CloudFlare offers free and lunatic-cheap CDN services as well as inline HTML optimization and security. The tech seems awesome, and it came with a glowing endorsement from <a href="http://www.makingitscale.com/about" target="_blank">Brandon</a>.</p>
<p>I plan to use kavassalis.com as a bit of a test bed for other projects. Sadly it won&#8217;t be the best data, page views are pretty low compared to the 4-digit unique view days (and even a occasional 5-digit!), I&#8217;ll have to write something really controversial again&#8230;</p>
<p><img class="alignright size-full wp-image-949" title="cloudflare-logo" src="http://kavassalis.com/wp-content/uploads/2011/11/cloudflare-logo.png" alt="" width="309" height="52" />I really love the tech, and I recommend <a href="https://www.cloudflare.com/overview" target="_blank">reading up on what they offer</a>. My only wonder is how they&#8217;ll make money at their current pricing. It&#8217;s wild value for the money compared to any other CDNs I know. Wild isn&#8217;t a strong enough word. It seems insane. But hey, maybe they have a really cost effective network (affordable hardware &amp; colo, tons of peering?) and that&#8217;s their genius. I&#8217;ll definitely write more about my experiences in the future.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://kavassalis.com/2011/11/blog-blog-blog-blog-blog-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updated URL shortening rewrite</title>
		<link>http://kavassalis.com/2010/09/updated-url-shortening-rewrite/</link>
		<comments>http://kavassalis.com/2010/09/updated-url-shortening-rewrite/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 15:31:27 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://kavassalis.com/?p=207</guid>
		<description><![CDATA[Something I&#8217;d meant to do since the day I did it was to add the rewrite rule so that I could exclude the l? from URL shortened links my social bookmarker generated. (I had been repeatedly poked for leaving this out too) The original idea->implementation was 30 minutes, so this takes it up to 35 [...]]]></description>
			<content:encoded><![CDATA[<p>Something I&#8217;d meant to do since the day I did it was to add the rewrite rule so that I could exclude the l? from URL shortened links my social bookmarker generated. (I had been repeatedly poked for leaving this out too) The original idea->implementation was 30 minutes, so this takes it up to 35 minutes for the project, and only took a few months to implement. My entire .htaccess including the WordPress business is:<br />
<code><br />
RewriteEngine On<br />
RewriteRule ^([a-zA-Z0-9]{3,3})$ l.php?$1 [L]<br />
RewriteBase /<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</code><br />
And everything seems to be working as it should. That brings me up to 122 characters for the messages that accompany my URLs!</p>
]]></content:encoded>
			<wfw:commentRss>http://kavassalis.com/2010/09/updated-url-shortening-rewrite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The life and times of Dylan</title>
		<link>http://kavassalis.com/2010/08/the-life-and-times-of-dylan/</link>
		<comments>http://kavassalis.com/2010/08/the-life-and-times-of-dylan/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 14:48:36 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[animals]]></category>
		<category><![CDATA[nature]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://kavassalis.com/?p=144</guid>
		<description><![CDATA[So I&#8217;ve been working on a DQ9 review for the past 3 weeks, which went from early impressions, to mid impressions, and now I&#8217;ve just gotten side tracked. Anyway, here are some photos and a brief story. On August 3rd, Eva found a caterpillar on the dill while we were house sitting and taking care [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been working on a DQ9 review for the past 3 weeks, which went from early impressions, to mid impressions, and now I&#8217;ve just gotten side tracked. Anyway, here are some photos and a brief story.</p>
<p>On August 3rd, Eva found a caterpillar on the dill while we were house sitting and taking care of Molly. We quickly identified him as a Black Swallowtail caterpillar thanks to google:<a href="http://kavassalis.com/wp-content/uploads/2010/08/dylan0.jpg" target="_blank"><img class="alignnone size-medium wp-image-145" title="dylan0" src="http://kavassalis.com/wp-content/uploads/2010/08/dylan0-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>Some quickly googling further and we made a little home for him out of a Chinese takeout container, dirt, a water dish a small stick and lots of dill. Seen here on top of the coffee maker getting some sun.<br />
<a href="http://kavassalis.com/wp-content/uploads/2010/08/dylan1.jpg" target="_blank"><img class="alignnone size-medium wp-image-146" title="dylan1" src="http://kavassalis.com/wp-content/uploads/2010/08/dylan1-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>By August 6th, he had more than doubled in size (after eating almost all the dill we could pick), and we decided he needed a larger home.<br />
<a href="http://kavassalis.com/wp-content/uploads/2010/08/dylan2.jpg" target="_blank"><img class="alignnone size-medium wp-image-147" title="dylan2" src="http://kavassalis.com/wp-content/uploads/2010/08/dylan2-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>We had picked a vase up when grabbing some stuff from home the previous day, so we built him a new home. Same dirt, a bigger stick, new water dish and more dill.</p>
<p><a href="http://kavassalis.com/wp-content/uploads/2010/08/dylan3.jpg" target="_blank"><img class="alignnone size-medium wp-image-148" title="dylan3" src="http://kavassalis.com/wp-content/uploads/2010/08/dylan3-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>On the morning of August 8th, we noticed Dylan had suspended himself by a thread under his log, and we knew he had finally eaten enough.</p>
<p><a href="http://kavassalis.com/wp-content/uploads/2010/08/dylan4.jpg" target="_blank"><img class="alignnone size-medium wp-image-149" title="dylan4" src="http://kavassalis.com/wp-content/uploads/2010/08/dylan4-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>We checked back all day but no change, however this morning&#8230;</p>
<p><a href="http://kavassalis.com/wp-content/uploads/2010/08/dylan5.jpg" target="_blank"><img class="alignnone size-medium wp-image-150" title="dylan5" src="http://kavassalis.com/wp-content/uploads/2010/08/dylan5-300x240.jpg" alt="" width="300" height="240" /></a></p>
<p>Sure enough, it was just as we read, his cocoon matched the color of the stick (they apparently can range from brown to bright green). Goodbye Dylan the caterpillar. 9-11 days and Dylan the butterfly will emerge. Dunno if we will be here to see it, but here&#8217;s hoping!<br />
I feel like I&#8217;m writing a children&#8217;s book :)</p>
]]></content:encoded>
			<wfw:commentRss>http://kavassalis.com/2010/08/the-life-and-times-of-dylan/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Lack of updates, link aggregation</title>
		<link>http://kavassalis.com/2010/05/lack-of-updates-link-aggregation/</link>
		<comments>http://kavassalis.com/2010/05/lack-of-updates-link-aggregation/#comments</comments>
		<pubDate>Wed, 05 May 2010 14:06:19 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://kavassalis.com/?p=81</guid>
		<description><![CDATA[So first off I apologize for a lack of blogging. It always seems to fall to the side when life gets busy. My main priority right now is working on (and eventually) finishing going through Florida pictures, but everything seems to get in the way including taking more pics to add to the queue. One [...]]]></description>
			<content:encoded><![CDATA[<p>So first off I apologize for a lack of blogging. It always seems to fall to the side when life gets busy. My main priority right now is working on (and eventually) finishing going through Florida pictures, but everything seems to get in the way including taking more pics to add to the queue.</p>
<p>One thing I&#8217;ve wanted to do for awhile though is have a way to manage my interesting links. I read a lot of tech and science news in the morning and like to share said articles with family and friends. So I generally share them with Facebook, or Twitter (which in turn *usually* trickles back to Facebook unless their plugin is broken), but neither is really a trust worthy place to put any information you care about. I really like the way <a href="http://justinsomnia.org/" target="_blank">Justin does it</a>, but also wanted to tie a quick push to Twitter (and thus Facebook) in.  So I figured I might as well write a little social bookmarking thing.</p>
<p>The entire hack took about 30 minutes, including the time to register a cheap (i.e. not taken) and very short (3.2) domain name (k4v.ca) for my built in URL shortener as using kavassalis.com?blah seemed a touch long. I have yet to display my links in the blog layout, but I will probably whip up a widget tomorrow morning to appear on the right side of all the pages with the last N links. Anyway the code is pretty ugly and basic but here it is:</p>
<p>The actual link forwarder: (l.php)<br />
<code><br />
if (sizeof($_GET)!=1) { header("Location: http://kavassalis.com/"); }<br />
$code = key($_GET);</code></p>
<p><code> </code></p>
<p><code>$dbUser = "abc";<br />
$dbPass = "xyz";<br />
$dbName = "nick_blog";<br />
$dbHost = "127.0.0.1";</p>
<p>@mysql_connect($dbHost, $dbUser, $dbPass) or header("Location: http://kavassalis.com/");<br />
@mysql_select_db($dbName) or header("Location: http://kavassalis.com/");</p>
<p>$result = mysql_query("SELECT link FROM links where code='$code'");<br />
$rows = mysql_num_rows($result) ;</p>
<p></code></p>
<p><code>if ($rows == 1) {<br />
$link = mysql_result($result,0,"link");<br />
header("Location: $link");<br />
} else { header("Location: http://kavassalis.com/"); }<br />
</code></p>
<p>(The obvious flaw is that it doesn&#8217;t give an error to the user if the database is down, but I didn&#8217;t feel like doing that so&#8230;)</p>
<p>and here is the link creator: (bookmark.php)<br />
<code><br />
function mkCookie()<br />
{<br />
$pool = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';<br />
for ($i = 0; $i &lt; 3; $i++)<br />
{ $result .= $pool{rand(0, 61)}; }<br />
return $result;<br />
}</code></p>
<p><code> </code></p>
<p><code>if (!isset($_GET['link']) || !isset($_GET['blurb'])) {<br />
     *** FORM HTML WOULD APPEAR HERE, THANKS WORDPRESS ***<br />
} else {</p>
<p>$blurb = $_GET['blurb'];<br />
$link = $_GET['link'];</p>
<p>$dbUser = "abc";<br />
$dbPass = "xyz";<br />
$dbName = "nick_blog";<br />
$dbHost = "127.0.0.1";</p>
<p>@mysql_connect($dbHost, $dbUser, $dbPass) or die("Bah, cannot connect to my DB...");<br />
@mysql_select_db($dbName) or die("Bah, cannot select my database...");</p>
<p>// make sure we dont dupe codes, even though the code space is huge (62*62*62)<br />
while (1) {<br />
        $code = mkCookie();<br />
        $result = mysql_query("SELECT id FROM links where code='$code'");<br />
        $rows = mysql_num_rows($result) ;<br />
        if ($rows < 1) break;<br />
}</p>
<p>$result = mysql_query("INSERT INTO links (code,link,blurb) VALUES('$code','$link','$blurb')");<br />
$url = "http://k4v.ca/l?$code";<br />
header("Location: http://twitter.com/home?status=$blurb> $url");<br />
}<br />
?></p>
<p></code></p>
<p>Amusingly the WordPress &lt; code &gt; block really seems to detest HTML, i.e. WordPress renders it even though its inside the block, that just makes no sense&#8230; Too lazy to figure out how to do it for a 4 line form. So yea, thats the code. No URL tracking/stats, but thats not really what I was going after. I just wanted an easy one click way to share URLs everywhere at once, and store them somewhere safe.</p>
<p>Things have been generally busy work wise, home wise. I am going to try and blog more again. Today being May 5th means that Mucho Burrito has $5 12&#8243; burritos and I&#8217;m going to go and see if I can&#8217;t manage to consume two between now and dinner. Toodles!</p>
]]></content:encoded>
			<wfw:commentRss>http://kavassalis.com/2010/05/lack-of-updates-link-aggregation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://kavassalis.com/2010/02/hello-world/</link>
		<comments>http://kavassalis.com/2010/02/hello-world/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 19:43:38 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://kavassalis.com/dotorg/?p=1</guid>
		<description><![CDATA[So I&#8217;ve decided to catalog some of my development projects / experiments as well as make my general rants bigger than the SMS sized text field twitter allows. So for the 800th time, I&#8217;m launching a blog. So far I think I&#8217;m going to approve comments by hand, but once someone has an approved comment [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve decided to catalog some of my development projects / experiments as well as make my general rants bigger than the SMS sized text field twitter allows. So for the 800th time, I&#8217;m launching a blog.</p>
<p>So far I think I&#8217;m going to approve comments by hand, but once someone has an approved comment they can post instantly. That shouldn&#8217;t be too much effort, but we&#8217;ll see how it goes. I&#8217;m feeling too lazy (it is Sunday morning after all) to dig up some captcha plugin and install it. Wordpress is always very enjoyable to install, its quick and painless. The photo I threw uptop was taken last Fall in Mississauga&#8217;s Port Credit. <a href="http://www.flickr.com/photos/nkavassalis/3757915679/in/set-72157620959858174/" target="_blank">Here it is in its entirety.</a> I chose it due to fairly similar colors to the theme I chose. I will likely change it in the near future.</p>
<p>(I did however throw up a Twitter plugin to syndicate all my rants to my various social media outlets. I apologize for any perceived spam in advance!)</p>
<p>Don&#8217;t have too much to say other than that, it is Sunday morning after all. Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://kavassalis.com/2010/02/hello-world/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

