<?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>slashnode.</title>
	<atom:link href="http://www.slashnode.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.slashnode.com</link>
	<description>Software for the web.</description>
	<lastBuildDate>Wed, 28 Mar 2012 09:39:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>XAMPP and VirtualHosts on Mac OS X</title>
		<link>http://www.slashnode.com/operations/xampp-and-virtualhosts-on-mac-os-x/</link>
		<comments>http://www.slashnode.com/operations/xampp-and-virtualhosts-on-mac-os-x/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 09:11:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Operations]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[domains]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/?p=299</guid>
		<description><![CDATA[When developing locally it can be useful to forego the age-old tradition of simply working on http://localhost. This is particularly useful when developing multiple projects simultaneously or testing out different frameworks that assume a &#8220;real&#8221; domain name. For example, I find it useful to create VirtualHosts for each of the projects and frameworks I&#8217;m using [...]]]></description>
			<content:encoded><![CDATA[<p>When developing locally it can be useful to forego the age-old tradition of simply working on <strong>http://localhost</strong>. This is particularly useful when developing multiple projects simultaneously or testing out different frameworks that assume a &#8220;real&#8221; domain name.</p>
<p>For example, I find it useful to create VirtualHosts for each of the projects and frameworks I&#8217;m using locally so I can refer to them as such:</p>
<ul>
<li>http://symfony.localhost.com</li>
<li>http://website.localhost.com</li>
</ul>
<p>Although you can do this using any version of the Apache web server, I use the <a href="http://www.apachefriends.org/en/xampp.html">XAMPP package</a> for ease of installation and use. This guide will assume you&#8217;re using the same, although the steps may be applied to other Apache distributions.</p>
<p>To start off with, you need to add the &#8220;fake&#8221; domain names into the &#8220;hosts&#8221; file. On recent versions of Mac OS, you&#8217;ll find this in <code>/private/etc/hosts</code></p>
<p>You&#8217;ll need root access to make this change, so don&#8217;t forget to sudo!</p>
<blockquote><p><code>sudo vi /private/etc/hosts</code></p></blockquote>
<p>Add the following to the bottom of this file:</p>
<blockquote><p><code>127.0.0.1 localhost.com</code></p></blockquote>
<p>&#8230; where <code>localhost.com</code> is the name of the domain you want to access your project at. <strong>Important</strong>: make sure this isn&#8217;t a domain that you actually use as your operating system will check the hosts file first rendering it inaccessible!</p>
<p>In  /Applications/XAMPP/etc/httpd.conf, uncomment the following line:</p>
<blockquote><p><code>Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf</code></p></blockquote>
<p>Finally, you need to add the VirtualHosts entries. Do this in <code>/Applications/XAMPP/etc/extra/httpd-vhosts.conf</code>, first by commenting out the existing entries with the octothorpe character (&#8216;<strong>#</strong>&#8216;), then add the following:</p>
<blockquote><p><code>NameVirtualHost *:80</p>
<p>&lt;VirtualHost *:80&gt;<br />
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/"<br />
    ServerName localhost<br />
&lt;/VirtualHost&gt;</p>
<p>&lt;VirtualHost *:80&gt;<br />
    DocumentRoot "/Users/corey/Sites/"<br />
    ServerName localhost.com<br />
&lt;/VirtualHost&gt;</p>
<p>&lt;VirtualHost *:80&gt;<br />
    DocumentRoot "/Users/corey/Sites/symfony/web/"<br />
    ServerName symfony.localhost.com<br />
&lt;/VirtualHost&gt;<br />
</code></p></blockquote>
<p>&#8230; replacing the <strong><code>ServerName</code></strong> and <strong><code>DocumentRoot</strong></code> values with the domain names and local webroot paths respectively.</p>
<p>Now reset your web server and you&#8217;re ready to go!</p>
<p>For more information, consult the VirtualHosts documentation at apache.org: <a href-"http://httpd.apache.org/docs/2.0/vhosts/examples.html">http://httpd.apache.org/docs/2.0/vhosts/examples.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/operations/xampp-and-virtualhosts-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sf_params is your friend&#8230; if you&#8217;re a Template</title>
		<link>http://www.slashnode.com/symfony/sf_params-is-your-friend-if-youre-a-template/</link>
		<comments>http://www.slashnode.com/symfony/sf_params-is-your-friend-if-youre-a-template/#comments</comments>
		<pubDate>Mon, 23 May 2011 10:42:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/?p=275</guid>
		<description><![CDATA[So in your templates, you might be tempted to do something crazy like this&#8230; &#60;?php $request->getParameter("parameter_name") ?&#62; Silly rabbit. Luckily Symfony, in all its awesomeness, provides a nice variable called $sf_params to make life easier. Try it out: &#60;?php if ($sf_params->has('param_name')): ?&#62; &#60;?php &#160;&#160;echo $sf_params->get('param_name'); ?&#62; &#60;?php endif; ?&#62; Even better: &#60;?php &#160;&#160;echo $sf_params->get('param_name','default value'); [...]]]></description>
			<content:encoded><![CDATA[<p>So in your templates, you might be tempted to do something crazy like this&#8230;</p>
<blockquote><p><code>&lt;?php $request->getParameter("parameter_name") ?&gt;</code></p></blockquote>
<p>Silly rabbit.</p>
<p>Luckily Symfony, in all its awesomeness, provides a nice variable called <code>$sf_params</code> to make life easier. Try it out:</p>
<blockquote><p><code>&lt;?php if ($sf_params->has('param_name')): ?&gt;<br />
&lt;?php &nbsp;&nbsp;echo $sf_params->get('param_name'); ?&gt;<br />
&lt;?php endif; ?&gt;</code></p></blockquote>
<p>Even better:</p>
<blockquote><p><code>&lt;?php &nbsp;&nbsp;echo $sf_params->get('param_name','default value'); ?&gt;</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/symfony/sf_params-is-your-friend-if-youre-a-template/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Enter Froyo &#8211; Android version 2.2</title>
		<link>http://www.slashnode.com/android-updates/enter-froyo-android-version-2-2/</link>
		<comments>http://www.slashnode.com/android-updates/enter-froyo-android-version-2-2/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 12:11:58 +0000</pubDate>
		<dc:creator>slashnode</dc:creator>
				<category><![CDATA[Android Updates]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/?p=238</guid>
		<description><![CDATA[Disclaimer: I should mention that this post relates specifically to the Telstra version of the OS. Your experience may differ. OK, I have to admit I&#8217;m a little late on this one. My Telstra-branded HTC Desire only just updated a couple of weeks ago, so I&#8217;m only just getting around to experiencing the new version [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>Disclaimer</strong>: I should mention that this post relates specifically to the Telstra version of the OS. Your experience may differ.</em></p>
<p>OK, I have to admit I&#8217;m a little late on this one. My Telstra-branded HTC Desire <em>only just</em> updated a couple of weeks ago, so I&#8217;m only just getting around to experiencing the new version of the OS now.</p>
<p>I have to say, there&#8217;s quite a few noticeable differences between 2.1 and 2.2 &#8211; some good, some freaking excellent, and a couple not so great. These are the changes that stood out for me:</p>
<p><strong>Wifi Hotspot</strong>. This feature is AWESOME. It basically turns your phone into a Wireless router so that you can use your 3G internet where ever you are. You set up a WEP security key, an SSID for the network and you&#8217;re ready to go. I did experience some connectivity issues with my Macbook Pro, but I&#8217;ll put it down to dodgy phone reception for now.</p>
<p><strong>Flashlight app</strong>. Basically what it sounds like; an application that turns your handset into a Flashlight. Very basic but well executed.</p>
<p><strong>New button on texting screen for easy multimedia messaging</strong>. Now you get an option next to the Send button on the messaging screen that allows your to quickly and easily attach rich media to your messages. I&#8217;m not a massive MMS user, but I&#8217;m sure this will come in handy for some people.</p>
<p><strong>New Incoming Call screen</strong>. Now the &#8220;Swipe to Answer&#8221; button is colour coded. The bottom edge which is associated with answering the call is Green, while the top side (for rejecting the call) is Red. A nice touch. One thing that did slightly annoy me thought was the update to the image displayed when someone calls who either isn&#8217;t in your phone book or is in your phone book but doesn&#8217;t have a photo associated with them. For some reason I liked the old look.</p>
<table>
<tbody>
<tr>
<td><a href="http://www.slashnode.com/wp-content/uploads/2010/11/Screen-shot-2010-11-19-at-10.59.26-PM.png"><img title="Android 2.1 Incoming Call Image" src="http://www.slashnode.com/wp-content/uploads/2010/11/Screen-shot-2010-11-19-at-10.59.26-PM.png" alt="Android 2.1 Incoming Call Image" width="134" height="142" /></a></td>
<td><a href="http://www.slashnode.com/wp-content/uploads/2010/11/Screen-shot-2010-11-19-at-10.30.53-PM.png"><img title="Android 2.2 Incoming Call Image" src="http://www.slashnode.com/wp-content/uploads/2010/11/Screen-shot-2010-11-19-at-10.30.53-PM.png" alt="Android 2.2 Incoming Call Image" width="119" height="119" /></a></td>
</tr>
</tbody>
</table>
<p><strong>Change in the way contacts are sync&#8217;ed</strong>. I&#8217;m not 100% sure what the story is with this one, but I noticed upon upgrading to the new version ALL of my contacts from Gmail, Facebook, etc started appearing in my phonebook &#8211; whether or not they actually had a phone number associated with them. Slightly annoying.</p>
<p>For those after the detailed run-down, the official change-log can be accessed from <a title="Android 2.2 Highlights" href="http://developer.android.com/sdk/android-2.2-highlights.html">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/android-updates/enter-froyo-android-version-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New and Improved Gmail Layout!</title>
		<link>http://www.slashnode.com/technology/facebook/new-and-improved-gmail-layout/</link>
		<comments>http://www.slashnode.com/technology/facebook/new-and-improved-gmail-layout/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 01:52:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/blog/?p=190</guid>
		<description><![CDATA[Users may have noted today that the GMail interface was switched up today by the design guys at Google. The changes seem to be shifting GMail towards a function-centric interface, whereby the layout of the page reflects the function you are currently using Gmail for. See below: You&#8217;ll note the 3 main functions Google are [...]]]></description>
			<content:encoded><![CDATA[<p>Users may have noted today that the GMail interface was switched up today by the design guys at Google. The changes seem to be shifting GMail towards a function-centric interface, whereby the layout of the page reflects the function you are currently using Gmail for.
<p>See below:</p>
<p><a href="http://www.slashnode.com/blog/wp-content/uploads/2010/08/new-gmail-layout.png"><img src="http://www.slashnode.com/wp-content/uploads/2010/08/new-gmail-layout.png" alt="The New and Improved GMail Layout" title="New and Improved GMail Layout" width="500" height="430" class="aligncenter size-full wp-image-191" /></a></p>
<p>You&#8217;ll note the 3 main functions Google are expecting their user-base to perform in Gmail;</p>
<ul>
<li><strong>Mail based tasks</strong></li>
<li><strong>Contact management</strong></li>
<li><strong>Scheduling / ToDo based tasks</strong></li>
</ul>
<p>Clicking the &#8220;Mail&#8221; button brings up the usual GMail interface. Clicking &#8220;Contacts&#8221; brings up a list of all contacts in your address book with fields for email and contact phone number. Finally, clicking &#8220;Tasks&#8221; triggers the &#8220;Tasks&#8221; widget to pop-up in the bottom left-hand corner of the screen.</p>
<p>One thing I love about the new layout is the positioning of the &#8220;Compose Mail&#8221; button. I always found it slightly convoluted to create a new mail message; especially considering this was the main reason I was in GMail in the first place. The new position of the button is just about perfect.</p>
<p>Nice work Google!&#8230; too bad about Google Wave&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/technology/facebook/new-and-improved-gmail-layout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Facebook Page Width</title>
		<link>http://www.slashnode.com/technology/facebook/new-facebook-page-width/</link>
		<comments>http://www.slashnode.com/technology/facebook/new-facebook-page-width/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 11:29:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/blog/?p=188</guid>
		<description><![CDATA[Facebook have hinted on many occasions that they would be reducing the page width of Applications built using their Pages feature. There seems to be a lot of confusion and misinformation about this; mainly, I think, because it was actually stated that Pages would start to have the new width rolled out to them in [...]]]></description>
			<content:encoded><![CDATA[<p>Facebook have hinted on many occasions that they would be reducing the page width of Applications built using their Pages feature. There seems to be a lot of confusion and misinformation about this; mainly, I think, because it was actually stated that Pages would start to have the new width rolled out to them in Late 2009 / Early 2010. Obviously this didn&#8217;t happen.</p>
<p>Now the FB team have come out and announced on the <a href="http://developers.facebook.com/blog/post/399" rel="nofollow">Facebook developer&#8217;s blog</a>  that the new width will DEFINITELY be rolled out, starting on the 23rd of August 2010. And the reduction is significant. Currently pages can be as wide as 720 pixels (px). This will be reduced to <strong>520 pixels</strong>&#8230;</p>
<p>So what does this mean for developers with existing pages? It means if you don&#8217;t adhere to the <strong>new width</strong> of <strong>520 px</strong>, your pages are going to look horrendous. Luckily the FB development team have stated they will provide a tool to allow developers to test their layouts in the new format the week before pages start getting rolled over into the new width.</p>
<p>For more information check out the <a href="http://developers.facebook.com/blog/post/399" rel="nofollow">Facebook developer&#8217;s blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/technology/facebook/new-facebook-page-width/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can&#8217;t Edit Facebook Page? Google and Twitter Join forces to Help!</title>
		<link>http://www.slashnode.com/technology/facebook/cant-edit-facebook-page/</link>
		<comments>http://www.slashnode.com/technology/facebook/cant-edit-facebook-page/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 00:44:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/blog/?p=181</guid>
		<description><![CDATA[It&#8217;s moments like these that I need to stop and remind myself that the Google search engine is not just a technical miracle &#8211; but is also, from the perspective of an end user, a pretty damn good product. Case in point: I went to a client&#8217;s Facebook Page to make some changes today and [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s moments like these that I need to stop and remind myself that the Google search engine is not just a technical miracle &#8211; but is also, from the perspective of an end user, a pretty damn good product.</p>
<p>Case in point: I went to a client&#8217;s Facebook Page to make some changes today and was (more than) slightly irritated when clicking on the &#8216;Edit Page&#8217; button resulted in the page hanging. After 10 minutes of frustration and testing in 4 different browsers I decided there must have been some deeper cause for the problem. Enter Google.</p>
<p>I entered the first query term that entered my thoughts: &#8220;can&#8217;t edit facebook page&#8221;. I tried the first result which didn&#8217;t immediately answer my question. Sensing that my problem would most likely be a recent occurence, I clicked the &#8216;Latest&#8217; filter from the menu on the right-hand side. Bingo. I was greeted with the following:</p>
<div id="attachment_183" class="wp-caption aligncenter" style="width: 345px"><a href="http://www.slashnode.com/wp-content/uploads/2010/07/facebook_error1.png"><img src="http://www.slashnode.com/wp-content/uploads/2010/07/facebook_error1.png" alt="Facebook error Google Query Results Page" title="Facebook error Query Results Page" width="335" height="147" class="size-full wp-image-183" /></a><p class="wp-caption-text">Facebook error Google Query Results Page</p></div>
<p>The Yahoo! Answers page and accompanying Tweets answered my question: the Facebook &#8216;Edit Page&#8217; function has been broken all day. Let&#8217;s hope they resolve this issue as soon as possible &#8211; luckily the changes I wanted to make aren&#8217;t urgent!</p>
<p>But the moral of the story?&#8230; Live Search is here &#8211; and it works!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/technology/facebook/cant-edit-facebook-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Laughing Heart &#8211; Charles Bukowski</title>
		<link>http://www.slashnode.com/miscellaneous/the-laughing-heart-charles-bukowski/</link>
		<comments>http://www.slashnode.com/miscellaneous/the-laughing-heart-charles-bukowski/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 11:38:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/blog/?p=179</guid>
		<description><![CDATA[I haven&#8217;t read much Bukowski, but I came across a video of Tom Waits reading this poem and it really stuck with me. Your life is your life Don’t let it be clubbed into dank submission. Be on the watch. There are ways out. There is a light somewhere. It may not be much light [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t read much Bukowski, but I came across a video of Tom Waits reading this poem and it really stuck with me. </p>
<blockquote><p>Your life is your life<br />
Don’t let it be clubbed into dank submission.<br />
Be on the watch.<br />
There are ways out.<br />
There is a light somewhere.<br />
It may not be much light but<br />
It beats the darkness.<br />
Be on the watch.<br />
The gods will offer you chances.<br />
Know them.<br />
Take them.<br />
You can’t beat death but<br />
You can beat death in life, sometimes.<br />
And the more often you learn to do it,<br />
The more light there will be.<br />
Your life is your life.<br />
Know it while you have it.<br />
You are marvelous<br />
The gods wait to delight<br />
In you.</p></blockquote>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/va1t6a0zCkQ&amp;hl=en_GB&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/va1t6a0zCkQ&amp;hl=en_GB&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>I think I may have to start reading a lot more Bukowski&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/miscellaneous/the-laughing-heart-charles-bukowski/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google over SSL &#8211; Secure Google Searches</title>
		<link>http://www.slashnode.com/technology/google-technology/google-over-ssl-secure-google-searches/</link>
		<comments>http://www.slashnode.com/technology/google-technology/google-over-ssl-secure-google-searches/#comments</comments>
		<pubDate>Mon, 24 May 2010 05:34:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/blog/?p=176</guid>
		<description><![CDATA[Google have finally released a secure, HTTPS version of their search website. This is long overdue, in my opinion. SSL creates a secure tunnel through which communications between the client (ie: you) and the server (ie: Google) cannot be understood if they are intercepted. In a world where unsecured public wireless networks are becoming increasingly [...]]]></description>
			<content:encoded><![CDATA[<p>Google have <span style="font-weight:bold">finally</span> released a secure, HTTPS version of their search website. This is long overdue, in my opinion.</p>
<p>SSL creates a secure tunnel through which communications between the client (ie: you) and the server (ie: Google) cannot be understood if they are intercepted. In a world where unsecured public wireless networks are becoming increasingly available, SSL enabled websites are becoming more and more important.</p>
<p>To read more about Google&#8217;s SSL solution, check out the help document accessible from the Google support <a href="http://www.google.com/support/websearch/bin/answer.py?answer=173733&#038;hl=en" title="Google SSL Help" rel="nofollow">knowledgebase</a>.</p>
<p>Note that only Google Web Search is available via SSL; other products, such as Google Images and Google Maps images are not currently available via SSL. If you are using SSL, these properties can not be displayed in the left pane.</p>
<p>So go on, head on <a href="https://www.google.com" title="Secure Google.com" rel="nofollow">over there</a> and give it a try!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/technology/google-technology/google-over-ssl-secure-google-searches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Pacman Doodle to celebrate 30 years</title>
		<link>http://www.slashnode.com/technology/google-technology/google-pacman-doodle-to-celebrate-30-years/</link>
		<comments>http://www.slashnode.com/technology/google-technology/google-pacman-doodle-to-celebrate-30-years/#comments</comments>
		<pubDate>Sat, 22 May 2010 15:45:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/blog/?p=174</guid>
		<description><![CDATA[Fans of the retro classic Pacman will be rewarded when visiting Google.com today. To mark the 30th year anniversary of Pacman&#8217;s release, the Google team have created their first playable doodle. Pac-Man is an arcade game developed by Namco and licensed for U.S. distribution by Midway, first in Japan 22nd Published in May 1980. Immensely [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_341" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.beyonder.com.au/wp-content/uploads/2010/05/pacman1.png"><img src="http://www.beyonder.com.au/wp-content/uploads/2010/05/pacman1.png" alt="The Pacman &#039;Google Doodle&#039;" title="pacman" width="400" height="201" class="size-full wp-image-341" /></a><p class="wp-caption-text">Google's Pacman tribute</p></div>
<p>Fans of the retro classic Pacman will be rewarded when visiting <a href="http://www.google.com" title="Google.com" rel="nofollow">Google.com</a> today. To mark the 30th year anniversary of Pacman&#8217;s release, the Google team have created their <strong>first playable doodle</strong>.</p>
<p>Pac-Man is an arcade game developed by Namco and licensed for U.S. distribution by Midway, first in Japan 22nd Published in May 1980. Immensely popular in the United States from its original version to the present day, Pac-Man is universally regarded as a classic medium, virtually synonymous with video games in 1980 and an icon of popular culture.</p>
<p>The Google Doodle tradition was started in 1998 when Google founders Larry Page and Sergey Brin created a doodle for Burning Man Festival. The doodle was designed by Brin and Page to inform users in-case of the server crashing during their absence. </p>
<p>Google Doodles following this event were designed by an outside contractor, until Larry and Sergey asked the then-intern Dennis Hwang to design a logo for Bastille Day in 2000. Hwang has been responsible for designing Google Doodles since.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/technology/google-technology/google-pacman-doodle-to-celebrate-30-years/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Programming with C++</title>
		<link>http://www.slashnode.com/development/c-plus-plus-development/c-plus-plus-101/</link>
		<comments>http://www.slashnode.com/development/c-plus-plus-development/c-plus-plus-101/#comments</comments>
		<pubDate>Sun, 09 May 2010 09:06:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C Plus Plus]]></category>
		<category><![CDATA[c plus plus]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.slashnode.com/blog/?p=164</guid>
		<description><![CDATA[This set of articles serves to act as a introduction to not just programming in C++, but programming in general. They assume no previous knowledge; my aim is to write the articles such that anyone with a computer, internet access and an interest in computing should be able to read and understand them. These articles [...]]]></description>
			<content:encoded><![CDATA[<p>This set of articles serves to act as a introduction to not just programming in C++, but programming in general. They assume no previous knowledge; my aim is to write the articles such that anyone with a computer, internet access and an interest in computing should be able to read and understand them. </p>
<p>These articles are targeted mainly towards those who want to achieve a deeper understanding of programming, rather than just learning by the basic monkey-see, monkey-do &#8216;Hello World&#8217; school of teaching.</p>
<p>&#8220;Why start learning programming with C++?&#8221;, you might ask. There are a few good reasons for this:</p>
<ul>
<li>C++ contains some of the <strong>best</strong> features of all the programming languages.</li>
<li>C++ contains some of the <strong>worst</strong> features of all the programming languages. Why is this important? Because one of the most important things to learn when becoming a programmer is how to adjust your programming style to the language you are programming in, and this includes avoiding bad practices and/or features that the language may support.</li>
<li>C++ allows us to interact at a &#8216;low level&#8217; with the computer. That is, when we write code in C++ we are very close to what is actually happening in the hardware (as opposed to other languages that may simplify or dumb-down some aspects of the programming). Although this makes programming in C++ difficult (some may say frustrating) at times, ultimately it gives the programmer more control over what is happening and gives us a better understanding of how computers actually work.</li>
<li>C++ supports object oriented programming. Object oriented programming is a style of programming that has been used as &#8216;best practice&#8217; for decades now. It allows us to write bigger, more complex programs using less code that is more reliable.</li>
<li>The syntax and control structures of C++ form the basis for a number of popular programming languages. Learn C++ and you&#8217;ll quite easily understand code in Java, C#, PHP and many other languages with little or no further education.</li>
</ul>
<p>Before learning how to program in C++, it would be helpful to think about how a computer actually works. Computers have been constructed using the same basic architecture for decades. The architecture, known as the Von Neumann Architecture, looks something like the following:</p>
<div id="attachment_166" class="wp-caption aligncenter" style="width: 441px"><a href="http://www.slashnode.com/wp-content/uploads/2010/05/von-neumann.gif"><img src="http://www.slashnode.com/wp-content/uploads/2010/05/von-neumann.gif" alt="Von Neumann Architecture" title="Von Neumann Architecture" width="431" height="323" class="size-full wp-image-166" /></a><p class="wp-caption-text">Von Neumann Architecture</p></div>
<p>It includes:</p>
<ul>
<li>Input devices; used to provide input to the computer. This includes things such as a mouse and keyboard.</li>
<li>Output devices; used to display output from the computer to the user. These devices are things such as printers and monitors</li>
<li>External storage; used to provide &#8220;long-term&#8221; storage. This may include a hard disk, optical drive (CD burner) or USB flash drive.</li>
<li>Memory; used for &#8220;short-term&#8221; storage. Memory is used to hold data the computer needs at the moment. This may include the operating system routines (for example, Windows or Mac OS X code) as well as the currently executing program (for example, the browser program code you&#8217;re using at the moment to surf pages on the internet).</li>
<li>Control Unit; controls what the computer is doing at the moment and what it will do next. Basically a big list of commands the computer is going to execute, in the order they are going to be executed.</li>
<li>Arithmetic Logic Unit; basically a <em>really fast</em> calculator. The Arithmetic Logic Unit, or <strong>ALU</strong>, executes the commands fed to it from the Control Unit.</li>
</ul>
<p>This is (from a high-level) how most computers are constructed &#8211; and have been constructed since the invention of the computer. When we want to instruct the computer to do something, we need to provide &#8216;instructions&#8217; which are fed by the control unit to the ALU. These instructions are written in something called <strong>Assembly Language</strong>, or &#8216;Machine Code&#8217;. </p>
<p>This language consists of numerically coded operations which represent basic arithmetic procedures like addition, subtraction and multiplication. They also provide basic data manipulation operations for moving information around the system. It is these basic principles upon which every computer program ever written is based. From these humble origins we derive CGI movies, MP3 audio technology and social media web applications.</p>
<p>As you can probably imagine, it takes A LOT of number crunching to create something like the latest 3D rendered movie. While very basic applications can be written in machine code, as the complexity of our applications increases, it quickly becomes quite infeasible to operate entirely in machine code. This is where our high-level languages come into the picture. </p>
<p>High level languages, like Java, Python, C and C++ allow us to write code using easily understood symbols. This human-readable code is then converted into machine code by something called a compiler. The human readable code typically consists of:</p>
<ul>
<li>Keywords; words that instruct the compiler what you want to do</li>
<li>Variables; word used to represent a unit of data</li>
</ul>
<p>Don&#8217;t worry if these definitions aren&#8217;t clear at the moment. They will become obvious in lessons to come. Read over the content in this article, and when you think you have a rough understanding of it all, you can advance onto the next step: installing the compiler and writing your first C++ application. To be continued&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.slashnode.com/development/c-plus-plus-development/c-plus-plus-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

