<?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>Design, Development, and Consulting &#187; Website Advice</title>
	<atom:link href="http://netlumination.com/blog/category/website-advice/feed" rel="self" type="application/rss+xml" />
	<link>http://netlumination.com</link>
	<description>A web design, development, and consulting firm based in Portland, Oregon helping small businesseses and individuals.</description>
	<lastBuildDate>Wed, 01 Sep 2010 23:27:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Pimp My Web Page: Simple to Complex</title>
		<link>http://netlumination.com/blog/pimp-my-web-page-simple-to-complex</link>
		<comments>http://netlumination.com/blog/pimp-my-web-page-simple-to-complex#comments</comments>
		<pubDate>Tue, 22 Jun 2010 06:28:51 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[optimization]]></category>

		<guid isPermaLink="false">http://netlumination.com/?p=1260</guid>
		<description><![CDATA[Let&#8217;s start with the simplest web page: &#60;h1&#62;Hello World!&#60;/h1&#62; Well, that&#8217;s nice, but there&#8217;s certain information missing. We should add a doctype to let the browser know what flavor of HTML, XHTML, etc we&#8217;re using. This declares the document type definition (DTD) in use for the document. We should also add things like the HTML [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s start with the simplest web page:</p>
<ol>
<li>
<pre>&lt;h1&gt;Hello World!&lt;/h1&gt;</pre>
</li>
</ol>
<p>Well, that&#8217;s nice, but there&#8217;s <a href="http://www.w3.org/TR/html401/struct/global.html">certain information missing</a>. We should add a doctype to let the browser know what flavor of HTML, XHTML, etc we&#8217;re using. This declares the document type definition (DTD) in use for the document.</p>
<p>We should also add things like the HTML elements, a HEAD element for specifying more information about the page, a BODY for the contents.</p>
<p>We should also let the browser know our character encoding with a meta tag.</p>
<p>So now we have:<span id="more-1260"></span></p>
<ol>
<li>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/\\xhtml1/DTD/xhtml1-strict.dtd"&gt;</pre>
</li>
<li>
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;</pre>
</li>
<li>
<pre>    &lt;head&gt;</pre>
</li>
<li>
<pre>        &lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8" /&gt;</pre>
</li>
<li>
<pre>        &lt;title&gt;Greetings World&lt;/title&gt;</pre>
</li>
<li>
<pre>    &lt;/head&gt;</pre>
</li>
<li>
<pre>    &lt;body&gt;</pre>
</li>
<li>
<pre>        &lt;h1&gt;Hello World!&lt;/h1&gt;</pre>
</li>
<li>
<pre>    &lt;/body&gt;</pre>
</li>
<li>
<pre>&lt;/html&gt;</pre>
</li>
</ol>
<p>What about the look of the page? Let&#8217;s add some CSS:</p>
<ol>
<li>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/\\xhtml1/DTD/xhtml1-strict.dtd"&gt;</pre>
</li>
<li>
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;</pre>
</li>
<li>
<pre>    &lt;head&gt;</pre>
</li>
<li>
<pre>        &lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8" /&gt;</pre>
</li>
<li>
<pre>        &lt;title&gt;Greetings World&lt;/title&gt;</pre>
</li>
<li>
<pre>        &lt;style type="text/css"&gt;</pre>
</li>
<li>
<pre>            body {</pre>
</li>
<li>
<pre>                background-color:#BDC4D4;</pre>
</li>
<li>
<pre>            }</pre>
</li>
<li>
<pre>        &lt;/style&gt;</pre>
</li>
<li>
<pre>    &lt;/head&gt;</pre>
</li>
<li>
<pre>    &lt;body&gt;</pre>
</li>
<li>
<pre>        &lt;h1&gt;Hello World!&lt;/h1&gt;</pre>
</li>
<li>
<pre>    &lt;/body&gt;</pre>
</li>
<li>
<pre>&lt;/html&gt;</pre>
</li>
</ol>
<p>Of course we should throw that into an external style sheet:</p>
<ol>
<li>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</pre>
</li>
<li>
<pre>&lt;!-- sample.html --&gt;</pre>
</li>
<li>
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;</pre>
</li>
<li>
<pre>    &lt;head&gt;</pre>
</li>
<li>
<pre>        &lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8" /&gt;</pre>
</li>
<li>
<pre>        &lt;title&gt;Greetings World&lt;/title&gt;</pre>
</li>
<li>
<pre>        &lt;link rel="stylesheet" href="styles.css" type="text/css" media="screen" /&gt;</pre>
</li>
<li>
<pre>    &lt;/head&gt;</pre>
</li>
<li>
<pre>    &lt;body&gt;</pre>
</li>
<li>
<pre>        &lt;h1&gt;Hello World!&lt;/h1&gt;</pre>
</li>
<li>
<pre>    &lt;/body&gt;</pre>
</li>
<li>
<pre>&lt;/html&gt;</pre>
</li>
</ol>
<p>and:</p>
<ol>
<li>
<pre>/* styles.css */</pre>
</li>
<li>
<pre>body {</pre>
</li>
<li>
<pre>    background-color:#BDC4D4;</pre>
</li>
<li>
<pre>}</pre>
</li>
</ol>
<p>Let&#8217;s add two images:</p>
<ol>
<li>
<pre>        &lt;p&gt;</pre>
</li>
<li>
<pre>            An Image ==&gt;</pre>
</li>
<li>
<pre>            &lt;img src="images/one.png" alt="image 1" /&gt;</pre>
</li>
<li>
<pre>        &lt;/p&gt;</pre>
</li>
<li>
<pre>        &lt;p&gt;</pre>
</li>
<li>
<pre>            Another Image ==&gt;</pre>
</li>
<li>
<pre>            &lt;img src="images/two.png" alt="image 2" /&gt;</pre>
</li>
<li>
<pre>        &lt;/p&gt;</pre>
</li>
</ol>
<p>Hmmm&#8230; but we&#8217;re making two requests to the server for these two images. We can pass the same amount of information to the user with only one request to the server using <a href="http://www.smashingmagazine.com/2009/04/27/the-mystery-of-css-sprites-techniques-tools-and-tutorials/">sprites</a>.</p>
<p>Sprites are often used in divs or other elements as background images. We&#8217;ll use sprites as background images, but they&#8217;ll be the background to an IMG element. &#8220;null.png&#8221; is simply a transparent pixel:</p>
<p>The HTML:</p>
<ol>
<li>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</pre>
</li>
<li>
<pre>&lt;!-- sample.html --&gt;</pre>
</li>
<li>
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;</pre>
</li>
<li>
<pre>    &lt;head&gt;</pre>
</li>
<li>
<pre>        &lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8" /&gt;</pre>
</li>
<li>
<pre>        &lt;title&gt;Greetings World&lt;/title&gt;</pre>
</li>
<li>
<pre>        &lt;link rel="stylesheet" href="styles.css" type="text/css" media="screen" /&gt;</pre>
</li>
<li>
<pre>    &lt;/head&gt;</pre>
</li>
<li>
<pre>    &lt;body&gt;</pre>
</li>
<li>
<pre>        &lt;h1&gt;Hello World!&lt;/h1&gt;</pre>
</li>
<li>
<pre>        &lt;p&gt;</pre>
</li>
<li>
<pre>            An Image ==&gt;</pre>
</li>
<li>
<pre>            &lt;img src="images/null.png" class="sprite image1" alt="image 1" /&gt;</pre>
</li>
<li>
<pre>        &lt;/p&gt;</pre>
</li>
<li>
<pre>        &lt;p&gt;</pre>
</li>
<li>
<pre>            Another Image ==&gt;</pre>
</li>
<li>
<pre>            &lt;img src="images/null.png" class="sprite image2" alt="image 2" /&gt;</pre>
</li>
<li>
<pre>        &lt;/p&gt;</pre>
</li>
<li>
<pre>    &lt;/body&gt;</pre>
</li>
<li>
<pre>&lt;/html&gt;</pre>
</li>
</ol>
<p>The CSS:</p>
<ol>
<li>
<pre>/* styles.css */</pre>
</li>
<li>
<pre>body {</pre>
</li>
<li>
<pre>    background-color:#BDC4D4;</pre>
</li>
<li>
<pre>}</pre>
</li>
<li>
<pre>.sprite {</pre>
</li>
<li>
<pre>    width:80px;</pre>
</li>
<li>
<pre>    height:80px;</pre>
</li>
<li>
<pre>    background:url('images/sprite.png')</pre>
</li>
<li>
<pre>}</pre>
</li>
<li>
<pre>.image2 {</pre>
</li>
<li>
<pre>    background-position:-80px;</pre>
</li>
<li>
<pre>}</pre>
</li>
</ol>
<p>Well, ok, but our sight isn&#8217;t going to change much over time, so once a visitor see our site, they should cache it in their browser for future use. This&#8217;ll make the page load faster for everyone, since it reduces server load, and it speeds up the loading of pages by repeat visitors.</p>
<p>We can accomplich this using HTTP headers. This is not the HTML HEADER tag. HTTP headers are lines that the server sends to the browser before the contents of the page&#8230; this means we can&#8217;t put the HTTP headers into the HTML file. We&#8217;ll have to use something server side for this. PHP has a header() function, which makes things really easy:</p>
<ol>
<li>
<pre>&lt;?php</pre>
</li>
<li>
<pre>// Expires one year from now</pre>
</li>
<li>
<pre>$expires = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);</pre>
</li>
<li>
<pre>// Format date</pre>
</li>
<li>
<pre>$date =  date('D, d M Y H:i:s', $expires);</pre>
</li>
<li>
<pre>// Send HTTP header</pre>
</li>
<li>
<pre>header("Expires: $date GMT");</pre>
</li>
<li>
<pre>?&gt;</pre>
</li>
<li>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</pre>
</li>
<li>
<pre>&lt;!-- sample.html --&gt;</pre>
</li>
<li>
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;</pre>
</li>
<li>
<pre>    &lt;head&gt;</pre>
</li>
<li>
<pre>        &lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8" /&gt;</pre>
</li>
<li>
<pre>        &lt;title&gt;Greetings World&lt;/title&gt;</pre>
</li>
<li>
<pre>        &lt;link rel="stylesheet" href="styles.css" type="text/css" media="screen" /&gt;</pre>
</li>
<li>
<pre>    &lt;/head&gt;</pre>
</li>
<li>
<pre>    &lt;body&gt;</pre>
</li>
<li>
<pre>        &lt;h1&gt;Hello World!&lt;/h1&gt;</pre>
</li>
<li>
<pre>        &lt;p&gt;</pre>
</li>
<li>
<pre>            An Image ==&gt;</pre>
</li>
<li>
<pre>            &lt;img src="images/null.png" class="sprite image1" alt="image 1" /&gt;</pre>
</li>
<li>
<pre>        &lt;/p&gt;</pre>
</li>
<li>
<pre>        &lt;p&gt;</pre>
</li>
<li>
<pre>            Another Image ==&gt;</pre>
</li>
<li>
<pre>            &lt;img src="images/null.png" class="sprite image2" alt="image 2" /&gt;</pre>
</li>
<li>
<pre>        &lt;/p&gt;</pre>
</li>
<li>
<pre>    &lt;/body&gt;</pre>
</li>
<li>
<pre>&lt;/html&gt;</pre>
</li>
</ol>
<p>We could have done the above with Apache or whatever server itself we&#8217;re using. PHP is nice for illustration, since we can keep all the code in the HTML file. Since the HTTP header comes before the HTML content, you cannot put any HTML before the PHP header() function.</p>
<p>Ok, now we&#8217;re getting somewhere, but we&#8217;ve still got all this text and stuff on our web page&#8230;. ok we don&#8217;t, but we could have all this stuff, if we had a big web page, or it may look like a lot of stuff to someone with a limping dial up in East Timor. Well, why don&#8217;t we compress all our stuff. Let&#8217;s GZIP it.</p>
<ol>
<li>
<pre>&lt;?php</pre>
</li>
<li>
<pre>// Expires one year from now</pre>
</li>
<li>
<pre>$expires = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);</pre>
</li>
<li>
<pre>// Format date</pre>
</li>
<li>
<pre>$date =  date('D, d M Y H:i:s', $expires);</pre>
</li>
<li>
<pre>// Send HTTP header</pre>
</li>
<li>
<pre>header("Expires: $date GMT");</pre>
</li>
<li>
<pre>if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))</pre>
</li>
<li>
<pre>    ob_start("ob_gzhandler");</pre>
</li>
<li>
<pre>else</pre>
</li>
<li>
<pre>    ob_start();</pre>
</li>
<li>
<pre>?&gt;</pre>
</li>
<li>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;</pre>
</li>
<li>
<pre>&lt;!-- sample.html --&gt;</pre>
</li>
<li>
<pre>&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;</pre>
</li>
<li>
<pre>    &lt;head&gt;</pre>
</li>
<li>
<pre>        &lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8" /&gt;</pre>
</li>
<li>
<pre>        &lt;title&gt;Greetings World&lt;/title&gt;</pre>
</li>
<li>
<pre>        &lt;link rel="stylesheet" href="styles.css" type="text/css" media="screen" /&gt;</pre>
</li>
<li>
<pre>    &lt;/head&gt;</pre>
</li>
<li>
<pre>    &lt;body&gt;</pre>
</li>
<li>
<pre>        &lt;h1&gt;Hello World!&lt;/h1&gt;</pre>
</li>
<li>
<pre>        &lt;p&gt;</pre>
</li>
<li>
<pre>            An Image ==&gt;</pre>
</li>
<li>
<pre>            &lt;img src="images/null.png" class="sprite image1" alt="image 1" /&gt;</pre>
</li>
<li>
<pre>        &lt;/p&gt;</pre>
</li>
<li>
<pre>        &lt;p&gt;</pre>
</li>
<li>
<pre>            Another Image ==&gt;</pre>
</li>
<li>
<pre>            &lt;img src="images/null.png" class="sprite image2" alt="image 2" /&gt;</pre>
</li>
<li>
<pre>        &lt;/p&gt;</pre>
</li>
<li>
<pre>    &lt;/body&gt;</pre>
</li>
<li>
<pre>&lt;/html&gt;</pre>
</li>
</ol>
<p>You can <a href="http://www.gidnetwork.com/tools/gzip-test.php">confirm that you&#8217;re properly GZIPPED</a>.</p>
<p>Ok. With PHP we can also <a href="http://php.net/manual/en/function.flush.php">flush</a> the buffer early:</p>
<ol>
<li>
<pre>    &lt;/head&gt;</pre>
</li>
<li>
<pre>    &lt;?php flush(); ?&gt;</pre>
</li>
<li>
<pre>    &lt;body&gt;</pre>
</li>
</ol>
<p>It&#8217;s great that our CSS is in its own file, but it still has a bunch of whitespace. Why don&#8217;t we minify it.</p>
<p>I used the <a href="http://developer.yahoo.com/yui/compressor/">YUI compressor</a> with this command:</p>
<ol>
<li>
<pre>java -jar yuicompressor-2.4.2.jar styles.css -o styles.min.css --type css</pre>
</li>
</ol>
<p>To get this CSS file:</p>
<ol>
<li>
<pre>body{background-color:#BDC4D4;}.sprite{width:80px;height:80px;background:url('images/sprite.png');}.image2{background-position:-80px;}</pre>
</li>
</ol>
<p>We can do the same minification with our Javascript if we have any, and remember to include your Javascript as far to the bottom of the page as you can.</p>
<p>Take a look at the <a href="http://peter-ajtai.com/examples/html/sample.php">final page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/pimp-my-web-page-simple-to-complex/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why use a Content Management System</title>
		<link>http://netlumination.com/blog/why-use-a-content-management-system</link>
		<comments>http://netlumination.com/blog/why-use-a-content-management-system#comments</comments>
		<pubDate>Wed, 26 May 2010 05:41:34 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[convenience]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://netlumination.com/?p=1024</guid>
		<description><![CDATA[You can feel free to skip this entire article if you have a website that you are happy with&#8230; hold on, there&#8217;s something else&#8230; and you can easily update it. Notice that I said you, not your latte drinking, jargon spouting, charge by the hour web air quotes consultant. One of the main reasons to [...]]]></description>
			<content:encoded><![CDATA[<p>You can feel free to skip this entire article if you have a website that you are happy with&#8230; hold on, there&#8217;s something else&#8230; and you can easily update it. Notice that I said you, not your latte drinking, jargon spouting, charge by the hour web air quotes consultant.</p>
<p>One of the main reasons to use a content management system is to enable you to update the content, and sometimes the look of your site. A CMS (I&#8217;ll explain what it is soon) should enable you to do this in a painless way. In other words, without cracking open any sort of O&#8217;Reilly book with &#8220;the Definitive Guide&#8221; somewhere in the title.</p>
<p><span id="more-1024"></span></p>
<p>This brings me back to what exactly is a Content Management System. Sorry, I didn&#8217;t link you to <a href="http://en.wikipedia.org/wiki/Web_content_management_system">this Wikipedia page</a> because it&#8217;s not all that helpful. In broad terms a CMS lets you have control of your website without having to understand all the code that makes it work. Of course there are many different CMSes, and some are better at this than others. But basically a CMS is like the controls on your car. The controls on your car let you drive a car without having to understand how an engine works. Now, some cars are better at doing this than others. If you&#8217;ve got a Fiat with 300,000 miles on it, then you don&#8217;t get into the car without your tool box right? But if you&#8217;ve got a new Honda you may not even know where the lever to open the hood is. Basically, sometimes you&#8217;re going to have to deal with the innards of your car or your web site, but hopefully <a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html">not often</a>.</p>
<p>Sounds good right? You don&#8217;t want to drive a car and get oil on your hands, and you don&#8217;t want to make a website and get ones and zeros on your hands&#8230;. or those &lt; and &gt; symbols or whatever. Now you just have to pick a CMS. I&#8217;ll jump the gun here and tell you that <a href="http://wordpress.org/">WordPress</a> is often a good choice.</p>
<p>But you&#8217;ve got plenty of other choices, some free (as in beard (or leg hair), beer, or fall depending on what you pick): <a href="http://www.concrete5.org/">Concrete5</a>, <a href="http://drupal.org/">Drupal</a>, <a href="http://www.joomla.org/">Joomla</a>, <a href="http://wordpress.org/">WordPress</a>&#8230; and some for payment (as in investment or hole in your computer screen you stuff money into that will be lost forever depending on what you pick): <a href="http://www.fogcreek.com/CityDesk/">City Desk</a>, <a href="http://expressionengine.com/">Expression Engine</a>, <a href="http://sharepoint.microsoft.com/en-us/Pages/default.aspx">Sharepoint</a>, <a href="http://www.sitefinity.com/">Sitefinity</a>&#8230;</p>
<p>I like WordPress for small business sites. It&#8217;s pretty easy to use, very flexible, open source, and built from <a href="http://www.php.net/">PHP</a> and <a href="http://www.mysql.com/">MySQL</a> which are also open source. Like I said, there&#8217;s plenty of other choices, many of them excellent.</p>
<p>Ok, so where was I? Something about Fiats and oil on your hands. Time for <a href="http://www.cartalk.com/">Car Talk</a>? Wait, I was talking about Content Management Systems and why they help you not to get your hands dirty.</p>
<p>So, a CMS puts the power back into the user&#8217;s hands. Admittedly even a CMS has a learning curve, and sometimes you will run into things that you need to dive into the &lt;!DOCTYPE&#8230; for. But this is why you have time and money. Oh you don&#8217;t, well, what it comes down to is that you&#8217;ll use less of both with a CMS.</p>
<p>Here&#8217;s a concrete example. It&#8217;s a very simple one. Let&#8217;s say you have a web page, and it&#8217;s about food. You care about food. You don&#8217;t care too much about clunky computer code. You&#8217;ve got all sorts of stuff on your webpage including some of the dishes you create for your clients. You&#8217;ve just made a new dish you&#8217;re very proud of, and you want to put it on your website. Now, at first you might say that it should be easy. You can figure out how to modify the page on the server. Well maybe, but since you have a nice site, it&#8217;s not just one page. Each recipe is filed under one or more food categories. Each recipe has a pretty background. Some of the recipes may be highlighted in special sections. Basically, it&#8217;ll take a long time for you to figure out how to add just one recipe to your site. You&#8217;ll have to update a lot of things, and you&#8217;ll probably break your site a few times before you succeed. Granted, you&#8217;ll learn a lot about HTML, Javascript, PHP, MySQL, Apache, and who know what else, but you don&#8217;t care about that, you care about food.</p>
<p>A CMS handles these type of things for you. How? Well, by creating a bunch of control panels that let you add to, subtract from, and modify your site.</p>
<p>Don&#8217;t worry even if you have a CMS, you&#8217;ll still be able to throw plenty of money at your latte drinking, jargon spouting, charge by the hour web air quotes consultant&#8230; but you&#8217;ll be able to do it while having control over your own site. In fact, the hope is that the more work you get done on tweaking your CMS to fit your needs, the more control you&#8217;ll have, so all that money becomes a good investment, not just lattes down the drain.</p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/why-use-a-content-management-system/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Like to use Dreamhost for Web Hosting</title>
		<link>http://netlumination.com/blog/why-i-like-to-use-dreamhost-for-web-hosting</link>
		<comments>http://netlumination.com/blog/why-i-like-to-use-dreamhost-for-web-hosting#comments</comments>
		<pubDate>Sat, 03 Apr 2010 23:49:18 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[Dreamhost]]></category>
		<category><![CDATA[web hosting]]></category>

		<guid isPermaLink="false">http://netlumination.com/?p=655</guid>
		<description><![CDATA[There is an over abundance of web hosting options. There are options to get pretty good hosting for free, or if you want, you can get pretty bad hosting for a lot. Anyway, the choices are overwhelming. I&#8217;ve tried several web hosting services, but for the past few years I&#8217;ve stuck with one: Dreamhost &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>There is an over abundance of web hosting options. There are options to get pretty good hosting for free, or if you want, you can get pretty bad hosting for a lot. Anyway, the choices are overwhelming. I&#8217;ve tried several web hosting services, but for the past few years I&#8217;ve stuck with one: <a href="http://www.dreamhost.com/r.cgi?132190">Dreamhost</a> &#8211; affordable, complete, and good overall.</p>
<p><a href="http://www.dreamhost.com/r.cgi?132190"><img class="alignnone size-full wp-image-656" title="Dreamhost" src="http://netlumination.com/wp-content/uploads/2010/04/dreamhost.gif" alt="Dreamhost hosting" width="468" height="60" /></a></p>
<p><span id="more-655"></span>Now, there&#8217;s all sorts of things Dreamhost offers, and you can read about them on <a href="http://www.dreamhost.com/r.cgi?132190 ">their site</a> (if you do sign up with them, please use the referral code &#8220;netlumination&#8221; to get $49 off monthly, 1 year, or 2 year hosting).</p>
<p>The important thing for me when I first got hosting was that they had PHP and MySQL. They have PHP5, MySQL, Perl, Python, Crontab access, full CGI, Ruby on Rails, SSI, CVS, Subversion, and a full Unix shell.</p>
<p>So if you sign up and just plop down a simple HTML home page that&#8217;s fine and obvious. But here&#8217;s something I just found out. Let&#8217;s say a little later you decide to learn object oriented programming and you start practicing with C++. You wouldn&#8217;t think Dreamhost can help, but they can. Just log in to your Unix shell type &#8220;g++&#8221; and the name of your C++ file, and you&#8217;ve got a compiled executable file. If you want an IDE for your C++ practice then just type &#8220;emacs&#8221; and then key in &#8220;M-x gdb&#8221; (M is your meta key &#8211; &#8220;alt&#8221; usually). Of course, that&#8217;s just the tip of the iceberg. If you want to play around with Python, just type &#8220;python&#8221; at the Unix shell prompt. There are many languages you can play with.</p>
<p>The example I gave is very specific and particular to me, but my point is that Dreamhost hosting grows with you. I&#8217;m still using the same plan I started with, and I&#8217;m still learning all the tools it offers.</p>
<p>In addition to the programming options, Dreamhost also makes it easy to set up software without fuss (you don&#8217;t have to learn to tar ball, unball, dezip? whatever, you just click once). They have one click install for many things, and they always seem to be adding stuff. Some of the installs I see in my panel right now include: <a href="http://wordpress.org/">WordPress</a>, <a href="http://gallery.menalto.com/">Gallery</a>, <a href="http://www.zen-cart.com/">ZenCart</a>, <a href="http://www.phpgedview.net/">PHPGedView</a>, <a href="http://www.openx.org/">OpenX</a>, <a href="http://www.pligg.com/">Pligg</a>, <a href="http://www.dotproject.net/">dotProject</a>, <a href="http://moodle.org/">Moodle</a>, <a href="http://www.joomla.org/">Joomla</a>, <a href="http://www.phpbb.com/">phpBB</a>, <a href="http://www.mediawiki.org/">MediaWiki</a>, <a href="http://www.k5n.us/webcalendar.php">WebCalendar</a>, Advanced Poll, <a href="http://trac.edgewall.org/">Trac</a>, <a href="http://status.net/">StatusNet</a>, <a href="http://www.zenphoto.org/">Zenphoto</a>, and <a href="http://drupal.org/">Drupal</a>. Of course if you want something they don&#8217;t have, you have the flexibility and option to add it yourself.</p>
<p>What really prompted me to write this is starting to use the Unix shell. All of a sudden I realized that Dreamhost was providing me with all sorts of stuff I didn&#8217;t even know about and have yet to learn. Often when you learn about new tools, you have to go out and buy them before you can use them. The Unix shell comes with your account, and all the tools in it are all ready for use. With Dreamhost it feels like you&#8217;ve got Home Depot in your garage.</p>
<p><a href="http://www.dreamhost.com/r.cgi?132190"><img class="alignnone size-full wp-image-657" title="Dreamhost 2" src="http://netlumination.com/wp-content/uploads/2010/04/dreamhost2.gif" alt="Dreamhost Web Hosting" width="234" height="60" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/why-i-like-to-use-dreamhost-for-web-hosting/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More on Search Engine Optimization</title>
		<link>http://netlumination.com/blog/more-on-search-engine-optimization</link>
		<comments>http://netlumination.com/blog/more-on-search-engine-optimization#comments</comments>
		<pubDate>Thu, 02 Apr 2009 21:45:30 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[backlinks]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[search engine optimization]]></category>

		<guid isPermaLink="false">http://wordpress.netlumination.com/?p=35</guid>
		<description><![CDATA[If you look at sites offering search engine optimization, or SEO, you'll notice that the prices can get pretty high. If all that is involved is making sure all the elements on your page have your keywords correctly woven into them, then how can SEO services be so expensive? Well, it turns out that the words on your pages are just a small part of the picture.]]></description>
			<content:encoded><![CDATA[<p>If you look at sites offering <a href="http://www.netlumination.com/blog/why-search-engine-optimization-is-important">search engine optimization</a>, or SEO, you&#8217;ll notice that the prices can get pretty high. If all that is involved is making sure all the elements on your page have your keywords correctly woven into them, then how can SEO services be so expensive? Well, it turns out that the words on your pages are just a small part of the picture.<span id="more-35"></span></p>
<p>Google and other search engines have very complicated ways of figuring out how to order sites in their searches. If only the keywords on the pages themselves mattered, then a useless page that lists only the keyword thousands of times would always be first. So that doesn&#8217;t work. What search engines decided is that they would look at who links to a page, and also the outgoing links from a page. It gets complicated since it&#8217;s not just the number of pages that link to your page that is important but also their quality in the eyes of the search engine. Links to your page from other pages are called back links. The more of these you have more top ranking sites the better you will do in the eyes of search engines.</p>
<p>In addition to number of links, there are other differences among sites. For example you&#8217;ll notice that .edu, .gov, and .org sites often achieve very high rankings. So, if you can get links from any of these type of sites, your page will do very well.</p>
<p>That&#8217;s presenting things with the broad brush stroke. Not only are the number and quality of your links important, but as usual, the devil is in the details. Your back links must be from pages that have the same keywords as yours. Additional if you really want good search engine optimization the words in the back links themselves should be your keywords. For example, if you make neon signs, then you want other pages dealing with neon signs to link to you, and you want these links to specifically say &#8220;neon signs&#8221;&#8230;.. not your name, or you companies name. No one&#8217;s going to search for your name or your companies name when they&#8217;re considering the options. If they already know about you and want you to do their neon signs, they&#8217;ll just pick up the phone and call. You want people who search for neon signs to see you in the search engines, since they don&#8217;t know about you and can give you business.</p>
<p>All of this takes work a lot of effort. You have to know how to get others to point to your page. You have to know who should point to your page. There are many ways of doing this. You can buy, trade, or create links. All of this will take time, money, or both.</p>
<p>Just to illustrate a complication that a good search engine optimization specialist would take into account, consider trading links. This sounds easy, right? You email another site that has you keywords, and you get them to link to you, while you link to them. Not if you&#8217;re really good. Since unreciprocated links work better than reciprocated links. After all, the search engines know that anyone can trade links, but not anyone get a link without giving one. So it is ideal to use multiple sites when trading links. They link to yours and you use a different domain name to link to theirs. As you can see, there are many different choices in how to do things. This means that the quality of SEO you get is highly dependent and based on who you deal with.</p>
<p>In addition to these specific individual strategies, you have to have an overall strategy for moving up in the rankings. This is important in order to create a realistic goals.</p>
<p>A common SEO strategy is to move up in the rankings for a very long series of keywords and then gradually increase your rankings for shorter and shorter phrases. For example there may not be much competition for &#8220;tennis pros from Rhode Island who are left handed,&#8221; so if you happen to be a left handed tennis pro from Rhode Island, you are in luck. You&#8217;ll move up in rankings quick. Then you can concentrate on &#8220;tennis pros from Rhode Island&#8221; Then &#8220;tennis pros.&#8221; And finally you can show up on the first page of search for the key word &#8220;tennis.&#8221; A long way down the road. &#8220;tennis pros from Rhode Island who are left handed,&#8221; shows 7,280 results in Google. &#8220;Tennis&#8221; has 190,000,000 results. SEO is an ongoing process.</p>
<p>So you see, search engine optimization only begins with your page. Your url, title, alt image tags, h1 headings, etc. are only a small part of the picture. The content of other websites and a cohesive overall strategy will also determine the success of your SEO. This is why the process is more complicated than just paying attention to the content of your pages, but not everyone knows this, and not everyone uses the same strategies and techniques. Make sure you understand what you are purchasing. Do this by asking questions and looking at the details.</p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/more-on-search-engine-optimization/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Look for samples of things you like and dislike</title>
		<link>http://netlumination.com/blog/look-for-samples-of-things-you-like-and-dislike</link>
		<comments>http://netlumination.com/blog/look-for-samples-of-things-you-like-and-dislike#comments</comments>
		<pubDate>Thu, 24 Jul 2008 21:55:30 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[getting started]]></category>
		<category><![CDATA[samples]]></category>

		<guid isPermaLink="false">http://wordpress.netlumination.com/?p=30</guid>
		<description><![CDATA[How do you tell your designer what you want if you don't know what all your options are. The answer is simple: samples.
One of the first things you will do when you begin working with a web developer is to describe how you want your site to look and feel, the audience you are targeting, etc., but a picture is worth a thousand words, and a url is worth ten thousand.]]></description>
			<content:encoded><![CDATA[<p>How do you tell your designer what you want if you don&#8217;t know what all your options are. The answer is simple: samples.</p>
<p>One of the first things you will do when you begin working with a web developer is to describe how you want your site to look and feel, the audience you are targeting, etc., but a picture is worth a thousand words, and a url is worth ten thousand.<span id="more-30"></span></p>
<p>It is the web designers job to know the latest technological possibilities, not yours. So you may not even be aware that it is possible to ask for certain things&#8230; for example to have your web page show up well on the Amazon Kindle or on screen projectors.</p>
<p>You can get around this problem by doing something fun&#8230; surfing the web and collecting the urls of sites that you like and don&#8217;t like. When you approach your web designer, give them this list. They will be able to gain an organic understanding of what you want. Like this, they will be able to understand which of the newest bells and whistles would be necessary on your site, since they&#8217;ll have a good broad understanding of the type of site you are striving toward. Samples of your likes and dislikes will greatly aid in getting exactly the site you are looking for.</p>
<p>So, make sure you have a list of sites you like and sites you dislike when you approach your web designer. It will open up possibilities for you site you don&#8217;t even know exist.</p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/look-for-samples-of-things-you-like-and-dislike/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Style guides</title>
		<link>http://netlumination.com/blog/style-guides</link>
		<comments>http://netlumination.com/blog/style-guides#comments</comments>
		<pubDate>Tue, 10 Jun 2008 17:12:21 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[site maintenance]]></category>
		<category><![CDATA[upkeep]]></category>

		<guid isPermaLink="false">http://wordpress.netlumination.com/?p=27</guid>
		<description><![CDATA[One of the difficulties in having a web site designed for you is that you may not know what to look for. A way to get around this is to ask for explanations... in writing.]]></description>
			<content:encoded><![CDATA[<p>One of the difficulties in having a web site designed for you is that you may not know what to look for. A way to get around this is to ask for explanations&#8230; in writing.<span id="more-27"></span></p>
<p>For example, you may have a web designer come up with a look for your site. Make sure you ask for a written description of this look. This is called a style guide. A style guide may relate to the combination of colors on a site, each page&#8217;s layout, the feel of the writing on the site, or all of the previous. The style guide itself may be online, in electronic form, or even a physical booklet. The style guide will not only help you understand the work that is going in to developing your site, it is also a very valuable resource. A style guide allows someone who has never worked on you site before to edit your current pages and add new pages to your site while maintaining the look and feel of the overall website. This guarantees that your site will not only look good the first day it goes live, but that your site will continue to look good after years of edits and updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/style-guides/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web page validity</title>
		<link>http://netlumination.com/blog/web-page-validity</link>
		<comments>http://netlumination.com/blog/web-page-validity#comments</comments>
		<pubDate>Sat, 07 Jun 2008 01:36:09 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[compliance]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://wordpress.netlumination.com/?p=25</guid>
		<description><![CDATA[arkup validation sounds like a technical topic, but it is a factor that must be understood so that your website will be available to the largest number of customers or readers.
Markup validation is the process that is used to make sure the code on you web pages conforms to the "rules of grammar" of the world wide web. If your pages are valid, not only can the most people access your pages now, but people will continue to be able to access your pages in the future.]]></description>
			<content:encoded><![CDATA[<p>Markup validation sounds like a technical topic, but it is a factor that must be understood so that your website will be available to the largest number of customers or readers.</p>
<p>Markup validation is the process that is used to make sure the code on you web pages conforms to the &#8220;rules of grammar&#8221; of the world wide web. If your pages are valid, not only can the most people access your pages now, but people will continue to be able to access your pages in the future.<span id="more-25"></span></p>
<p>You may well ask why having valid web pages is important. After all, if you are able to view your web page, and it looks nice, that&#8217;s good enough, right? Well, not everyone has the same monitor resolution as you. What if someone wants to quickly buy your product, and all they have available is a cell phone? Having valid pages means that you present the data on your site in a certain predictable and agreed upon way. This means that the greatest number of devices, and so customers, will be able to access your site, since the makers of these devices will be able to count on the manner in which you give them information.</p>
<p>Additionally, as you&#8217;ve noticed, things change quickly on the web. If your site looks good today, unless it is valid, it may not look good tomorrow&#8230;. even on your computer. When the way we communicate over the world wide web is changed, attention is paid to making things backward compliant. In other words, many of the functions on old sites will still work with the new browsers and devices, as long as they worked with the old standards.</p>
<p>Essentially, designing your site without paying attention to being valid is like gambling. You gamble whether people on other computers and devices will be able to properly access your site, and you gamble whether people will be able to properly access your site in the future. Well, to narrow it down further, it&#8217;s like playing Russian Roulette. If people can&#8217;t access your site, they won&#8217;t visit it. If people don&#8217;t visit your site, they won&#8217;t buy your products. It&#8217;s not something you want to gamble on.</p>
<p>How can you tell, whether a page on a site valid? Fortunately that&#8217;s easy. Just enter it&#8217;s URL into a markup validator, <a href="http://validator.w3.org/">like this one</a>. You generally will not need to use a validator yourself, since your web designer will make the pages of your site valid, but it is nice to know that if you are curious, you can quickly tell whether your customers are likely able to access your site.</p>
<p><a href="http://validator.w3.org/docs/why.html">Here is some more information on markup validation.</a> It is an explanation by the W3C, the organization in charge of the protocols and guidelines for the world wide web, as to why markup validation is important.</p>
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" width="88" height="31" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/web-page-validity/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site maintenance</title>
		<link>http://netlumination.com/blog/site-maintenance</link>
		<comments>http://netlumination.com/blog/site-maintenance#comments</comments>
		<pubDate>Wed, 04 Jun 2008 19:05:29 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[ease of use]]></category>
		<category><![CDATA[editing]]></category>
		<category><![CDATA[search engine optimization]]></category>
		<category><![CDATA[site maintenance]]></category>
		<category><![CDATA[upkeep]]></category>

		<guid isPermaLink="false">http://wordpress.netlumination.com/?p=8</guid>
		<description><![CDATA[Let us say that you had the perfect website designed for you. It is beautiful and has everything you need. Well, after a while, you decide to change your inventory. Now you want to update your online inventory and change your online FAQ page. Are you going to have to spend more money to have the web designer come back and do this for you, or are you going to risk your site by going into the code yourself? Fortunately there is a third option. Have your site designed with areas that can be edited by the website owner... that's you.]]></description>
			<content:encoded><![CDATA[<p>Let us say that you had the perfect website designed for you. It is beautiful and has everything you need. Well, after a while, you decide to change your inventory. Now you want to update your online inventory and change your online FAQ page. Are you going to have to spend more money to have the web designer come back and do this for you, or are you going to risk your site by going into the code yourself? Fortunately there is a third option. Have your site designed with areas that can be edited by the website owner&#8230; that&#8217;s you.<span id="more-8"></span></p>
<p>You may still want to have your web designer come back and do maintenance on your site, but you do not want to have to call your designer every time you want to add copy or edit your contacts page.</p>
<p><a href="http://stock.netlumination.com/">Here</a> is a site that allows the owner to edit some important information on the site easily. <a href="http://stock.netlumination.com/">Stock.Netlumination</a> is a site that displays some of my photos. The potential buyer will enter the site through the home page. When I want to change information about photos, or add photos, I go to <a href="http://stock.netlumination.com/edit.php">this</a>, the editing page.</p>
<p>Normally this page would be password protected, but I left it accessible to the public, so I can demonstrate its features. If you click on a photo in the editing mode, you are taken to a page where you can modify the information without having to deal with any messy XHTML code. For example, <a href="http://stock.netlumination.com/edit/index.php?photo=0028">here</a> is a page that would allow me to edit information about one of my photos of Mount Hood, simply by changing the prefilled form and entering the correct password. Once I hit submit, the site will automatically generate the necessary code, and it will update to display the new information.</p>
<p>Having pages like this will enable you to have better and more direct control over your site. It will allow your web developer to concentrate on maintaining the accessibility, look, and feel of the siste, while allowing you to control its content.</p>
<p>As you design your web page with you web developer, make sure you spend some time thinking about what parts of your site you will want to be able to easily edit yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/site-maintenance/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Search Engine Optimization is important</title>
		<link>http://netlumination.com/blog/why-search-engine-optimization-is-important</link>
		<comments>http://netlumination.com/blog/why-search-engine-optimization-is-important#comments</comments>
		<pubDate>Sat, 31 May 2008 02:23:59 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Website Advice]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[search engine optimization]]></category>

		<guid isPermaLink="false">http://wordpress.netlumination.com/?p=5</guid>
		<description><![CDATA[A web site can often appear like a store front. Look at pages like Amazon.com or Target.com. But appearance can be misleading...

The most important thing about a store, besides what it sells, is where it is located. If you pick your location well, customers will pass by your store and you will make lots of money. Contrastingly, people hardly ever randomly chance upon a web page. There really is no such thing as good location for a web page. There is only good visibility, which is how easy your web page is to find. This is where search engine optimization (SEO) comes into play. A good web developer can make your web page visible to the people who are looking for exactly what you are offering.]]></description>
			<content:encoded><![CDATA[<p>A web site can often appear like a store front. Look at pages like Amazon.com or Target.com. But appearance can be misleading&#8230;</p>
<p>The most important thing about a store, besides what it sells, is where it is located. If you pick your location well, customers will pass by your store and you will make lots of money. Contrastingly, people hardly ever randomly chance upon a web page. There really is no such thing as good location for a web page. There is only good visibility, which is how easy your web page is to find. This is where search engine optimization (SEO) comes into play. A good web developer can make your web page visible to the people who are looking for exactly what you are offering.<span id="more-5"></span></p>
<p>When people look for web pages they use search engines, links from other web sites, or the referral of friends. So when someone is looking for a website, they are looking for very specific things. They are not just passing by; they are searching for just the right thing.</p>
<p>So, you want to make sure that when a customer is brought to your site from a search engine or a referring site, they find exactly what they are looking for. Unlike the customers of a brick and mortar shop, people looking at web sites will not browse if they do not instantly see what they are looking for. They will not ask or search; they will leave.</p>
<p>This means that a successful website must have very good SEO. SEO is not simply having a good ranking in Google. It is having a good ranking for the words that people type in when looking for the resources your site has to offer.</p>
<p>Having a good ranking in search engines can be done with hard work and detail oriented web design. Finding the correct keywords for your site is part art, since you have to anticipate the words or phrases that people will type into the search enging when looking for sites like yours. A good web developer can help you set up SEO for your site, so that it is visible to the people looking for it.</p>
]]></content:encoded>
			<wfw:commentRss>http://netlumination.com/blog/why-search-engine-optimization-is-important/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
