<?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>Daniel Nitsikopoulos.</title>
	<atom:link href="http://www.dnitza.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dnitza.com</link>
	<description>Melbourne Web Developer and Designer</description>
	<lastBuildDate>Sun, 19 Feb 2012 01:06:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>An introduction to HTML5 canvas: part 1</title>
		<link>http://www.dnitza.com/2012/02/16/an-introduction-to-html5-canvas-part-1/</link>
		<comments>http://www.dnitza.com/2012/02/16/an-introduction-to-html5-canvas-part-1/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 20:27:16 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=468</guid>
		<description><![CDATA[<h2 class="preamble">THE &#60;canvas&#62; tag which was introduced in the HTML5 spec acts as a container for graphics to be drawn in. The canvas element itself is useless without the 2D drawing API and that&#8217;s what I&#8217;ll be look at here.</h2>
<p>Firstly, I&#8217;d like to point out that elements drawn in the canvas are not part of the DOM and therefore cannot be bound to events. If you want your elements to respond to events, I would suggest using SVG instead.</p>
<p>Ok so we have that out of the way.</p>
<p>I&#8217;ll be using some examples to help illustrate how canvas works during this article.</p>
<pre> &#60;canvas id="myCanvas" width="400px" height="400px"&#62;&#60;/canvas&#62;</pre>
<p>The first thing to understand about canvas is that you don&#8217;t actually draw on the canvas element itself, but rather a canvas &#8220;context&#8221; which the javascript API provides. The context is basically a drawing stack that holds all of our drawings. So let&#8217;s go ahead and define the context.</p>
<pre>var canvas2D = document.getElementsById('myCanvas').getContext('2d')</pre>
<p>At the moment we&#8217;re limited to a 2D context. From now on, when we want to interact with the contents of the canvas, we&#8217;re going to be calling methods on &#8216;canvas2D&#8217;, a full list of which can be <a title="Canvas API methods" href="http://dev.w3.org/html5/2dcontext/#conformance-requirements">seen here</a>.</p>
<p>So let&#8217;s get started by drawing a rectangle. To do so we&#8217;re going to use the fillRect method which is defined in the spec ...]]></description>
			<content:encoded><![CDATA[<h2 class="preamble">THE &lt;canvas&gt; tag which was introduced in the HTML5 spec acts as a container for graphics to be drawn in. The canvas element itself is useless without the 2D drawing API and that&#8217;s what I&#8217;ll be look at here.</h2>
<p>Firstly, I&#8217;d like to point out that elements drawn in the canvas are not part of the DOM and therefore cannot be bound to events. If you want your elements to respond to events, I would suggest using SVG instead.</p>
<p>Ok so we have that out of the way.</p>
<p>I&#8217;ll be using some examples to help illustrate how canvas works during this article.</p>
<pre> &lt;canvas id="myCanvas" width="400px" height="400px"&gt;&lt;/canvas&gt;</pre>
<p>The first thing to understand about canvas is that you don&#8217;t actually draw on the canvas element itself, but rather a canvas &#8220;context&#8221; which the javascript API provides. The context is basically a drawing stack that holds all of our drawings. So let&#8217;s go ahead and define the context.</p>
<pre>var canvas2D = document.getElementsById('myCanvas').getContext('2d')</pre>
<p>At the moment we&#8217;re limited to a 2D context. From now on, when we want to interact with the contents of the canvas, we&#8217;re going to be calling methods on &#8216;canvas2D&#8217;, a full list of which can be <a title="Canvas API methods" href="http://dev.w3.org/html5/2dcontext/#conformance-requirements">seen here</a>.</p>
<p>So let&#8217;s get started by drawing a rectangle. To do so we&#8217;re going to use the fillRect method which is defined in the spec like so.</p>
<pre>void fillRect(double x, double y, double w, double h);</pre>
<p>which means all we need to do is specify the x and y co-ordinates for the top left corner as well as its dimensions (width and height). Like so:</p>
<pre>context2D.fillRect(15,15,100,200)</pre>
<p>which will make a rectangle 15px in from the top and left edges and it will be 200px high and 100px across. Simple.</p>
<div id="attachment_473" class="wp-caption aligncenter" style="width: 483px"><img class="size-full wp-image-473" title="Fig1. Rectangle" src="http://www.dnitza.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-15-at-8.55.16-PM.png" alt="" width="473" height="287" /><p class="wp-caption-text">Fig1. Rectangle</p></div>
<p>By default it looks pretty boring right? right! If you don&#8217;t specify any styles, the defaults are black. To define styles we can use fillStyle to pick the fill colour and strokeStyle for the stroke. Let&#8217;s give it a go:</p>
<pre>context2D.fillStyle = 'pink';
context2D.strokeStyle = 'green';
context2D.fillRect(15,15,100,200);
context2D.strokeRect(15,15,100,200);</pre>
<div id="attachment_474" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-474" title="Coloured Rectangle" src="http://www.dnitza.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-15-at-8.59.36-PM.png" alt="" width="500" height="287" /><p class="wp-caption-text">Fig2. Coloured Rectangle</p></div>
<p>Much better!</p>
<p>What if we wanted more rectangles but we wanted to change the colour?</p>
<p>Well thankfully this is just as simple, though takes some getting used to. Remember that stack I mentioned earlier? Well this is where it really comes in to play. To achieve something like <em>Fig3. </em>we have to manipulate the layers of the stack.</p>
<p>So if we want to make a pink rectangle, a green rectangle, then a pink one again, we&#8217;d do something like:</p>
<ul>
<li>Define the style for the pink rectangle</li>
<li>Draw the pink rectangle</li>
<li>Save our state (remember the place in the stack)</li>
<li>Define our green rectangle</li>
<li>Draw the green rectangle</li>
<li>Now rather than redefining that pink rectangle, we&#8217;re just going to grab the state from before.</li>
<li>Draw the pink rectangle</li>
</ul>
<p>Like so:</p>
<pre>context2D.fillStyle = 'pink';
context2D.fillRect(15,15,100,200);
context2D.save();

context2D.fillStyle = 'green';
context2D.fillRect(130,15,100,200);

context2D.restore();
context2D.fillRect(245,15,100,200);</pre>
<div id="attachment_476" class="wp-caption aligncenter" style="width: 432px"><img class="size-full wp-image-476" title="Fig3" src="http://www.dnitza.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-15-at-11.32.00-PM1.png" alt="" width="422" height="253" /><p class="wp-caption-text">Fig3. Using state</p></div>
<p>Using the save and restore methods, we push and pop the current state onto our canvas stack, so there&#8217;s no need to redefine an old state if you have already saved it.</p>
<p>I hope you&#8217;ve enjoyed this very brief scratch-on-the-surface look at canvas. In the next few posts I&#8217;ll be looking at more advanced methods such as rotation line drawing and curves as well as image/pixel manipulation so stay tuned.</p>
<p>-Dan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2012/02/16/an-introduction-to-html5-canvas-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting started with AJAX.</title>
		<link>http://www.dnitza.com/2012/01/13/getting-started-with-ajax/</link>
		<comments>http://www.dnitza.com/2012/01/13/getting-started-with-ajax/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 22:30:26 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=459</guid>
		<description><![CDATA[<p>When it comes to building an interactive web application, creating a seamless interaction between the client-side and the server-side can be very important depending on the experience you want to give your user. The trouble is, however, that most server-side languages can&#8217;t access client-side code, and therefore can&#8217;t relay that information back to the server to execute or save it and vice versa &#8211; without a page refresh anyway, and that&#8217;s what we&#8217;re aiming to avoid here.  For most people, getting started with AJAX can be a daunting thing which is why I&#8217;m writing this post as an introduction. I won&#8217;t be presenting any code, but rather providing a walkthrough of the steps you will need to take to complete an AJAX request.</p>
<p>So let&#8217;s get started!</p>
<ol>
<ol>
<li><strong>Trigger and Listen</strong><br />
To start things off we&#8217;ll need to tell our browser when to send a request . This can be as simple as adding a listener that listens for a button&#8217;s click event.</li>
<li><strong>Collect our data</strong><br />
Most of the time, AJAX is used to submit a form so at this point, it&#8217;s a good time to collect each field&#8217;s value and prepare something to send to the server. This can take many forms, depending on how your server handles  incoming requests. The most common way however is just to build a query string and ...]]></description>
			<content:encoded><![CDATA[<p>When it comes to building an interactive web application, creating a seamless interaction between the client-side and the server-side can be very important depending on the experience you want to give your user. The trouble is, however, that most server-side languages can&#8217;t access client-side code, and therefore can&#8217;t relay that information back to the server to execute or save it and vice versa &#8211; without a page refresh anyway, and that&#8217;s what we&#8217;re aiming to avoid here.  For most people, getting started with AJAX can be a daunting thing which is why I&#8217;m writing this post as an introduction. I won&#8217;t be presenting any code, but rather providing a walkthrough of the steps you will need to take to complete an AJAX request.</p>
<p>So let&#8217;s get started!</p>
<ol>
<ol>
<li><strong>Trigger and Listen</strong><br />
To start things off we&#8217;ll need to tell our browser when to send a request . This can be as simple as adding a listener that listens for a button&#8217;s click event.</li>
<li><strong>Collect our data</strong><br />
Most of the time, AJAX is used to submit a form so at this point, it&#8217;s a good time to collect each field&#8217;s value and prepare something to send to the server. This can take many forms, depending on how your server handles  incoming requests. The most common way however is just to build a query string and tack it onto to the end of the URL you want to send your AJAX request to. If your server is set up to accept JSON, you could do that too.</li>
<li><strong>Make the request</strong><br />
Now that we have everything we need, we can send our request! Our request should include the data we just collected as well as a HTTP verb that describes the action we&#8217;re taking (GET or POST, if you&#8217;re making a change to a the database, it will most likely be POST) that way your server will know how to handle the request. If you sent data using a query string, you will be able to access it with PHP using the global $_POST variable.</li>
<li><strong>Providing feedback</strong><br />
So now the request has been made, that&#8217;s all yes? No. We now need tell our user that what they have done has succeeded or failed. Luckily our server responds with a success or failure message that we can listen for and provide the appropriate feedback, such as a success flash message or whatever fits in your UX guidelines.</li>
</ol>
<p>Not so hard after all! And this is about as complicated as it gets, you can listen for other events such as drag and drop, and send whatever data you want to your server, but this is just a basic illustration of how to get started. I wish you all the best and if you have any questions please ask away!</p>
<h3>Further Reading:</h3>
<p><a href="http://api.jquery.com/jQuery.ajax/">jQuery&#8217;s .ajax() method</a> - provides a method to easily send a request to the server and react to success/error results.</p>
<p><a href="http://dojotoolkit.org/reference-guide/dojo/xhr.html">Dojo&#8217;s .xhr methods and utilities</a> - provides a much more detailed set of methods than jQuery, but essentially does the same thing &#8211; lets you easily build robust AJAX interactions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2012/01/13/getting-started-with-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Super simple panning background</title>
		<link>http://www.dnitza.com/2011/11/18/super-simple-panning-background/</link>
		<comments>http://www.dnitza.com/2011/11/18/super-simple-panning-background/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 22:00:01 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=432</guid>
		<description><![CDATA[<p>A client came into work today and wanted a section of his site to have a full screen background image that pans left or right depending on the side of the screen your mouse was hovering. It was something something I had never done before but was pretty sure I could come up with a technique to get the effect working rather quickly. So a few lines of jQuery later and hey presto a super cool panning background image!</p>
<p>You can check out the <a href="http://www.dnitza.com/experiments/fullscreen-pan/">Demo here</a> or keep on reading to pick up <a href="http://dnitza.com/experiments/fullscreen-pan/Daniel%20Nitsikopoulos%20-%20Pannable%20Background.zip">&#8220;teh codes&#8221;</a>.</p>
<h3>1. The Setup!</h3>
<p>Grab yourself a div, any div and let&#8217;s give it some basic properties:</p>
<pre class="prettyprint">
<code>
#background-thing{
  background: url(http://www.dnitza.com/experiments/fullscreen-pan/stairway.jpg) no-repeat 0 0 scroll;
  background-size: cover;
  height: auto;
  left: 0;
  min-height: 100%;
  min-width: 1024px;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%;
}
</code>
</pre>
<h3>2. Make some magic of the javascript variety</h3>
<p>Don&#8217;t forget to include jQuery.</p>
<pre class="prettyprint">
<code>
$(document).ready(function(){
$('#background-thing').mousemove(function(e){
  var mousePos = (e.pageX/$(window).width())*100;
  $('#background-thing').css('backgroundPosition', mousePos+'% 0');
});
});
</code>
</pre>
<p>And voila! A nifty panning background image!</p>
]]></description>
			<content:encoded><![CDATA[<p>A client came into work today and wanted a section of his site to have a full screen background image that pans left or right depending on the side of the screen your mouse was hovering. It was something something I had never done before but was pretty sure I could come up with a technique to get the effect working rather quickly. So a few lines of jQuery later and hey presto a super cool panning background image!</p>
<p>You can check out the <a href="http://www.dnitza.com/experiments/fullscreen-pan/">Demo here</a> or keep on reading to pick up <a href="http://dnitza.com/experiments/fullscreen-pan/Daniel%20Nitsikopoulos%20-%20Pannable%20Background.zip">&#8220;teh codes&#8221;</a>.</p>
<h3>1. The Setup!</h3>
<p>Grab yourself a div, any div and let&#8217;s give it some basic properties:</p>
<pre class="prettyprint">
<code>
#background-thing{
  background: url(http://www.dnitza.com/experiments/fullscreen-pan/stairway.jpg) no-repeat 0 0 scroll;
  background-size: cover;
  height: auto;
  left: 0;
  min-height: 100%;
  min-width: 1024px;
  overflow: hidden;
  position: fixed;
  top: 0;
  width: 100%;
}
</code>
</pre>
<h3>2. Make some magic of the javascript variety</h3>
<p>Don&#8217;t forget to include jQuery.</p>
<pre class="prettyprint">
<code>
$(document).ready(function(){
$('#background-thing').mousemove(function(e){
  var mousePos = (e.pageX/$(window).width())*100;
  $('#background-thing').css('backgroundPosition', mousePos+'% 0');
});
});
</code>
</pre>
<p>And voila! A nifty panning background image!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2011/11/18/super-simple-panning-background/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Switch design in iOS UI</title>
		<link>http://www.dnitza.com/2011/11/13/switch-design-in-ios-ui/</link>
		<comments>http://www.dnitza.com/2011/11/13/switch-design-in-ios-ui/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 05:31:00 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=420</guid>
		<description><![CDATA[<p>There has been a rather strong interface design trend lately in the form of the on/off switch that has replaced two radio buttons. For example rather than picking a box to alter the state of a particular option, we now have a single switch or button that can be slid left or right, up or down or depressed/raised to select the state of the particular option it represents.</p>
<p>At first I thought this was a great idea, especially because it was executed so well by Apple in their first iPhone OS. The options were clear and the UI design was definite. As of late, however, I have seen a rather large handful of mobile apps that have used this same concept but executed it rather poorly. Call me stupid, but the other day I was checking in with Foursquare and couldn&#8217;t figure out which state of their &#8220;share on Twitter&#8221; button meant &#8220;off&#8221;.</p>
<a href="http://www.dnitza.com/wp-content/uploads/2011/11/IMG_0107.png"><img class="size-full wp-image-421  " title="Foursquare - Share with Twitter" src="http://www.dnitza.com/wp-content/uploads/2011/11/IMG_0107.png" alt="" width="50%" /></a>
<p>I get that space is limited, and I love this concept as a solution, however the ambiguous nature of the visual had me thinking (and that&#8217;s not a good thing!).</p>
<p>Comparing this to something like Roamz:</p>
<a href="http://www.dnitza.com/wp-content/uploads/2011/11/IMG_0111.png"><img class="size-full wp-image-423   " title="Roamz" src="http://www.dnitza.com/wp-content/uploads/2011/11/IMG_0111.png" alt="" width="50%"  /></a>
<p>We have the same deal, a small space to ...]]></description>
			<content:encoded><![CDATA[<p>There has been a rather strong interface design trend lately in the form of the on/off switch that has replaced two radio buttons. For example rather than picking a box to alter the state of a particular option, we now have a single switch or button that can be slid left or right, up or down or depressed/raised to select the state of the particular option it represents.</p>
<p>At first I thought this was a great idea, especially because it was executed so well by Apple in their first iPhone OS. The options were clear and the UI design was definite. As of late, however, I have seen a rather large handful of mobile apps that have used this same concept but executed it rather poorly. Call me stupid, but the other day I was checking in with Foursquare and couldn&#8217;t figure out which state of their &#8220;share on Twitter&#8221; button meant &#8220;off&#8221;.</p>
<a href="http://www.dnitza.com/wp-content/uploads/2011/11/IMG_0107.png"><img class="size-full wp-image-421  " title="Foursquare - Share with Twitter" src="http://www.dnitza.com/wp-content/uploads/2011/11/IMG_0107.png" alt="" width="50%" /></a>
<p>I get that space is limited, and I love this concept as a solution, however the ambiguous nature of the visual had me thinking (and that&#8217;s not a good thing!).</p>
<p>Comparing this to something like Roamz:</p>
<a href="http://www.dnitza.com/wp-content/uploads/2011/11/IMG_0111.png"><img class="size-full wp-image-423   " title="Roamz" src="http://www.dnitza.com/wp-content/uploads/2011/11/IMG_0111.png" alt="" width="50%"  /></a>
<p>We have the same deal, a small space to provide a set of switches except this time it is much more clear, we are told that Twitter, Facebook and Foursquare are all off. While I&#8217;ll admit Roamz&#8217;s UI isn&#8217;t as elegant as Foursquare, Foursquare sacrifices it&#8217;s clarity for a more compact design.</p>
<p>I&#8217;m probably making it out to be worse than it is, but it&#8217;s something we need to nip in the bud now rather than later, especially since a whole bunch of paradigms already stand, such as &#8220;pressed means selected&#8221;.</p>
<p>By the way, the Foursquare shot above was going to share with twitter, Facebook was disabled even though it was &#8220;pressed in&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2011/11/13/switch-design-in-ios-ui/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reusable Buttons (CSS included!)</title>
		<link>http://www.dnitza.com/2011/11/03/reusable-buttons-css-included/</link>
		<comments>http://www.dnitza.com/2011/11/03/reusable-buttons-css-included/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 04:03:34 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=414</guid>
		<description><![CDATA[<p>Just some reusable buttons and inputs. Built with a whole bunch of custom SCSS mixins so it&#8217;s easy to tweak any part of the look and feel. <a href="http://www.dnitza.com/experiments/inputs/">Have a look here!</a></p>
<p><a href="http://www.dnitza.com/experiments/inputs/"><img class="alignnone size-medium wp-image-415" title="Buttons &#38; Fields" src="http://www.dnitza.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-03-at-2.53.44-PM-250x300.png" alt="" /></a></p>
]]></description>
			<content:encoded><![CDATA[<p>Just some reusable buttons and inputs. Built with a whole bunch of custom SCSS mixins so it&#8217;s easy to tweak any part of the look and feel. <a href="http://www.dnitza.com/experiments/inputs/">Have a look here!</a></p>
<p><a href="http://www.dnitza.com/experiments/inputs/"><img class="alignnone size-medium wp-image-415" title="Buttons &amp; Fields" src="http://www.dnitza.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-03-at-2.53.44-PM-250x300.png" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2011/11/03/reusable-buttons-css-included/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avalanche Cliff Jump</title>
		<link>http://www.dnitza.com/2011/10/16/avalanche-cliff-jump/</link>
		<comments>http://www.dnitza.com/2011/10/16/avalanche-cliff-jump/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 12:24:43 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[Tumble]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=409</guid>
		<description><![CDATA[<p>My stomach sank a little there. You&#8217;d have to have nerves of steel to pull that off.</p>
<p><iframe src="http://player.vimeo.com/video/22669590" width="584" height="329" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
]]></description>
			<content:encoded><![CDATA[<p>My stomach sank a little there. You&#8217;d have to have nerves of steel to pull that off.</p>
<p><iframe src="http://player.vimeo.com/video/22669590" width="584" height="329" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2011/10/16/avalanche-cliff-jump/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The city of spires.</title>
		<link>http://www.dnitza.com/2011/09/18/the-city-of-spires/</link>
		<comments>http://www.dnitza.com/2011/09/18/the-city-of-spires/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 01:16:30 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[photography]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=398</guid>
		<description><![CDATA[<p>Going through some photos from <a href="http://twitter.com/_abbyk">our</a> travels across Europe and having a play with aperture.</p>
<p>Using a NikonD3100 with the stock 18-55mm lens.</p>
<p><a href="http://www.dnitza.com/wp-content/uploads/2011/09/prage_cross_process.jpg"><img class="alignnone size-large wp-image-400" title="prague_cross_process" src="http://www.dnitza.com/wp-content/uploads/2011/09/prage_cross_process-1024x682.jpg" alt="" /></a><a href="http://www.dnitza.com/wp-content/uploads/2011/09/prague_cross_process.jpg"><img class="alignnone size-large wp-image-401" title="prague_cross_process" src="http://www.dnitza.com/wp-content/uploads/2011/09/prague_cross_process-1024x682.jpg" alt="" /></a></p>
]]></description>
			<content:encoded><![CDATA[<p>Going through some photos from <a href="http://twitter.com/_abbyk">our</a> travels across Europe and having a play with aperture.</p>
<p>Using a NikonD3100 with the stock 18-55mm lens.</p>
<p><a href="http://www.dnitza.com/wp-content/uploads/2011/09/prage_cross_process.jpg"><img class="alignnone size-large wp-image-400" title="prague_cross_process" src="http://www.dnitza.com/wp-content/uploads/2011/09/prage_cross_process-1024x682.jpg" alt="" /></a><a href="http://www.dnitza.com/wp-content/uploads/2011/09/prague_cross_process.jpg"><img class="alignnone size-large wp-image-401" title="prague_cross_process" src="http://www.dnitza.com/wp-content/uploads/2011/09/prague_cross_process-1024x682.jpg" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2011/09/18/the-city-of-spires/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Sass linear gradient mixin</title>
		<link>http://www.dnitza.com/2011/09/10/a-sass-linear-gradient-mixin/</link>
		<comments>http://www.dnitza.com/2011/09/10/a-sass-linear-gradient-mixin/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 09:08:38 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=376</guid>
		<description><![CDATA[Here's a nice and simple Sass mixin for a linear gradient including the legacy webkit declaration. <a href="http://www.dnitza.com/2011/09/10/a-sass-linear-gradient-mixin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a nice and simple Sass mixin for a linear gradient including the legacy webkit declaration and some very awkward looking microsoft filters.</p>
<pre class="prettyprint">
<code>
@mixin linear-gradient($top, $bottom, $base){
    background-image: -webkit-gradient(linear, center top, center bottom, from($top), to($bottom));
    background-image: -moz-linear-gradient(top, $top, $bottom);
    background-image: -o-linear-gradient(top, $top, $bottom);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#{$top}", endColorstr="#{$bottom}");
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr="\"#{$top}\"", endColorstr="\"#{$bottom}\"")";
    background: linear-gradient(right top, $top, $bottom);
    background-color: $base;
}
</code>
</pre>
<p>EDIT 12/1/12: Updated with the <a href="http://www.broken-links.com/2012/01/11/the-new-and-hopefully-final-linear-gradient-syntax/">new spec</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2011/09/10/a-sass-linear-gradient-mixin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Melbourne Wallpaper</title>
		<link>http://www.dnitza.com/2011/09/08/melbourne-wallpaper/</link>
		<comments>http://www.dnitza.com/2011/09/08/melbourne-wallpaper/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 14:09:51 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=367</guid>
		<description><![CDATA[<p>A photo of melbourne in the late afternoon from federation square.</p> <a href="http://www.dnitza.com/2011/09/08/melbourne-wallpaper/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A photo of melbourne in the late afternoon from federation square.</p>
<p><a href="http://www.dnitza.com/wp-content/uploads/2011/09/melbourne.jpg"><img class="alignnone size-large wp-image-371" title="Melbourne wallpaper" src="http://www.dnitza.com/wp-content/uploads/2011/09/melbourne-1024x640.jpg" alt="" /></a></p>
<p>&nbsp;</p>
<p>Other sizes:</p>
<ul>
<li><a title="Melbourne 1920x1200" href="http://www.dnitza.com/wp-content/uploads/2011/09/melbourne-1920.jpg">1920x1200px</a></li>
<li><a title="Melbourne-1680" href="http://www.dnitza.com/wp-content/uploads/2011/09/melbourne-1680.jpg">1680x1050px</a></li>
<li><a href="http://www.dnitza.com/wp-content/uploads/2011/09/melbourne.jpg">1440x900px</a></li>
<li><a title="Melbourne-1280" href="http://www.dnitza.com/wp-content/uploads/2011/09/melbourne-1280.jpg">1280x800px</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2011/09/08/melbourne-wallpaper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up Rails 3.1 with RVM</title>
		<link>http://www.dnitza.com/2011/09/01/setting-up-rails-3-1-with-rvm/</link>
		<comments>http://www.dnitza.com/2011/09/01/setting-up-rails-3-1-with-rvm/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 07:12:06 +0000</pubDate>
		<dc:creator>Daniel Nitsikopoulos</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://www.dnitza.com/?p=360</guid>
		<description><![CDATA[<p>Just want to do a quick how to post for those out there wanting to setup Rails 3.1 on RVM and not effect their existing rails 3.0.x setup. To do this we take advantage of RVMs gemsets.</p>
<p>First thing to do is make sure you have the latest version of RVM</p>
<pre class="prettyprint">
<code>
$ rvm get latest
</code>
</pre>
<p>or rvm update, depending on the version of rvm you have installed.</p>
<p>next thing to do is create a new gemset for Rails 3.1</p>
<pre class="prettyprint">
<code>
$ rvm gemset create rails31
</code>
</pre>
<p>then switch to it</p>
<pre class="prettyprint">
<code>
$ rvm gemset use rails31
</code>
</pre>
<p>and finally install rails 3.1</p>
<pre class="prettyprint">
<code>
$ gem install rails
</code>
</pre>
<p>And there we go! nice and easy!</p>
<p>If you want to switch back to your rails 3.0.x gemset and haven&#8217;t setup a gemset for it, it should still be setup in the default &#8216;global&#8217; gemset which you may need to reinstall rails 3.0.x into and do all your bundle installs.</p>
<h3>So now what? </h3>
<ul>
<li>Start a new project and have a look around, you&#8217;ll notice that the biggest difference is the assets folder in the app directory which holds all your sass and coffee script files.</li>
<li>Take a look at the <a href="http://sass-lang.com/">Sass</a> and <a href="http://jashkenas.github.com/coffee-script/">Coffee Script</a> documentation to get started with them</li>
<li>Keep an eye on <a href="http://railscasts.com">Railscasts</a> for some more in-depth rails 3.1 focussed episodes</li>
</ul>
]]></description>
			<content:encoded><![CDATA[<p>Just want to do a quick how to post for those out there wanting to setup Rails 3.1 on RVM and not effect their existing rails 3.0.x setup. To do this we take advantage of RVMs gemsets.</p>
<p>First thing to do is make sure you have the latest version of RVM</p>
<pre class="prettyprint">
<code>
$ rvm get latest
</code>
</pre>
<p>or rvm update, depending on the version of rvm you have installed.</p>
<p>next thing to do is create a new gemset for Rails 3.1</p>
<pre class="prettyprint">
<code>
$ rvm gemset create rails31
</code>
</pre>
<p>then switch to it</p>
<pre class="prettyprint">
<code>
$ rvm gemset use rails31
</code>
</pre>
<p>and finally install rails 3.1</p>
<pre class="prettyprint">
<code>
$ gem install rails
</code>
</pre>
<p>And there we go! nice and easy!</p>
<p>If you want to switch back to your rails 3.0.x gemset and haven&#8217;t setup a gemset for it, it should still be setup in the default &#8216;global&#8217; gemset which you may need to reinstall rails 3.0.x into and do all your bundle installs.</p>
<h3>So now what? </h3>
<ul>
<li>Start a new project and have a look around, you&#8217;ll notice that the biggest difference is the assets folder in the app directory which holds all your sass and coffee script files.</li>
<li>Take a look at the <a href="http://sass-lang.com/">Sass</a> and <a href="http://jashkenas.github.com/coffee-script/">Coffee Script</a> documentation to get started with them</li>
<li>Keep an eye on <a href="http://railscasts.com">Railscasts</a> for some more in-depth rails 3.1 focussed episodes</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.dnitza.com/2011/09/01/setting-up-rails-3-1-with-rvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

