<?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>Likesalmon.net &#187; Tutorial</title>
	<atom:link href="http://likesalmon.net/category/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://likesalmon.net</link>
	<description>Web development for designers</description>
	<lastBuildDate>Sat, 21 Jan 2012 20:40:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Little changes to get concrete5 working</title>
		<link>http://likesalmon.net/little-changes-to-get-concrete5-working/</link>
		<comments>http://likesalmon.net/little-changes-to-get-concrete5-working/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 05:53:29 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[concrete5]]></category>

		<guid isPermaLink="false">http://likesalmon.net/?p=460</guid>
		<description><![CDATA[I took the concrete5 content management system out for a spin today. Its very pretty and the interface is great. There were a couple things I had to tweak in order to make it run on my local development system.  Its the usual suspects: permissions, virtual hosts, and permalinks. They were an easy fix (for [...]]]></description>
			<content:encoded><![CDATA[<p>I took the <a title="concrete5 homepage" href="http://www.concrete5.org/">concrete5</a> content management system out for a spin today.  Its very pretty and the interface is great.  There were a couple things I had to tweak in order to make it run on my local development system.  Its the usual suspects: permissions, virtual hosts, and permalinks.  They were an easy fix (for a seasoned WordPress developer), but why not learn from my mistakes?</p>
<h2>Setup</h2>
<p>Official installation instructions for Apache servers can be found <a href="http://www.concrete5.org/documentation/installation/hosts/windows_server_2003_apache/">here</a>.  I feel like I need to post the link because the page was actually a little hard to find on the concrete5 website.  Here we go!</p>
<ol>
<li>Download concrete5 from <a href="http://www.concrete5.org/developers/downloads/" title="">the download page</a></li>
<li>Extract the files and put them in your webserver&#8217;s root directory (probably /var/www).  You can name the top-level folder whatever you want.  I called mine &#8220;concrete5&#8243;</li>
<li>Go to your terminal and sudo yourself (you&#8217;re going to need root permissions most of this): <code>$ sudo su</code></li>
<li>In your terminal, navigate to your concrete5 install and run: <code>$ chmod 777 config/ files/ packages/</code> (don&#8217;t worry, we&#8217;ll change this back to something more secure later)</li>
<li>In your browser, go to your localhost phpMyAdmin and create a new user with a new database and grant that user all privileges (Privileges &gt; Add a new user)</li>
</ol>
<h2>Installation</h2>
<ol>
<li>In your browser, navigate to http://localhost/concrete5.  You will see a list of installation requirements under &#8220;Testing Required Items&#8221; that should be all green checkmarks.  Fill in the Personal Information and the Database Information (server will be &#8220;localhost&#8221; and database name should be the same as your username)</li>
<li>Click install, and you should get a message that says your installation is complete.  Take down the randomly generated admin password, cause you&#8217;re gonna need it.</li>
</ol>
<h2>Permalinks</h2>
<ol>
<li>After installation, you&#8217;ll be presented with your new website.  Click on Dashboard in the top right corner</li>
<li>From the Dashboard, click on Sitewide Settings in the lower left</li>
<li>Under Linking, put a checkmark next to &#8220;Enable pretty URLs&#8221; and click save</li>
<li>If your setup is like mine, you&#8217;ll get a little warning that says &#8220;URL rewriting enabled. Make sure you copy the lines below these URL  Rewriting settings area and place them in your .htaccess or web server  configuration file.&#8221;</li>
<li>Find the code that was generated for your .htaccess file under Required Code.  Highlight and copy that.</li>
<li>Back in terminal, navigate to your concrete5 install directory and make a new file called .htaccess</li>
<li>Paste the &#8220;Required Code&#8221; in that file.</li>
<li>Change the line <em><code>RewriteBase /concrete5/</code></em> to <em><code>RewriteBase /</code></em></li>
</ol>
<h2>Virtual Hosting</h2>
<ol>
<li>Still in terminal, navigate to <code>/etc/apache2/sites-available</code> and create a file  called concrete5.dev.  Fill it with something like this:
<ul>
<li><code>&lt;VirtualHost *:80&gt;<br />
ServerName      concrete5.dev<br />
ServerAlias     concrete5.dev<br />
ServerAdmin     myemail@host.com<br />
DocumentRoot    /var/www/concrete5/<br />
&lt;/VirtualHost&gt;</code></li>
</ul>
</li>
<li>Save that file and <code>cd</code> over to <code>/etc/apache2/sites-enabled</code>.  Create a pseudo link like this: <code>$ ln -s ../sites-available/concrete5.dev concrete5.dev</code></li>
<li>In the terminal, add line like this to the <code>/etc/hosts</code> file: <code>127.0.0.1    concrete5.dev</code></li>
<li>Restart apache: <code>$ service apache2 restart</code></li>
</ol>
<h2>Finishing Move</h2>
<ol>
<li>Open this file in a text editor: /var/www/concrete5/config/site.php</li>
<li>site.php is generated by the installation process.  Its very similar to config.php in WordPress.  You need to edit it a bit to get permalinks and virtual hosts working</li>
<li>Change the line <em><code>define('BASE_URL', 'http://localhost');</code></em> to <em><code>define('BASE_URL', 'http://concrete5.dev');</code></em></li>
<li>Change the line <em><code>define('DIR_REL', '/concrete5_v2');</code></em> to <em><code>define('DIR_REL', '');</code></em></li>
</ol>
<h2>Secure your site</h2>
<p><em>Edit 2/25/11:</em> File these steps under &#8220;hella important&#8221;.  In the terminal, navigate to your concrete5/ directory and enter the following lines to set more secure file permissions:</p>
<ol>
<li><code>sudo chmod -R 755 config/ files/ packages/</code></li>
<li><code>sudo chmod 644 config/site.php</code></li>
<li><code>sudo chmod 755 sitemap.xml</code></li>
</ol>
<p>That&#8217;s it!  You should be able to navigate over to http://concrete5.dev in your browser and see your new site.</p>
]]></content:encoded>
			<wfw:commentRss>http://likesalmon.net/little-changes-to-get-concrete5-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox on Ubuntu Jaunty for Testing Internet Explorer in Windows</title>
		<link>http://likesalmon.net/virtualbox-on-ubuntu-jaunty-for-testing-ie6/</link>
		<comments>http://likesalmon.net/virtualbox-on-ubuntu-jaunty-for-testing-ie6/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 04:07:55 +0000</pubDate>
		<dc:creator>Ammon</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software I use]]></category>
		<category><![CDATA[Solutions]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[VirtualBox]]></category>
		<category><![CDATA[Browser Testing]]></category>

		<guid isPermaLink="false">http://likesalmon.net/?p=177</guid>
		<description><![CDATA[Ed. Note: this method is no longer valid or necessarily a good way to go about things. See here instead: http://likesalmon.net/browser-testing-with-cloned-virtual-machines/ I really loved using VMWare Fusion in OSX to test my webpages in Windows.  The power to just drag a whole Windows installation into the trash when it gets jacked up is intoxicating. Unfortunatly, [...]]]></description>
			<content:encoded><![CDATA[<p><em>Ed. Note: this method is no longer valid or necessarily a good way to go about things.  See here instead:</p>
<p><a href="http://likesalmon.net/browser-testing-with-cloned-virtual-machines/" title="">http://likesalmon.net/browser-testing-with-cloned-virtual-machines/</a></em></p>
<p>I really loved using VMWare Fusion in OSX to test my webpages in Windows.  The power to just drag a whole Windows installation into the trash when it gets jacked up is intoxicating. Unfortunatly, Jaunty is still not supported by VMWare, and the bugs were just to much.  Plus, I really didn&#8217;t like the web interface. Fortunately, I found VirtualBox which is at least as sleek as Fusion, but free!</p>
<p>To install VirtualBox, I got a lot of help from hopla on the <a title="Go to the Ubuntu Forum" href="http://ubuntuforums.org/showthread.php?t=1097080">Ubuntu Forum</a>. I quote:</p>
<blockquote><p>You need: virtualbox, qemu, wine</p>
<p>Code:</p>
<p><code>apt-get install virtualbox qemu wine</code></p>
<p>Download the free(!) Microsoft Internet Explorer Application Compatibility Check VPC Images <a href="http://www.microsoft.com/Downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&amp;displaylang=en">here</a>.</p>
<p>(Note: you don&#8217;t have to download the full pack, you can cherry pick specific combinations of XP/Vista and IE6-8)</p>
<p>Extract the VPC image(s) with wine (double-click).<br />
(Note: it might take a while before the first window shows up)</p>
<p>Turn the VPC image(s) into (a) VMWare image(s) (which is/are readable by VirtualBox):</p>
<p><code>qemu-img convert -f vpc image.vhd -O vmdk image.vmdk</code></p>
<p>Setup a new VM in VirtualBox, using the vmdk image as an existing disk. Boot it, you will see the Windows boot progress bar and &#8230; it will BSOD shortly after.</p>
<p>Fixing the BSOD:</p>
<p>The BSOD is caused because the virtual Windows tries to load processor drivers for the wrong processor (it is not running on VirtualPC proc, but on VirtualBox proc). Or something like that&#8230;<br />
We need to force Windows not to attempt to load drivers for the processor (it doesn&#8217;t need any proc drivers, because it&#8217;s all virtual anyway).<br />
Start safe mode by (frantically) hitting F8 at Windows boot and choosing safe mode.</p>
<p>Ignore all the &#8216;New hardware&#8217; detected warnings (we will deal with those later). Start a command box and run the following command to disable the loading of processor drivers:</p>
<p>Code:</p>
<p><code>sc config processor start= disabled</code></p>
<p>(note the space between &#8216;=&#8217; and &#8216;disabled&#8217;!)</p>
<p>Restart the virtual Windows, it should now boot all the way to the Windows Desktop.</p></blockquote>
<p>Once your virtual Windows has rebooted, go to Devices -&gt; Install Guest Additions in the VirtualBox window.  This will mount a (virtual) CD with the Guest Additions software.  The autorun feature didn&#8217;t work every time, so if a new window doesn&#8217;t open up, find the Guest Additions CD in Windows Explorer and run the .exe.  This adds a lot of functionality to your virtual machine.</p>
<p>After rebooting the virtual machine, I followed the instructions from <a href="http://primeval-soup.blogspot.com/2009/02/ie8-in-ubuntu-intrepid-with-virtual-box.html">Primeval Soup</a>:</p>
<blockquote><p>In Windows, go to: <em><br />
</em></p>
<p><em>Start &gt; Run &gt; &#8220;cmd&#8221;</em></p>
<p>In the terminal, type:<em><br />
</em></p>
<pre><code>D:\VBoxWindowsAdditions-x86.exe /extract /D=C:\Drivers</code></pre>
<p><em>Start &gt; Administrative Tools &gt; Computer Management</em></p>
<p>Select Device Manager.</p>
<p>Select Batteries, Unknown Device -&gt; <em>Disable</em></p>
<p>Select Sound, video and game controllers, Multimedia Audio Controller -&gt; <em>Disable</em></p>
<p>Select Universal Serial Bus controllers, Universal Serial Bus (USB) Controller -&gt; <em>Disable</em></p>
<p>Select Network Adapters, Ethernet Controller -&gt; <em>Update Driver</em></p>
<p>Select <em>Yes, now and every time</em>, click Next</p>
<p>Select <em>Install from a list or specific location</em>, click Next</p>
<p>Enter location &#8220;C:\Drivers\x86\Network\AMD&#8221;</p>
<p>Click Finish</p>
<p>Open a browser, test connection</p>
<p>You&#8217;re done!</p></blockquote>
<p>And that is a good feeling.</p>
]]></content:encoded>
			<wfw:commentRss>http://likesalmon.net/virtualbox-on-ubuntu-jaunty-for-testing-ie6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A list of HTML Snippets in Gedit</title>
		<link>http://likesalmon.net/a-list-of-html-snippets-in-gedit/</link>
		<comments>http://likesalmon.net/a-list-of-html-snippets-in-gedit/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 06:50:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Gedit]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://likesalmon.net/?p=81</guid>
		<description><![CDATA[Snippets are extremely useful feature of Gedit that make it usable for TextMate fiends like myself. They work exactly the same as in TM: in Gedit go to Edit -&#62; Preferences -&#62; Plugins and put a check next to &#8220;Snippets&#8221;. Now open, say, an html file, type body and press TAB. Gedit will automatically fill [...]]]></description>
			<content:encoded><![CDATA[<p>Snippets are extremely useful feature of Gedit that make it usable for TextMate fiends like myself.  They work exactly the same as in TM: in Gedit go to Edit -&gt; Preferences -&gt; Plugins and put a check next to &#8220;Snippets&#8221;.  Now open, say, an html file, type <code>body</code> and press TAB.  Gedit will automatically fill in the whole body tag complete with closing tag and your cursor conveniently resting in the id argument ready to fill in a value.</p>
<h3>Snippets for HTML</h3>
<p>Here&#8217;s a list of all the Snippets for html files. They are listed by tag names, with the TAB trigger in paratheses.  These will only work in html files, other files have different snippets.</p>
<ul>
<li>Base (base)</li>
<li>Body (body)</li>
<li>Br (Shift+Ctrl+Space)</li>
<li>Div (div)</li>
<li>Form (form)</li>
<li>Head (head)</li>
<li>Heading (h)</li>
<li>HTML &#8212; 4.01 Strict (doctype)</li>
<li>HTML &#8212; 4.0 Transitional (doctype)</li>
<li>Input (input)</li>
<li>Link (link)</li>
<li>Mail Anchor (mailto)</li>
<li>Meta (meta)</li>
<li>Non-Breaking Space (Ctrl+Alt+Space)</li>
<li>Script (script)</li>
<li>Script With External Source (scriptsrc)</li>
<li>Style (style)</li>
<li>Table (table)</li>
<li>Table Row (tr)</li>
<li>Text Area (textarea)</li>
<li>Title (title)</li>
<li>Wrap Selection as Link (ref, Shift+Alt+L)</li>
<li>Wrap Selection in Open/Close Tag (Shift+Alt+W)</li>
<li>XHTML &#8212; 1.0 Frameset (doctype)</li>
<li>XHTML &#8212; 1.0 Strict (doctype)</li>
<li>XHTML &#8212; 1.0 Tran (doctype)</li>
<li>XHTML &#8212; 1.1 (doctype)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://likesalmon.net/a-list-of-html-snippets-in-gedit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTOB: Using jQuery with WordPress</title>
		<link>http://likesalmon.net/ftob-using-jquery-with-wordpress/</link>
		<comments>http://likesalmon.net/ftob-using-jquery-with-wordpress/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 22:12:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[From the old blog]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://likesalmon.net/?p=57</guid>
		<description><![CDATA[Originally posted on 10/10/08 at http://likesalmon.wordpress.com I struggled with this, as the usual method of including a javascript library and an external javascript script did not work. Usually, I would do this: &#60;script style="text/javascript" src=&#60;?php bloginfo('url'); ?&#62;/wp-includes/js/jquery/jquery.js" &#62;&#60;/style&#62; &#60;script style="text/javascript" src=&#60;?php bloginfo('template_directory'); ?&#62;/myScript.js" &#62;&#60;/style&#62; But that didn&#8217;t work at all, even when I included the [...]]]></description>
			<content:encoded><![CDATA[<p>Originally posted on 10/10/08 at http://likesalmon.wordpress.com</p>
<p>I struggled with this, as the usual method of including a javascript library and an external javascript script did not work.  Usually, I would do this:</p>
<p><code><br />
&lt;script style="text/javascript" src=&lt;?php bloginfo('url'); ?&gt;/wp-includes/js/jquery/jquery.js" &gt;&lt;/style&gt;<br />
&lt;script style="text/javascript" src=&lt;?php bloginfo('template_directory'); ?&gt;/myScript.js" &gt;&lt;/style&gt;<br />
</code></p>
<p>But that didn&#8217;t work at all, even when I included the jQuery.noConflict() line in my script.  So I ended up going with this, which loads the jQuery library that is included with the wordpress installation and then loads my script without any conflicts:</p>
<p><code><br />
&lt;?php wp_enqueue_script( 'myScript', '/wp-content/themes/myTheme/myScript.js', array('jquery') ); ?&gt;<br />
</code></p>
<p>The wordpress docs have very little to say about wp_enqueue_script(), the function that makes this possible.  A good resource with examples of use can be found here:</p>
<p><a href="http://nickohrn.com/loading-javascript-libraries-in-wordpress-plugins-with-wp_enqueue_script/" title="Nick Ohrn has this figured out">http://nickohrn.com/loading-javascript-libraries-in-wordpress-plugins-with-wp_enqueue_script/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://likesalmon.net/ftob-using-jquery-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTOB: Installing Haxe on Mac OS 10.5.5</title>
		<link>http://likesalmon.net/ftob/</link>
		<comments>http://likesalmon.net/ftob/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 22:12:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[From the old blog]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://likesalmon.net/?p=55</guid>
		<description><![CDATA[Originally posted on 10/10/08 at http://likesalmon.wordpress.com I decided not to use MTASC as my compiler after all, since it can&#8217;t do Actionscript 3. I&#8217;m going with Haxe instead. Installation: Go to http://haxe.org/download and download the OSX Universal Installer. Unpack the installer and double click on it Open up .bash_login from you home directory in your [...]]]></description>
			<content:encoded><![CDATA[<p>Originally posted on 10/10/08 at http://likesalmon.wordpress.com</p>
<p>I decided not to use MTASC as my compiler after all, since it can&#8217;t do Actionscript 3.  I&#8217;m going with Haxe instead.</p>
<p>Installation:</p>
<ol>
<li> Go to <a title="haXe website" href="http://haxe.org/download">http://haxe.org/download</a> and download the OSX Universal Installer.</li>
<li> Unpack the installer and double click on it</li>
<li> Open up .bash_login from you home directory in your text editor and add the line: export HAXE_LIBRARY_PATH=&#8221;/usr/lib/haxe/std:./&#8221;</li>
<li>Follow the instructions for &#8220;Getting Started with haXe/Flash&#8221; in the <a href="http://haxe.org/doc/start/flash">Documentation section of the haXe website</a> to test your installation</li>
</ol>
<p>Now you can go to http://www.loziosecchi.it/lab/textmate_bundle/ and download and install the Haxe TextMate bundle:</p>
<ol>
<li>Go to <a href="http://www.loziosecchi.it/lab/textmate_bundle/">Marco Secchi&#8217;s website</a> and download the haXe bundle for Textmate.</li>
<li>Unpack it</li>
<li>In Finder, locate the Textmate icon in the Applications folder and right click on it.  Choose &#8220;show package contents&#8221; from the menu that appears.</li>
<li>Navigate to Contents -&gt; Shared Support -&gt;Bundles within the TextMate package</li>
<li>Open a new Finder window and locate the bundle you unpacked</li>
<li>Drag and drop the haXe2.tmbundle file into the Bundles folder and restart TextMate</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://likesalmon.net/ftob/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTOB: Installing MTASC on Mac OS 10.5.5</title>
		<link>http://likesalmon.net/ftob-installing-mtasc-on-mac-os-1055/</link>
		<comments>http://likesalmon.net/ftob-installing-mtasc-on-mac-os-1055/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 22:10:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[From the old blog]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://likesalmon.net/?p=49</guid>
		<description><![CDATA[Originally posted on 10/9/08 at http://likesalmon.wordpress.com/ This was easy enough: Download the Mac OSX package from http://www.mtasc.org/#download Unzip it and change the name of the folder to &#8220;mtasc&#8221; for ease of use Put the unzipped folder in your Applications directory Put a new entry in your .bash_login file that says: export PATH=&#8221;/Applications/mtasc:$PATH&#8221;]]></description>
			<content:encoded><![CDATA[<p>Originally posted on 10/9/08 at http://likesalmon.wordpress.com/</p>
<p>This was easy enough:</p>
<ol>
<li>Download the Mac OSX package from <a href="http://www.mtasc.org/#download" target="_blank">http://www.mtasc.org/#download</a></li>
<li>Unzip it and change the name of the folder to &#8220;mtasc&#8221; for ease of use</li>
<li>Put the unzipped folder in your Applications directory</li>
<li>Put a new entry in your .bash_login file that says:
<ol>
<li>export PATH=&#8221;/Applications/mtasc:$PATH&#8221;</li>
</ol>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://likesalmon.net/ftob-installing-mtasc-on-mac-os-1055/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

