<?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>Signified</title>
	<atom:link href="http://blog.signified.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.signified.com.au</link>
	<description>Web Design and Development. The personal &#038; professional website of Robert Love</description>
	<lastBuildDate>Mon, 22 Aug 2011 05:00:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Google Weather API</title>
		<link>http://blog.signified.com.au/google-weather-api/</link>
		<comments>http://blog.signified.com.au/google-weather-api/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 07:01:25 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Weather]]></category>

		<guid isPermaLink="false">http://blog.signified.com.au/google-weather-api/</guid>
		<description><![CDATA[Want the weather on your site? Use Google&#8217;s weather API. Here&#8217;s an example: http://www.google.com/ig/api?weather=Phuket+Thailand And here&#8217;s the list of possible weather images that are used by the API: just in case you want to replace with your own nicer ones &#8230; <a href="http://blog.signified.com.au/google-weather-api/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Want the weather on your site? Use <strong>Google&#8217;s weather API</strong>.</p>
<p>Here&#8217;s an example:</p>
<p><a href="http://www.google.com/ig/api?weather=Phuket+Thailand">http://www.google.com/ig/api?weather=Phuket+Thailand</a></p>
<p>And here&#8217;s the list of possible weather images that are used by the API:</p>
<p><img alt="sunny" src="http://www.google.ru/ig/images/weather/sunny.gif" width="40" height="40" /> <img alt="mostly sunny" src="http://www.google.ru/ig/images/weather/mostly_sunny.gif" width="40" height="40" /> <img alt="partly cloudy" src="http://www.google.ru/ig/images/weather/partly_cloudy.gif" width="40" height="40" /> <img alt="mostly cloudy" src="http://www.google.ru/ig/images/weather/mostly_cloudy.gif" width="40" height="40" /> <img alt="chance of storm" src="http://www.google.ru/ig/images/weather/chance_of_storm.gif" width="40" height="40" /> <img alt="rain" src="http://www.google.ru/ig/images/weather/rain.gif" width="40" height="40" /> <img alt="chance of rain" src="http://www.google.ru/ig/images/weather/chance_of_rain.gif" width="40" height="40" /> <img alt="chance of snow" src="http://www.google.ru/ig/images/weather/chance_of_snow.gif" width="40" height="40" /> <img alt="cloudy" src="http://www.google.ru/ig/images/weather/cloudy.gif" width="40" height="40" /> <img alt="mist" src="http://www.google.ru/ig/images/weather/mist.gif" width="40" height="40" /> <img alt="storm" src="http://www.google.ru/ig/images/weather/storm.gif" width="40" height="40" /> <img alt="thunderstorm" src="http://www.google.ru/ig/images/weather/thunderstorm.gif" width="40" height="40" /> <img alt="chance of tstorm" src="http://www.google.ru/ig/images/weather/chance_of_tstorm.gif" width="40" height="40" /> <img alt="sleet" src="http://www.google.ru/ig/images/weather/sleet.gif" width="40" height="40" /> <img alt="snow" src="http://www.google.ru/ig/images/weather/snow.gif" width="40" height="40" /> <img alt="icy" src="http://www.google.ru/ig/images/weather/icy.gif" width="40" height="40" /> <img alt="dust" src="http://www.google.ru/ig/images/weather/dust.gif" width="40" height="40" /> <img alt="fog" src="http://www.google.ru/ig/images/weather/fog.gif" width="40" height="40" /> <img alt="smoke" src="http://www.google.ru/ig/images/weather/smoke.gif" width="40" height="40" /> <img alt="haze" src="http://www.google.ru/ig/images/weather/haze.gif" width="40" height="40" /> <img alt="flurries" src="http://www.google.ru/ig/images/weather/flurries.gif" width="40" height="40" /> </p>
<p>just in case you want to replace with your own nicer ones like, for example, <a href="http://www.istockphoto.com/stock-illustration-7785075-universal-icons-set-20-weather.php">these from iStockphoto</a>:</p>
<p><img src="http://www.istockphoto.com/file_thumbview_approve/7785075/2/istockphoto_7785075-universal-icons-set-20-weather.jpg" alt="Universal icons - Set 20 (Weather)" width="380" height="339" /></p>
<p>And for those of you who use <a href="http://cakephp.org">CakePHP</a>, here&#8217;s a <a href="https://github.com/signified/CakePHP-Weather-Component">CakePHP Weather Component</a> which uses the Google Weather API.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/google-weather-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Directions South 2008</title>
		<link>http://blog.signified.com.au/web-directions-south-2008/</link>
		<comments>http://blog.signified.com.au/web-directions-south-2008/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 13:00:42 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Web Directions]]></category>

		<guid isPermaLink="false">http://blog.signified.com.au/web-directions-south-2008/</guid>
		<description><![CDATA[This post is an overview of the sessions I attended at Web Directions South 2008 &#8211; a two-day conference held each year in Sydney, Australia. Note, this is not an overview of all sessions &#8211; only those I attended. I &#8230; <a href="http://blog.signified.com.au/web-directions-south-2008/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This post is an overview of the sessions I attended at <a href="http://south08.webdirections.org/">Web Directions South 2008</a> &#8211; a two-day conference held each year in Sydney, Australia. Note, this is not an overview of all sessions &#8211; only those I attended. I know the tone of this post is a bit formal and dry. This is because it originated as a report on the conference to my Manager at <a href="http://www.newsdigitalmedia.com.au/">News Digital Media</a>. Sorry <img src='http://blog.signified.com.au/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<h2>Opening keynote: New media &#8211; new business</h2>
<p>By <a href="http://www.lynnedjohnson.com/">Lynne D Johnson</a></p>
<p>This session was extremely relevant to the context of my current work on <a href="http://www.whereilive.com.au/">Where I Live</a> at <a href="http://www.newsdigitalmedia.com.au/">News Digital Media</a> &#8211; being a small part of a very large media and publishing organisation &#8211; <a href="http://www.newscorp.com/">News Corporation</a>. An interesting point Johnson spoke of was in reference to a recent article published on <a href="http://valleywag.com/">Valleywag</a> &#8211; <a href="http://valleywag.com/5052429/google-cofounders-wealth-dwarfs-newspaper-business">Google cofounders&#8217; wealth dwarfs newspaper business</a> &#8211; stating that &#8220;the entire American newspaper business is worth $20 billion and sinking fast&#8221;, whereas &#8220;Larry Page and Sergey Brin, Google&#8217;s cofounders, are worth nearly $16 billion each.&#8221; This spoke both to the decline of print media in general, as well as calling into question the future of the long-form format of print. Johnson prophesised the rise of the <a href="http://en.wikipedia.org/wiki/E-book">E-Book</a> on devices such as the <a href="http://en.wikipedia.org/wiki/Kindle">Amazon Kindle</a>, as well as suggesting the long-form may eventually become an elite format &#8211; expensive to both produce and purchase &#8211; perhaps itself becoming an identifier of class.</p>
<div style="width:425px;text-align:left" id="__ss_424110"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/lynneluvah/is-print-dead-how-digital-media-is-changing-the-face-of-publishing?type=powerpoint" title="Is Print Dead? How Digital Media is Changing the Face of Publishing">Is Print Dead? How Digital Media is Changing the Face of Publishing</a><br />
    <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=isprintdead-1211552917722398-9&#038;stripped_title=is-print-dead-how-digital-media-is-changing-the-face-of-publishing" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=isprintdead-1211552917722398-9&#038;stripped_title=is-print-dead-how-digital-media-is-changing-the-face-of-publishing" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/lynneluvah/is-print-dead-how-digital-media-is-changing-the-face-of-publishing?type=powerpoint" title="View Is Print Dead? How Digital Media is Changing the Face of Publishing on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/multitouch">multitouch</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/mobile">mobile</a>)</div>
</div>
<h2>Accessibility beyond compliance</h2>
<p>By <a href="http://boxofchocolates.ca/">Derek Featherstone</a></p>
<p>This session spoke to the idea of thinking beyond simply building websites that &#8220;validate&#8221; and taking the extra step (and effort) to think in terms of the context of the user and how they will actually be using the site/interface. Featherstone made particular reference to the <a href="http://maps.google.com/">Google Maps</a> based <a href="http://ironfeathers.ca/routes/">Routes</a> on <a href="http://ironfeathers.ca/">ironfeathers.ca</a>, whereby he had re-implemented the map controls to provide a higher level of validity and usability than is provided by Google by default.</p>
<h2>Developing for iPhone</h2>
<p>By <a href="http://toolmantim.com/">Tim Lucas</a> and <a href="http://c41.com.au/">Peter Ottery</a></p>
<p>This session covered the <a href="http://iphone.news.com.au/">news.com.au iPhone site</a> development.</p>
<p>The first half of the presentation, by Tim Lucas, covered the technical aspects of building a website for the iPhone. Lucas made known the site was developed in Ruby on Rails, as well as the fact that it was the first iPhone site development he had embarked upon. The most interesting part for me was trying to figure out how a contractor with no experience developing for the target platform was engaged to build a site for <a href="http://www.newsdigitalmedia.com.au/">News Digital Media</a> in a framework it didn&#8217;t (until now it seems), sanction and/or support.</p>
<p>The second half of this session, delivered by Pete Ottery, was an expose of sorts regarding new features inherent in CSS3 that can be used immediately for iPhone web app developments due to the native Safari web browser with full CSS3 support. Pretty interesting!</p>
<div style="width:425px;text-align:left" id="__ss_625804"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/toolmantim/developing-for-iphone-presentation?type=powerpoint" title="Developing for iPhone">Developing for iPhone</a><br />
    <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=wd-iphone-combined-for-slideshare-1222737902765562-8&#038;stripped_title=developing-for-iphone-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=wd-iphone-combined-for-slideshare-1222737902765562-8&#038;stripped_title=developing-for-iphone-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/toolmantim/developing-for-iphone-presentation?type=powerpoint" title="View Developing for iPhone on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/wds">wds</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/wds08">wds08</a>)</div>
</div>
<h2>Javascript libraries &#8211; Putting the cross in cross-browser compatible</h2>
<p>Craig Sharkie, with Earle Castledine, <a href="http://www.teamaskins.net/">Ben Askins</a>, <a href="http://codespike.com/">Jason Crane</a> and <a href="http://www.themaninblue.com/">Cameron Adams</a></p>
<p>This session sounded promising, as if the audience would walk away with a usable compare and contrast of three of the most popular JavaScript libraries &#8211; <a href="http://jquery.com/">jQuery</a>, the <a href="http://developer.yahoo.com/yui/">Yahoo! User Interface (YUI)</a> and <a href="http://www.prototypejs.org/">Prototype</a>. However, when Ben Askins, who would be the delegate for Prototype, introduced himself as not being a user of Prototype, the audience sigh was audible. From this early point, the session began to head downhill &#8211; due in part to the loose organisation, lack of structure/direction and ineffective facilitation by Craig Sharkie. My frustration was compounded when I overheard Askins telling a friend after the session that he &quot;totally winged&quot; his presentation. Thanks Ben (and Web Directions)- time and money well spent on my part then.</p>
<h2>Elegant Web Typography</h2>
<p>By <a href="http://jeffcroft.com/">Jeff Croft</a></p>
<p>This session delivered some useful takeaways relating to typography on the web. In particular, one problem faced by front-end developers dealing with CSS-based typography is that of setting relative font sizes for accessibility, only to be thwarted when nested content inherits font-size settings, making it very difficult to calculate the actual relative font size to use to achieve a specific &#8220;screen size&#8221;. Croft revealed a technique first published in the post <a href="http://www.clagnut.com/blog/348/">How to size text using ems</a> on <a href="http://clagnut.com/">Clagnut</a>. I had remembered seeing this technique used on <a href="http://www.clearleft.com/">Clearleft</a> and, lo and behold, the author of the aforementioned article, <a href="http://clagnut.com/">Richard Rutter</a>, is the Production Director at Clearleft. It all makes sense now!</p>
<div style="width:425px;text-align:left" id="__ss_628831"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/jeff_croft/elegant-web-typography-presentation?type=powerpoint" title="Elegant Web Typography">Elegant Web Typography</a><br />
    <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=elegant-web-typography-1222845392092537-8&#038;stripped_title=elegant-web-typography-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=elegant-web-typography-1222845392092537-8&#038;stripped_title=elegant-web-typography-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/jeff_croft/elegant-web-typography-presentation?type=powerpoint" title="View Elegant Web Typography on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/jeffcroft">jeffcroft</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/webdirectionssouth2008">webdirectionssouth2008</a>)</div>
</div>
<h2>Predicting the Past: Emotional Design and a Vision for Microsoft Surface</h2>
<p>By August de los Reyes</p>
<p>This session delved more into theories of user experience and human/computer interaction, and this is what made it interesting. Reyes&#8217; recent postgraduate studies were evident as the session was delivered more as an academic lecture than as a conference end-of-day keynote. Using his learnings as a segway to the promotion of Microsoft&#8217;s newest technology &#8211; <a href="http://www.microsoft.com/surface/">Surface</a> (essentially a big iPhone). Reyes claims Surface is a shift from the current graphic user interface (GUI) to the new Natural User Interface (NUI). However, as interesting and inspiring Reyes is as a speaker, I don&#8217;t think he managed to convince the tech-savvy audience that Surface was anything more than a touch-screen in a coffee table.</p>
<h2>Designing our way through data</h2>
<p>By <a href="http://www.veen.com/jeff/">Jeffrey Veen</a></p>
<p>This session was interesting because it was Veen &#8211; and he is entertaining. Veen spoke, as he has on many occasions, of designing information and data visualisation whilst referencing the usual suspects from history &#8211; <a href="http://en.wikipedia.org/wiki/John_Snow_(physician)">John Snow</a>, <a href="http://en.wikipedia.org/wiki/Charles_Joseph_Minard">Charles Joseph Minard</a>, <a href="http://en.wikipedia.org/wiki/Harry_Beck_(graphic_designer)">Harry Beck</a>, et. al. &#8211; and the current trends in our own time such as <a href="http://snapshot.trulia.com/">Trulia snapshot</a>, <a href="http://www.dopplr.com/">DOPPLR</a> and (of course) <a href="http://measuremap.com/">Measure Map</a> and <a href="http://www.google.com/analytics/">Google Analytics</a>.</p>
<p>Veens central premise for designing information was presented with the following three key points:</p>
<ol>
<li>Enable people to find their stories</li>
<li>Create tools to let them manipulate their data</li>
<li>Provide filters to enable clarity</li>
</ol>
<div style="width:425px;text-align:left" id="__ss_628595"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/webdirections/jeffrey-venn-designing-our-way-through-data-presentation?type=powerpoint" title="Jeffrey Venn - Designing our way through data">Jeffrey Venn &#8211; Designing our way through data</a><br />
    <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=veenwds08-1222828434769314-9&#038;stripped_title=jeffrey-venn-designing-our-way-through-data-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=veenwds08-1222828434769314-9&#038;stripped_title=jeffrey-venn-designing-our-way-through-data-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/webdirections/jeffrey-venn-designing-our-way-through-data-presentation?type=powerpoint" title="View Jeffrey Venn - Designing our way through data on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/wds08">wds08</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/design">design</a>)</div>
</div>
<p><a href="http://webdirections.org/podcasts/WD08/WDS08-Jeffrey-Veen.mp3">Podcast: Designing our way through data</a></p>
<h2>Creating sexy stylesheets</h2>
<p>By <a href="http://jinabolton.com/">Jina Bolton</a></p>
<p>This session presented some practical examples for creating, if not sexy (apparently Bolton has recieved some flack for use of the term &quot;sexy&quot; &#8211; go figure), at least readable and organised stylesheets. The most interesting takeway from Bolton&#8217;s presentation for my purposes was the idea of a table of contents at the top of the CSS file which gives a quick overview of sections, colours and styles that reference section headings using the <code>/* =selector */</code> style of section commenting. I&#8217;d noticed <a href="http://funke.com.au/">Rob D&#8217;Arrigo</a> had used this style on <a href="http://www.whereilive.com.au/">Where I Live</a>, and I liked the idea so much I&#8217;m incorporating it into all my <a href="http://signified.com.au/training">web training</a> courses.</p>
<div style="width:425px;text-align:left" id="__ss_640208"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/jinabolton/creatingsexystylesheets-presentation?type=powerpoint" title="Creating Sexy Stylesheets">Creating Sexy Stylesheets</a><br />
    <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=creatingsexystylesheets-1223342675097162-8&#038;stripped_title=creatingsexystylesheets-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=creatingsexystylesheets-1223342675097162-8&#038;stripped_title=creatingsexystylesheets-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/jinabolton/creatingsexystylesheets-presentation?type=powerpoint" title="View Creating Sexy Stylesheets on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/bolton">bolton</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/jina">jina</a>)</div>
</div>
<h2>A Jungle Cruise through the Wild Regions of HTML5 and Surrounding Territories</h2>
<p>By Michael(tm) Smith</p>
<p>This session was a very interesting overview of what is to come in <a href="http://www.w3.org/TR/html5/">HTML5</a>, including (but not limited to):</p>
<ul>
<li>The <a href="http://www.w3.org/TR/html5/the-canvas.html#the-canvas">canvas</a> element for scriptable and interactive images</li>
<li>The <a href="http://www.w3.org/TR/html5/video.html#video">video</a> and <a href="http://www.w3.org/TR/html5/video.html#audio">audio</a> elements used to embed interactive video and audio without the need for third-party plugins such as <a href="http://www.adobe.com/products/flash/">Flash</a></li>
<li>New <a href="http://www.w3.org/TR/html5/tabular.html#forms">form</a> attributes that act to automatically create form widgets such as date choosers without the need for JavaScript</li>
<li>Client-side form validation</li>
<li><a href="http://www.w3.org/TR/html5/offline.html#offline">Offline web applications</a> (like <a href="http://gears.google.com/">Google Gears</a>)</li>
<li>Client-side SQL <a href="http://www.w3.org/TR/html5/structured.html#sql">database storage</a></li>
<li>Native <a href="http://www.w3.org/TR/html5/editing.html#dnd">drag and drop</a> support (no need for JavaScript)</li>
</ul>
<p>This is all very exciting for the web professional. However, despite Smith beginning his presentation with the assertion that these are &quot;HTML5 features that work in browsers <em>now</em>&quot;, these features have virtually no support in modern browsers (apart from <a href="http://www.opera.com/">Opera</a>) and, of course, the shameful reality is that <a href="http://ishtml5readyyet.com/">HTML5 will not be ready until 2022</a>. The outcome of Smith&#8217;s presentation then, although interesting, was slightly redundant.</p>
<div style="width:425px;text-align:left" id="__ss_623925"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/sideshowbarker/html5-at-web-directions-south-2008-presentation?type=powerpoint" title="Michael(tm) Smith: HTML5 at Web Directions South 2008">Michael(tm) Smith: HTML5 at Web Directions South 2008</a><br />
    <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=html5wds2008-1222671679003355-8&#038;stripped_title=html5-at-web-directions-south-2008-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=html5wds2008-1222671679003355-8&#038;stripped_title=html5-at-web-directions-south-2008-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/sideshowbarker/html5-at-web-directions-south-2008-presentation?type=powerpoint" title="View Michael(tm) Smith: HTML5 at Web Directions South 2008 on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/html5">html5</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/wds08">wds08</a>)</div>
</div>
<h2>Interaction design case studies</h2>
<p>By <a href="http://www.deltatangobravo.com/">Daniel Burka</a></p>
<p>Daniel Burka is the creative director at <a href="http://digg.com/">Digg</a>. Burka&#8217;s session concentrated on a case-study involving his re-design of the Digg comments system. Premised mainly upon the concept of <a href="http://en.wikipedia.org/wiki/Desire_lines">desire lines</a> or &#8220;desire paths&#8221;, Burka openly admitted to getting it disastrously wrong the first time and was refreshingly humble in his learnings &#8211; asserting that whilst we can do all sorts of user testing (and did not discount this), but we can never know how a product will be used intil it is released into the wild and &#8220;actually used&#8221;. In essence, these are the &quot;desire paths&quot; your users will create and that you cannot know until they do.</p>
<div style="width:425px;text-align:left" id="__ss_623838"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/dburka/changing-successfully-adapting-your-interface-over-time-presentation?type=powerpoint" title="Changing successfully: Adapting your interface over time">Changing successfully: Adapting your interface over time</a><br />
    <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=wds2008-1222661057481559-8&#038;stripped_title=changing-successfully-adapting-your-interface-over-time-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=wds2008-1222661057481559-8&#038;stripped_title=changing-successfully-adapting-your-interface-over-time-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/dburka/changing-successfully-adapting-your-interface-over-time-presentation?type=powerpoint" title="View Changing successfully: Adapting your interface over time on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/design">design</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/iteration">iteration</a>)</div>
</div>
<h2>Ajax security</h2>
<p>By <a href="http://www.crockford.com/">Douglas Crockford</a></p>
<p>Although entitled &quot;Ajax security&quot;, Crockford&#8217;s presentation took a turn towards the inadequate security model of the current Internet and web-based applications in general. Crockford asserted the current protocols were never designed to host secure and robust applications and prophesised that in the future (maybe sooner rather than later), a new protocol will be required to accommodate the current trend of the web as a platform.</p>
<div style="width:425px;text-align:left" id="__ss_630645"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/webdirections/douglas-crockford-ajax-security-presentation?type=powerpoint" title="Douglas Crockford - Ajax Security">Douglas Crockford &#8211; Ajax Security</a><br />
    <object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=douglascrockford-1222903962429701-9&#038;stripped_title=douglas-crockford-ajax-security-presentation" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=douglascrockford-1222903962429701-9&#038;stripped_title=douglas-crockford-ajax-security-presentation" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View SlideShare <a style="text-decoration:underline;" href="http://www.slideshare.net/webdirections/douglas-crockford-ajax-security-presentation?type=powerpoint" title="View Douglas Crockford - Ajax Security on SlideShare">presentation</a> or <a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint">Upload</a> your own. (tags: <a style="text-decoration:underline;" href="http://slideshare.net/tag/wds08">wds08</a> <a style="text-decoration:underline;" href="http://slideshare.net/tag/javascript">javascript</a>)</div>
</div>
<h2>Closing keynote: This, That, and the Other Thing</h2>
<p>By <a href="http://markpesce.com/">Mark Pesce</a></p>
<p>Pesce took the Web Directions stage more rock star revolutionary than nothing-new nerd. Whilst, as usual, his presentation was an academic discourse that made the brain bleed, the session was balanced by the vision being projected on the massive screens behind the speaker. With <a href="http://www.nin.com/">nine inch nails</a> at full-volume, the screen on the left scrolled maniacally through 1000 of <a href="http://twitter.com/mpesce/friends">Pesce&#8217;s Twitter friends</a> &#8211; displaying their avatar and username at a frantic pace, whilst, developed by <a href="http://themaninblue.com/">The Man in Blue</a> &#8211; <a href="http://themaninblue.com/">Cameron Adams</a> &#8211; specifically for Pesce&#8217;s presentation, (almost) real-time Twitter tweets tagged with <strong>WDS08</strong> would dissolve in and out of one-another whilst Pesce delivered his message.</p>
<p>The message this year is the power of the collective. Nothing new, but when it&#8217;s spoken about with nine inch nails and smoke machines &#8211; it may as well be.</p>
<p>The point in case is <a href="http://www.ratemyprofessors.com/">RateMyProfessors.com</a>.According to Pesce, this site harnesses the power of the collective and, since it&#8217;s inception, has influenced the hiring, firing and celebrity status of many a US academic.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/web-directions-south-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://webdirections.org/podcasts/WD08/WDS08-Jeffrey-Veen.mp3" length="21778979" type="audio/mpeg" />
		</item>
		<item>
		<title>Signified files complaint &#8211; an open letter to the Web community</title>
		<link>http://blog.signified.com.au/signified-files-complaint-an-open-letter-to-the-web-community/</link>
		<comments>http://blog.signified.com.au/signified-files-complaint-an-open-letter-to-the-web-community/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 11:29:55 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://signified.net/signified-files-complaint-an-open-letter-to-the-web-community/</guid>
		<description><![CDATA[Yesterday, HÃ¥kon Wium Lie, Chief Technology Officer for Opera Software released his open letter to the Web community in which he states: Today we have taken a stand. Opera has filed a formal complaint with the European Commission to force &#8230; <a href="http://blog.signified.com.au/signified-files-complaint-an-open-letter-to-the-web-community/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday, <a href="http://en.wikipedia.org/wiki/H%C3%A5kon_Wium_Lie">HÃ¥kon Wium Lie</a>, Chief Technology Officer for <a href="http://www.opera.com/">Opera Software</a> released his <a href="http://people.opera.com/howcome/2007/msft/">open letter to the Web community</a> in which he states:</p>
<blockquote>
<p>Today we have taken a stand. Opera has <a href="http://www.opera.com/pressreleases/en/2007/12/13/">filed a formal complaint</a> with the European Commission to force Microsoft to support open Web standards in its Web browser, Internet Explorer. We believe that Microsoft has harmed Web standards by refusing to support them; Microsoft often participates in creating Web standards, promoting them, and even promising to implement them. Despite their talent, however, they refuse to support Web standards correctly. For example, Internet Explorer is the only modern Web browser that <a href="http://en.wikipedia.org/wiki/Acid2">does not</a> support <a href="http://www.webstandards.org/acid2">Acid2</a>.</p>
</blockquote>
<p>Now, unlike <a href="http://blogs.msdn.com/cwilso/">Chris Wilson</a>, I&#8217;m not employed as a Microsoft apologist. Yes, Internet Explorer is rubbish, if you don&#8217;t like it, don&#8217;t use it, move on! However, I have to take issue with HÃ¥kon when he asserts <q>Internet Explorer is the only modern Web browser that <a href="http://en.wikipedia.org/wiki/Acid2">does not</a> support <a href="http://www.webstandards.org/acid2">Acid2</a>.</q></p>
<p>I&#8217;m writing this post using Firefox version 2.0.0.11 &#8211; A &#8220;modern Web browser&#8221; I would think (It is the latest version!). I also have both Internet Explorer 6 and Opera 9 living in Program Files for just such an occasion.</p>
<p>Let&#8217;s see if the statement holds water. OK Opera 9, put your money where HÃ¥kon&#8217;s mouth is:</p>
<p><img src="http://signified.net/wp-content/uploads/2008/01/acid2-opera9.png" alt="Acid2 in Opera 9" /></p>
<p>Impressive! Just like the <a href="http://www.webstandards.org/files/acid2/reference.html">Acid2 reference rendering</a>.</p>
<p>Next, Let&#8217;s see if HÃ¥kon is on the money when it comes to Internet Explorer 6:</p>
<p><img src="http://signified.net/wp-content/uploads/2008/01/acid2-ie6.png" alt="Acid2 in Internet Explorer 6" /></p>
<p>Ouch! It&#8217;s like a train wreck. It&#8217;s horrible but I can&#8217;t look away.</p>
<p>I must say, HÃ¥kon has certainly earned his money so far. I suppose it&#8217;s just a formality that we get the Firefox 2 rendering out of the way, I mean, It is an ultra-modern standards-compliant web browser and, like HÃ¥kon said, <q>Internet Explorer is the only modern Web browser that <a href="http://en.wikipedia.org/wiki/Acid2">does not</a> support <a href="http://www.webstandards.org/acid2">Acid2</a>.</q> Firefox 2 is gonna shit this in!</p>
<p><img src='http://signified.net/wp-content/uploads/2008/01/acid2-ff2.png' alt='Acid2 in Firefox 2.0.0.11' /></p>
<p><em>Oops!</em></p>
<p>Look out <a href="http://www.mozilla.com/">Mozilla</a>, you&#8217;re about to get hit with an antitrust. The folk at Opera don&#8217;t take kindly to browser manufacturers fucking up their Internet, and I&#8217;m certainly not going to continue my relationship with you if your browser can&#8217;t even display a smiley face properly.</p>
<p>Yes, yes, I know. Acid2 contains an invalid doctype, multiple empty elements and <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.webstandards.org%2Ffiles%2Facid2%2Ftest.html%23top&#038;charset=%28detect+automatically%29&#038;doctype=Inline&#038;group=0">validates</a> only <em>tentatively</em> as HTML 4.01 Strict. Go tell someone who cares.</p>
<p>My point is; Acid2 is not a modern web page and hence should not be used as a benchmark for &#8220;modern web browsers&#8221; &#8211; the likes of which I would not consider Internet Explorer 6 to be a member (if you think a dog year is short, you should live a year in a browser&#8217;s shoes!).</p>
<p>Dobbers wear nappies Opera. We don&#8217;t need you to look after our rights on the web &#8211; especially when it comes to whining about a competitor and leaving you with as much credibility as a Big Brother contestant. How much (anti)trust do you think that stirs up?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/signified-files-complaint-an-open-letter-to-the-web-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Poem Element for HTML5</title>
		<link>http://blog.signified.com.au/a-poem-element-for-html5/</link>
		<comments>http://blog.signified.com.au/a-poem-element-for-html5/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 13:30:46 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://signified.net/a-poem-element-for-html5/</guid>
		<description><![CDATA[A recent post to the HTML WG list by Dr Olaf Hoffmann entitled 'HTML 5' and some poem markup? has got me (and some WG members) all in a huff. Is there hope for the poem online? It appears not. So all you budding web poets better stick to the plain old prose from here on in. <a href="http://blog.signified.com.au/a-poem-element-for-html5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A recent post to the HTML WG list entitled <cite><a href="http://lists.w3.org/Archives/Public/public-html/2007Oct/0048.html">&#8216;HTML 5&#8242; and some poem markup?</a></cite> has got me all in a huff. It was an innocent request by Dr Olaf Hoffmann which started like this:</p>
<blockquote>
<p>What I missed so many years in (X)HTML is some useful markup for poems. The result we can see in the &#8216;real web life&#8217; &#8211; a lot of meaningless tag soup around, disoriented authors lost between silence and semantically meaningless markup&#8230; Obviously poem markup is still not available in &#8216;HTML 5&#8242;. Why not? Can this be added to the &#8216;HTML 5&#8242; draft?</p>
</blockquote>
<p>Dr Hoffmann then goes on to plead his case and suggest such semantic elements as <code>&lt;poem&gt;</code>, <code>&lt;stanza&gt;</code>, and <code>&lt;line&gt;</code>.</p>
<p>There were some  interesting responses:</p>
<ul>
<li>There&#8217;s <code>&lt;p&gt;</code> for each stanza and <code>&lt;br&gt;</code> for separating lines.</li>
<li>Are there use case where software that consumes markup would benefit from poem-specific semantics?</li>
<li>How would they [search engines] be helped by poem-specific semantics?</li>
<li>Do I understand you correctly that you want to include markup for a specific domain (poetry) in HTML5?</li>
<li>A markup language should probably include as little as possible from specific domains and focus on the general things instead. Domain specifics should be handled via an extension mechanism that allows for unambiguous interpretation of the expressed information</li>
<li>HTML5 actually defines how to mark up poems in HTML (the word &quot;poem&quot; is in the spec half a dozen times, in fact!). Specifically: the stanzas of poems written in the classical form are given by <code>&lt;p&gt;</code> elements, with line breaks indicated by <code>&lt;br&gt;</code> elements (one of the few allowed uses of <code>&lt;br&gt;</code>).</li>
<li>the stanzas of freeform poems are given by <code>&lt;pre&gt;</code> elements.</li>
</ul>
<p>The gist of the thread was this; There is no &lt;poem&gt; element and there never will be. If you want to mark up a poem semantically then you have one of three options available to you:</p>
<ol>
<li>Use a <code>&lt;p&gt;</code> element which is as much a poem as <code>&lt;b&gt;</code> or <code>&lt;strong&gt;</code> is a heading</li>
<li>Create your own &quot;proprietary&quot; markup (<code>&lt;poem&gt;</code>, <code>&lt;stanza&gt;</code>, and <code>&lt;line&gt;</code>) so you can join the same exclusive club as <code>&lt;blink&gt;</code> and <code>&lt;marquee&gt;</code></li>
<li>Stop reading poetry</li>
</ol>
<p>The simple and unfortunate fact is this: you cannot mark up a poem (and a great many other pieces of information) in (X)HTML. You can make a piece of text &quot;look&quot; like a poem with a few <code>&lt;p&gt;</code> and <code>&lt;br&gt;</code> elements (just as you can make a piece of text &quot;look&quot; like a heading with a <code>&lt;strong&gt;</code> element), but it <strong>IS NOT</strong> and <strong>WILL NEVER BE</strong> a poem.</p>
<p>Sorry Dr Hoffmann. Maybe we should all stick to prose.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/a-poem-element-for-html5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Become a Web Developer and Make Lots of Money</title>
		<link>http://blog.signified.com.au/how-to-become-a-web-developer-and-make-lots-of-money/</link>
		<comments>http://blog.signified.com.au/how-to-become-a-web-developer-and-make-lots-of-money/#comments</comments>
		<pubDate>Wed, 01 Aug 2007 08:16:00 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://signified.net/how-to-become-a-web-developer-and-make-lots-of-money/</guid>
		<description><![CDATA[Over the recent days I've been asked to speak with a few new starters where I work. As budding (and not-so-budding) web developers, they're eager to latch onto the next big thing and blog about it in order to appear cool (oops!). So, in order to stop repeating myself and free up more time for shameless self-promotion, read on if you want to become a web developer and make lots of money. <a href="http://blog.signified.com.au/how-to-become-a-web-developer-and-make-lots-of-money/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Over the recent days I&#8217;ve been asked to speak with a few new starters where I work. As budding (and not-so-budding) web developers, they&#8217;re eager to latch onto the next big thing and blog about it in order to appear cool (oops!). So, in order to stop repeating myself and free up more time for shameless self-promotion, read on if you want to become a web developer and make lots of money.</p>
<p>The hot topics are:</p>
<ul>
<li><a href="#training">Training</a></li>
<li><a href="#xhtml-and-css"><acronym title="eXtensible Hypertext Markup Language">XHTML</acronym> and <acronym title="Cascading Style Sheets">CSS</acronym></a></li>
<li><a href="#javaScript-and-the-dom">JavaScript and the <acronym title="Document Object Model">DOM</acronym></a></li>
<li><a href="#web-standards">Web Standards</a></li>
<li><a href="#open-apis">Open <acronym title="Application Programming Interface">API</acronym>s</a></li>
<li><a href="#google-maps">Google Maps</a></li>
<li><a href="#content-management-systems">Content Management Systems (<acronym title="Content Management System">CMS</acronym>)</a></li>
<li><a href="#search-engine-optimisation">Search Engine Optimisation (<acronym title="Search Engine Optimisation">SEO</acronym>)</a></li>
<li><a href="#development-environments">Development Environments</a></li>
<li><a href="#development-frameworks">Development Frameworks</a></li>
<li><a href="#coding-standards">Coding Standards</a></li>
<li><a href="#version-control">Version Control</a></li>
<li><a href="#documentation">Documentation</a></li>
</ul>
<h2 id="training">Training</h2>
<p>First, you&#8217;ll need some top-quality, number 1 training. And for this, you need look no further than Signified. Signified offers training courses in web technologies offered through <a href="http://www.learn4life.unsw.edu.au/" rel="nofollow">Learn4Life</a> at <a href="http://www.unsw.edu.au/"  rel="nofollow">The University of New South Wales</a>, Sydney, Australia. All Signified training courses are delivered by <a href="/author/robert-love/">Robert Love</a>, a highly experienced trainer and founder of Signified. All Signified training courses are held in fully-equipped, state-of-the-art, computer labs at <a href="http://www.unsw.edu.au/" rel="nofollow">The University of New South Wales</a>.</p>
<h2 id="xhtml-and-css"><acronym title="eXtensible Hypertext Markup Language">XHTML</acronym> and <acronym title="Cascading Style Sheets">CSS</acronym></h2>
<p>You&#8217;ve completed the <a href="http://signified.net/training/building-websites-using-xhtml-and-css/">course</a> and you&#8217;ve read both the <a rel="nofollow" href="http://xhtml.com/en/xhtml/reference/"><acronym title="eXtensible Hypertext Markup Language">XHTML</acronym> reference</a> and the <a rel="nofollow" href="http://xhtml.com/en/css/reference/"><acronym title="Cascading Style Sheets">CSS</acronym> reference</a> from cover to cover, now you really want to see what is possible when <acronym title="eXtensible Hypertext Markup Language">XHTML</acronym> meets <acronym title="Cascading Style Sheets">CSS</acronym>. It&#8217;s an oldy but a goldy &#8211; the one-and-only:</p>
<p><a rel="nofollow" href="http://www.csszengarden.com/">css Zen Garden: The Beauty in <acronym title="Cascading Style Sheets">CSS</acronym> Design</a></p>
<h2 id="javaScript-and-the-dom">JavaScript and the <acronym title="Document Object Model">DOM</acronym></h2>
<p>You&#8217;ve completed the <a href="http://signified.net/training/web-design-with-javascript-and-the-dom/">course</a> and read the <a rel="nofollow" href="http://developer.mozilla.org/en/docs/JavaScript">JavaScript reference</a>, you&#8217;re following the zen path of <a rel="nofollow" href="http://onlinetools.org/articles/unobtrusivejavascript/">unobtrusiveness</a>, now you&#8217;re ready to forget everything you learned and start using someone else&#8217;s JavaScript framework:</p>
<ul>
<li><a rel="nofollow" href="http://dojotoolkit.org/">The Dojo Toolkit</a></li>
<li><a rel="nofollow" href="http://www.robertnyman.com/domassistant/">DOM Assistant</a></li>
<li><a rel="nofollow" href="http://jquery.com/">jQuery</a></li>
<li><a rel="nofollow" href="http://mootools.net/">mootools</a></li>
<li><a rel="nofollow" href="http://www.prototypejs.org/">Prototype JavaScript framework</a></li>
<li><a rel="nofollow" href="http://openrico.org/">Rico</a></li>
<li><a rel="nofollow" href="http://script.aculo.us/">script.aculo.us</a></li>
<li><a rel="nofollow" href="http://developer.yahoo.com/yui/">The Yahoo! User Interface Library (YUI)</a></li>
</ul>
<h2 id="web-standards">Web Standards</h2>
<ul>
<li>Read the hype:<br /><a rel="nofollow" href="http://www.webstandards.org/">Web Standards Project</a></li>
<li>Join the club:<br /><a rel="nofollow" href="http://webstandardsgroup.org/">Web Standards Group</a></li>
</ul>
<h2 id="open-apis">Open <acronym title="Application Programming Interface">API</acronym>s</h2>
<p>It&#8217;s cool to use the acronym &#8220;<acronym title="Application Programming Interface">API</acronym>&#8221; in a sentence. In much the same way as it used to be cool to say &#8220;web services&#8221; every time you opened your mouth. Of course, acronyms are far cooler than actual words &#8211; even if the acronym is a word (<acronym title="Representational State Transfer">REST</acronym>, <acronym title="Simple Object Access Protocol">SOAP</acronym>), a cleaning product (<acronym title="Asynchronous Javascript and XML">AJAX</acronym>) or a mispelled boys name (<acronym title="JavaScript Object Notation">JSON</acronym>).</p>
<ul>
<li><a rel="nofollow" href="http://www.flickr.com/services/">Flickr Services</a><br />Flickr has an open <a rel="nofollow" href="http://en.wikipedia.org/wiki/API">Application Programming Interface</a> (<acronym title="Application Programming Interface">API</acronym> for short). This means that <em>anyone</em> can write their own program to present public Flickr data (like photos, tags, profiles or groups) in new and different ways. There&#8217;s a long list of <a rel="nofollow" href="http://www.flickr.com/services/api/"><acronym title="Application Programming Interface">API</acronym> methods available to you to work with</a>, and we love it when this happens, so&#8230; <strong>go forth and play!</strong></li>
<li><a rel="nofollow" href="http://code.google.com/">Google <acronym title="Application Programming Interface">API</acronym>s</a></li>
<li><a rel="nofollow" href="http://www.youtube.com/dev">YouTube Developer Area</a><br />YouTube offers open access to key parts of the YouTube video repository and user community, via an open <acronym title="Application Programming Interface">API</acronym> interface and RSS feeds. Using our <acronym title="Application Programming Interface">API</acronym>s, you can easily integrate online videos from YouTube&#8217;s rapidly growing repository of videos into your application. After you&#8217;ve created a developer profile, you&#8217;ll be ready to tap into the power of YouTube.</li>
</ul>
<h2 id="google-maps">Google Maps</h2>
<p>If you&#8217;re not using maps &#8211; you&#8217;re nowhere man! Get started with the Google Maps <acronym title="Application Programming Interface">API</acronym> (and other useful mappy stuff) here:</p>
<ul>
<li><a rel="nofollow" href="http://www.google.com/apis/maps/">Google Maps <acronym title="Application Programming Interface">API</acronym></a></li>
<li><a rel="nofollow" href="http://www.google.com/apis/maps/documentation/">Google Maps <acronym title="Application Programming Interface">API</acronym> Concepts</a></li>
<li><a rel="nofollow" href="http://www.econym.demon.co.uk/googlemaps/">Google Maps <acronym title="Application Programming Interface">API</acronym> Tutorial</a></li>
<li><a rel="nofollow" href="http://www.travelgis.com/geocode/">Free Geocoding</a></li>
</ul>
<h2 id="content-management-systems">Content Management Systems (<acronym title="Content Management System">CMS</acronym>)</h2>
<p>If God had wanted us to pay for content management, he wouldn&#8217;t have started <a rel="nofollow" href="http://www.opensourcecms.com/">Open Source CMS</a> (Try before you install!). Here&#8217;s a few of some note:</p>
<ul>
<li><a rel="nofollow" href="http://drupal.org/">Drupal</a></li>
<li><a rel="nofollow" href="http://ez.no/">eZ Publish</a></li>
<li><a rel="nofollow" href="http://www.joomla.org/">Joomla!</a></li>
<li><a rel="nofollow" href="http://www.mamboserver.com/">Mambo</a></li>
<li><a rel="nofollow" href="http://wordpress.org/">WordPress</a></li>
</ul>
<h2 id="search-engine-optimisation">Search Engine Optimisation (<acronym title="Search Engine Optimisation">SEO</acronym>)</h2>
<p>Smoke and mirrors! Don&#8217;t blow your allowance on an <acronym title="Search Engine Optimisation">SEO</acronym> &#8220;expert.&#8221; If you have this:</p>
<p><code>http://www.example.com/products.php?cat_id=5&amp;prod_id=72</code></p>
<p>Use Apache Mod Rewrite to change it to this:</p>
<p><code>http://www.example.com/products/widgets/noodle+spranger/</code></p>
<h2 id="development-environments">Development Environments</h2>
<p>Now you have the know-how, it&#8217;s time to put it all into practice. To start, you&#8217;ll need a local development environment. I&#8217;m an open-source advocate (except for my laptop which is provided to me by work &#8211; so don&#8217;t give me shit about using Windows!). So, to set up a local Windows/Apache/<a rel="nofollow" href="http://www.mysql.com/">MySQL</a>/<acronym title="Hypertext Preprocessor"><a rel="nofollow" href="http://www.php.net/">PHP</a></acronym> (<acronym title="Windows, Apache, MySQL, Perl, Python, PHP, etc...">WAMP</acronym>) development environment, check out <a href="http://signified.net/installing-apache-mysql-and-php-on-windows/">Installing Apache, MySQL and PHP on Windows</a>.</p>
<h2 id="development-frameworks">Development Frameworks</h2>
<p>If we&#8217;re talking <acronym title="Hypertext Preprocessor"><a rel="nofollow" href="http://www.php.net/">PHP</a></acronym> &#8211; we&#8217;re eating <a rel="nofollow" href="http://www.cakephp.org/">Cake</a>.</p>
<h2 id="coding-standards">Coding Standards</h2>
<p>If we&#8217;re talking <acronym title="Hypertext Preprocessor"><a rel="nofollow" href="http://www.php.net/">PHP</a></acronym> &#8211; we&#8217;re eating <a rel="nofollow" href="http://www.go-pear.org/manual/en/standards.php">PEAR</a>.</p>
<h2 id="version-control">Version Control</h2>
<p>Make sure you&#8217;re working on the right <a rel="nofollow" href="http://subversion.tigris.org/">Subversion</a>.</p>
<h2 id="documentation">Documentation</h2>
<p><a rel="nofollow" href="http://www.phpdoc.org/">phpDocumentor</a>: The complete documentation solution for <acronym title="Hypertext Preprocessor"><a rel="nofollow" href="http://www.php.net/">PHP</a></acronym></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/how-to-become-a-web-developer-and-make-lots-of-money/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Running Multiple Websites on Apache</title>
		<link>http://blog.signified.com.au/running-multiple-websites-on-apache/</link>
		<comments>http://blog.signified.com.au/running-multiple-websites-on-apache/#comments</comments>
		<pubDate>Sun, 01 Jul 2007 08:16:00 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Apache]]></category>

		<guid isPermaLink="false">http://signified.net/running-multiple-websites-on-apache/</guid>
		<description><![CDATA[You've been creating websites on your Apache installation on Windows - making a sub-directory for each site you want to design/develop. But wouldn't it be good if you could run multiple websites on a single Apache installation - changing http://localhost/mynewsite1/, http://localhost/mynewsite2/, etc. to http://mynewsite1/, http://mynewsite2/, etc. Well you can! - with Apache Virtual Hosts. This article will show you how to run as many websites (or Virtual Hosts) as you like on your Apache installation on Windows by making a few simple additions to your Apache configuration file and your Windows hosts file. <a href="http://blog.signified.com.au/running-multiple-websites-on-apache/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve been creating websites on your Apache installation on Windows &#8211; making a sub-directory for each site you want to design/develop. But wouldn&#8217;t it be good if you could run multiple websites on a single Apache installation &#8211; changing http://localhost/mynewsite1/, http://localhost/mynewsite2/, etc. to http://mynewsite1/, http://mynewsite2/, etc. Well you can! &#8211; with Apache Virtual Hosts. This article will show you how to run as many websites (or Virtual Hosts) as you like on your Apache installation on Windows by making a few simple additions to your Apache configuration file and your Windows hosts file.</p>
<h2>What We&#8217;ll Assume</h2>
<ul>
<li>You have a working installation of Apache 2.2.4 on Windows (if not, take a look at <a href="/installing-apache-mysql-and-php-on-windows/" rel="nofollow">Installing Apache, MySQL and PHP on Windows</a>).</li>
<li>Your Apache DocumentRoot &#8211; where your local website files are &#8211; is in the default location of C:\Program Files\Apache Software Foundation\Apache2.2\htdocs (if not, simply replace all occurrences of C:/Program Files/Apache Software Foundation/Apache2.2/htdocs with whatever your DocumentRoot is &#8211; e.g. C:\www). </li>
</ul>
<h2>Let&#8217;s Get On With It</h2>
<ol>
<li>
<p>Create a new folder C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\mynewsite</p>
</li>
<li>
<p>Go to Start &gt; Programs &gt; Apache HTTP Server 2.2.4 &gt; Configure Apache Server &gt; Edit the Apache httpd.conf Configuration File</p>
<p>The Apache configuration file opens (httpd.conf)</p>
</li>
<li>
<p>Add this line at the very bottom of the file:</p>
<pre>NameVirtualHost localhost</pre>
<p>Apache will now allow multiple Virtual Hosts to run under <a href="http://localhost/" rel="nofollow">localhost</a></p>
</li>
<li>
<p>Directly under the last line you added in httpd.conf, add the following VirtualHost directive:</p>
<pre>&lt;VirtualHost localhost&gt;
    DocumentRoot &quot;C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/mynewsite&quot;
    ServerName mynewsite
&lt;/VirtualHost&gt;</pre>
</li>
<li>
<p>Save and close httpd.conf</p>
</li>
<li>
<p>Open C:\WINDOWS\system32\drivers\etc\hosts in Notepad</p>
<p>Your Windows hosts file opens</p>
</li>
<li>
<p>You should see this line somewhere in the file:</p>
<pre>127.0.0.1	localhost</pre>
</li>
<li>
<p>Directly below this line, add the following:</p>
<pre>127.0.0.1	mynewsite</pre>
</li>
<li>Save and close hosts</li>
<li>Go to Start &gt; Programs &gt; Apache HTTP Server 2.2.4 &gt; Control Apache Server &gt; Restart</li>
<li>Open mynewsite in your web browser (<a href="http://mynewsite/" rel="nofollow">http://mynewsite/</a>)</li>
<li>If all went well, your browser will show a page with <strong>Index of /</strong></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/running-multiple-websites-on-apache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing Apache, MySQL and PHP on Windows</title>
		<link>http://blog.signified.com.au/installing-apache-mysql-and-php-on-windows/</link>
		<comments>http://blog.signified.com.au/installing-apache-mysql-and-php-on-windows/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 08:16:00 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This is it! The definitive guide to installing and configuring Apache 2.2.4, MySQL 5.0.27 and PHP 5.2.1 on Microsoft Windows XP (SP2) with support for both MySQL and MySQLi PHP extensions. And, yes, if you follow these instructions to the letter, the software will actually work! <a href="http://blog.signified.com.au/installing-apache-mysql-and-php-on-windows/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is it! The definitive guide to installing and configuring Apache 2.2.4, MySQL 5.0.27 and PHP 5.2.1 on Microsoft Windows XP (SP2) with support for both MySQL and MySQLi PHP extensions.</p>
<p>And, yes, if you follow these instructions to the letter, the software will actually work!</p>
<p>Before getting started with the installations, you&#8217;ll need to download the required software packages &#8211; all of which are conveniently listed in the following table.</p>
<table>
<tr>
<th>Where</th>
<th>What</th>
<th>What Exactly</th>
</tr>
<tr>
<td><a rel="nofollow" href="http://httpd.apache.org/download.cgi">Apache 2.2.4</a></td>
<td>Win32 Binary (MSI Installer)</td>
<td>apache_2.2.4-win32-x86-no_ssl.msi</td>
</tr>
<tr>
<td><a rel="nofollow" href="http://dev.mysql.com/downloads/mysql/5.0.html">MySQL 5.0.27</a></td>
<td>Windows Essentials (x86)</td>
<td>mysql-essential-5.0.27-win32.msi</td>
</tr>
<tr>
<td><a rel="nofollow" href="http://www.php.net/downloads.php">PHP 5.2.1</a></td>
<td>PHP 5.2.1 zip package</td>
<td>php-5.2.1-Win32.zip</td>
</tr>
</table>
<h2>Installing Apache</h2>
<ol>
<li>
<p>Double-click <strong>apache_2.2.4-win32-x86-no_ssl.msi</strong></p>
<p>The <strong>Apache HTTP Server 2.2 &#8211; Installation Wizard</strong> appears with <strong>Welcome to the Installation Wizard for Apache HTTP Server 2.2.4</strong></p>
<p><a href="/wp-content/uploads/apache224-install-1.png" title="Welcome to the Installation Wizard for Apache HTTP Server 2.2.4" rel="lightbox"><img src="/wp-content/uploads/apache224-install-1.thumbnail.png" alt="Welcome to the Installation Wizard for Apache HTTP Server 2.2.4" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>License Agreement</strong></p>
<p>Ensure &#8220;I accept the terms in the license agreement&#8221; is selected</p>
<p><a href="/wp-content/uploads/apache224-install-2.png" title="License Agreement" rel="lightbox"><img src="/wp-content/uploads/apache224-install-2.thumbnail.png" alt="License Agreement" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Read This First</strong></p>
<p><a href="/wp-content/uploads/apache224-install-3.png" title="Read This First" rel="lightbox"><img src="/wp-content/uploads/apache224-install-3.thumbnail.png" alt="Read This First" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Server Information</strong></p>
<p>Enter the following details:</p>
<p>Network Domain: localhost</p>
<p>Server Domain: localhost</p>
<p>Administrators Email Address: admin@localhost</p>
<p>Ensure &#8220;for All Users, on Port 80, as a Service &#8212; Recommended&#8221; is selected</p>
<p><a href="/wp-content/uploads/apache224-install-4.png" title="Server Information" rel="lightbox"><img src="/wp-content/uploads/apache224-install-4.thumbnail.png" alt="Server Information" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Setup Type</strong></p>
<p>Ensure &#8220;Typical&#8221; is selected</p>
<p><a href="/wp-content/uploads/apache224-install-5.png" title="Setup Type" rel="lightbox"><img src="/wp-content/uploads/apache224-install-5.thumbnail.png" alt="Setup Type" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Destination Folder</strong></p>
<p>Accept the default destination folder (C:\Program Files\Apache Software Foundation\Apache2.2\)</p>
<p><a href="/wp-content/uploads/apache224-install-6.png" title="Destination Folder" rel="lightbox"><img src="/wp-content/uploads/apache224-install-6.thumbnail.png" alt="Destination Folder" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Ready to Install the Program</strong></p>
<p><a href="/wp-content/uploads/apache224-install-7.png" title="Ready to Install the Program" rel="lightbox"><img src="/wp-content/uploads/apache224-install-7.thumbnail.png" alt="Ready to Install the Program" /></a></p>
<p>Click Install</p>
</li>
<li>
<p><strong>Installing Apache HTTP Server 2.2.4</strong></p>
<p><a href="/wp-content/uploads/apache224-install-8.png" title="Installing Apache HTTP Server 2.2.4" rel="lightbox"><img src="/wp-content/uploads/apache224-install-8.thumbnail.png" alt="Installing Apache HTTP Server 2.2.4" /></a></p>
<p>Wait while the Installation Wizard installs Apache</p>
</li>
<li>
<p><strong>Installation Wizard Completed</strong></p>
<p><a href="/wp-content/uploads/apache224-install-9.png" title="Installation Wizard Completed" rel="lightbox"><img src="/wp-content/uploads/apache224-install-9.thumbnail.png" alt="Installation Wizard Completed" /></a></p>
<p>Click Finish</p>
</li>
</ol>
<h2>Testing Your Apache Installation</h2>
<p>In your web browser, go to <a rel="nofollow" href="http://localhost/">http://localhost/</a>. If Apache has been installed successfully, you will see the words <strong>&#8220;It works!&#8221;</strong></p>
<p><a href="/wp-content/uploads/apache224-install-10.png" title="It works!" rel="lightbox"><img src="/wp-content/uploads/apache224-install-10.thumbnail.png" alt="It works!" /></a></p>
<p>The &#8220;It works!&#8221; web page &#8211; index.html &#8211; is located in the root directory of your Apache installation. The root directory can be found here:</p>
<p>C:\Program Files\Apache Software Foundation\Apache2.2\htdocs</p>
<p><a href="/wp-content/uploads/apache224-install-11.png" title="Root directory of your Apache installation" rel="lightbox"><img src="/wp-content/uploads/apache224-install-11.thumbnail.png" alt="Root directory of your Apache installation" /></a></p>
<h2>Installing MySQL</h2>
<ol>
<li>
<p>Double-click mysql-essential-5.0.27-win32.msi</p>
<p>The <strong>MySQL Server 5.0 &#8211; Setup Wizard</strong> appears with <strong>Welcome to the Setup Wizard for MySQL Server 5.0</strong></p>
<p><a href="/wp-content/uploads/mysql5027-install-1.png" title="Welcome to the Setup Wizard for MySQL Server 5.0" rel="lightbox"><img src="/wp-content/uploads/mysql5027-install-1.thumbnail.png" alt="Welcome to the Setup Wizard for MySQL Server 5.0" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Setup Type</strong></p>
<p>Ensure &#8220;Typical&#8221; is selected</p>
<p><a href="/wp-content/uploads/mysql5027-install-2.png" title="Setup Type" rel="lightbox"><img src="/wp-content/uploads/mysql5027-install-2.thumbnail.png" alt="Setup Type" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Ready to Install the Program</strong></p>
<p><a href="/wp-content/uploads/mysql5027-install-3.png" title="Ready to Install the Program" rel="lightbox"><img src="/wp-content/uploads/mysql5027-install-3.thumbnail.png" alt="Ready to Install the Program" /></a></p>
<p>Click Install</p>
</li>
<li>
<p><strong>Installing MySQL Server 5.0</strong></p>
<p><a href="/wp-content/uploads/mysql5027-install-4.png" title="Installing MySQL Server 5.0" rel="lightbox"><img src="/wp-content/uploads/mysql5027-install-4.thumbnail.png" alt="Installing MySQL Server 5.0" /></a></p>
<p>Wait while the Setup Wizard installs MySQL</p>
</li>
<li>
<p><strong>MySQL.com Sign-Up</strong></p>
<p>Ensure &#8220;Skip Sign-Up&#8221; is selected</p>
<p><a href="/wp-content/uploads/mysql5027-install-5.png" title="MySQL.com Sign-Up" rel="lightbox"><img src="/wp-content/uploads/mysql5027-install-5.thumbnail.png" alt="MySQL.com Sign-Up" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Wizard Completed</strong></p>
<p>Ensure &#8220;Configure the MySQL Server now&#8221; is checked</p>
<p><a href="/wp-content/uploads/mysql5027-install-6.png" title="Wizard Completed" rel="lightbox"><img src="/wp-content/uploads/mysql5027-install-6.thumbnail.png" alt="Wizard Completed" /></a></p>
<p>Click Finish</p>
</li>
<li>
<p>The <strong>MySQL Server Instance Configuration Wizard</strong> appears with <strong>Welcome to the MySQL Server Instance Configuration Wizard 1.0.8</strong></p>
<p><a href="/wp-content/uploads/mysql5027-config-1.png" title="Welcome to the MySQL Server Instance Configuration Wizard 1.0.8" rel="lightbox"><img src="/wp-content/uploads/mysql5027-config-1.thumbnail.png" alt="Welcome to the MySQL Server Instance Configuration Wizard 1.0.8" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Please select a configuration type</strong></p>
<p>Ensure &#8220;Standard Configuration&#8221; is selected</p>
<p><a href="/wp-content/uploads/mysql5027-config-2.png" title="Please select a configuration type" rel="lightbox"><img src="/wp-content/uploads/mysql5027-config-2.thumbnail.png" alt="Please select a configuration type" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Please set the Windows options</strong></p>
<p>Ensure &#8220;Install as a Windows Service&#8221; is checked</p>
<p>Ensure &#8220;MySQL&#8221; is selected for Service Name</p>
<p>Ensure &#8220;Launch the MySQL Server automatically&#8221; is checked</p>
<p>Ensure &#8220;Include Bin Directory in Windows PATH&#8221; is checked</p>
<p><a href="/wp-content/uploads/mysql5027-config-3.png" title="Please set the Windows options" rel="lightbox"><img src="/wp-content/uploads/mysql5027-config-3.thumbnail.png" alt="Please set the Windows options" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Please set the security options</strong></p>
<p>Enter and Confirm (retype) your password</p>
<p><a href="/wp-content/uploads/mysql5027-config-4.png" title="Please set the security options" rel="lightbox"><img src="/wp-content/uploads/mysql5027-config-4.thumbnail.png" alt="Please set the security options" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Ready to execute &#8230;</strong></p>
<p><a href="/wp-content/uploads/mysql5027-config-5.png" title="Ready to execute" rel="lightbox"><img src="/wp-content/uploads/mysql5027-config-5.thumbnail.png" alt="Ready to execute" /></a></p>
<p>Click Execute</p>
</li>
<li>
<p><strong>Processing configuration &#8230;</strong></p>
<p><a href="/wp-content/uploads/mysql5027-config-6.png" title="Processing configuration" rel="lightbox"><img src="/wp-content/uploads/mysql5027-config-6.thumbnail.png" alt="Processing configuration" /></a></p>
<p>Wait while the Server Instance Configuration Wizard configures MySQL</p>
<p>Click Finish</p>
</li>
</ol>
<h3>Connection Error</h3>
<p>In some cases (usually when MySQL is being installed over a previous version), the MySQL Server Instance Configuration Wizard will give a <strong>Connection Error</strong> that looks something like this:</p>
<p><a href="/wp-content/uploads/2007/04/mysql5027-install-7.png" title="Connection Error" rel="lightbox"><img src="/wp-content/uploads/2007/04/mysql5027-install-7.thumbnail.png" alt="Connection Error" /></a></p>
<p>If this happens to you:</p>
<ol>
<li>
<p>Go to Start &gt; Programs &gt; MySQL &gt; MySQL Server 5.0 &gt; MySQL Server Instance Config Wizard</p>
<p>The MySQL Server Instance Configuration Wizard appears</p>
<p><a href="/wp-content/uploads/2007/04/mysql5027-install-8.png" title="MySQL Server Instance Configuration Wizard" rel="lightbox"><img src="/wp-content/uploads/2007/04/mysql5027-install-8.thumbnail.png" alt="MySQL Server Instance Configuration Wizard" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Please choose a maintenance option</strong></p>
<p>Ensure &#8220;Reconfigure Instance&#8221; is selected</p>
<p><a href="/wp-content/uploads/2007/04/mysql5027-install-9.png" title="Please choose a maintenance option" rel="lightbox"><img src="/wp-content/uploads/2007/04/mysql5027-install-9.thumbnail.png" alt="Please choose a maintenance option" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Please select a configuration type</strong></p>
<p>Ensure &#8220;Standard Configuration&#8221; is selected</p>
<p><a href="/wp-content/uploads/2007/04/mysql5027-install-10.png" title="Please select a configuration type" rel="lightbox"><img src="/wp-content/uploads/2007/04/mysql5027-install-10.thumbnail.png" alt="Please select a configuration type" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Please set the Windows options</strong></p>
<p>Ensure &#8220;Include Bin Directory in Windows PATH&#8221; is selected</p>
<p><a href="/wp-content/uploads/2007/04/mysql5027-install-11.png" title="Please set the Windows options" rel="lightbox"><img src="/wp-content/uploads/2007/04/mysql5027-install-11.thumbnail.png" alt="Please set the Windows options" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Please set the security options</strong></p>
<p>Ensure &#8220;Modify Security Settings&#8221; is checked</p>
<p>Enter and Confirm (retype) your password</p>
<p><a href="/wp-content/uploads/2007/04/mysql5027-install-12.png" title="Please set the security options" rel="lightbox"><img src="/wp-content/uploads/2007/04/mysql5027-install-12.thumbnail.png" alt="Please set the security options" /></a></p>
<p>Click Next</p>
</li>
<li>
<p><strong>Ready to execute</strong></p>
<p><a href="/wp-content/uploads/2007/04/mysql5027-install-13.png" title="Ready to execute" rel="lightbox"><img src="/wp-content/uploads/2007/04/mysql5027-install-13.thumbnail.png" alt="Ready to execute" /></a></p>
<p>Click Execute</p>
</li>
<li>
<p><strong>Processing configuration &#8230;</strong></p>
<p><a href="/wp-content/uploads/2007/04/mysql5027-install-14.png" title="Processing configuration ..." rel="lightbox"><img src="/wp-content/uploads/2007/04/mysql5027-install-14.thumbnail.png" alt="Processing configuration ..." /></a></p>
<p>Wait while the MySQL Server Instance Configuration Wizard reconfigures MySQL</p>
<p>Click Finish</p>
</li>
</ol>
<h2>Testing Your MySQL Installation</h2>
<ol>
<li>
<p>Go to Start &gt; Programs &gt; MySQL &gt; MySQL Server 5.0 &gt; MySQL Command Line Client</p>
<p>The MySQL Command Line Client appears with a prompt to Enter Password</p>
</li>
<li>
<p>Enter the password you specified during the installation</p>
<p>Press Enter</p>
</li>
<li>
<p>The MySQL Command Line Client will connect to the MySQL Server and produce the following welcome message and mysql prompt:</p>
<pre>Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 5.0.27-community-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql&gt;</pre>
</li>
</ol>
<h2>Installing PHP</h2>
<ol>
<li>Create a new folder C:\php</li>
<li>Copy the contents of php-5.2.1-Win32.zip to C:\php</li>
<li>On your desktop, right-click My Computer and select Properties</li>
<li>
<p>In the System Properties dialogue box select the Advanced tab</p>
<p><a href="/wp-content/uploads/php521-install-1.png" title="System Properties dialogue box" rel="lightbox"><img src="/wp-content/uploads/php521-install-1.thumbnail.png" alt="System Properties dialogue box" /></a></p>
</li>
<li>Click the Environment Variables button</li>
<li>
<p>In the Environment Variables dialogue box under System variables select Path</p>
<p><a href="/wp-content/uploads/php521-install-2.png" title="Environment Variables dialogue box" rel="lightbox"><img src="/wp-content/uploads/php521-install-2.thumbnail.png" alt="Environment Variables dialogue box" /></a></p>
</li>
<li>Click the Edit button</li>
<li>
<p>In the Edit System Variable dialogue box add C:\php to the Variable value field</p>
<p><a href="/wp-content/uploads/php521-install-3.png" title="Edit System Variable dialogue box" rel="lightbox"><img src="/wp-content/uploads/php521-install-3.thumbnail.png" alt="Edit System Variable dialogue box" /></a></p>
</li>
<li>Click the OK button for all open dialogue boxes</li>
</ol>
<h2>Configuring PHP</h2>
<ol>
<li>In C:\php, copy the file <strong>php.ini-recommended</strong></li>
<li>Rename the <strong>Copy of php.ini-recommended</strong> to <strong>php.ini</strong></li>
<li>Open php.ini in Notepad</li>
<li>
<p>In php.ini, find this line:</p>
<pre>display_errors = Off</pre>
<p>and enable the display of errors by changing the value to &#8220;On&#8221;:</p>
<pre>display_errors = On</pre>
<p><strong>Note:</strong> You wouldn&#8217;t do this in a production environment &#8211; this is just for testing and development!</p>
</li>
<li>
<p>In php.ini, find this line:</p>
<pre>extension_dir = "./"</pre>
<p>and specify the directory in which the loadable extensions (modules) reside by changing the value to &#8220;ext&#8221;:</p>
<pre>extension_dir = "ext"</pre>
</li>
<li>
<p>In php.ini, find these lines:</p>
<pre>;extension=php_mysql.dll
;extension=php_mysqli.dll</pre>
<p>and enable both the MySQL and MySQLi extensions by uncommenting the lines:</p>
<pre>extension=php_mysql.dll
extension=php_mysqli.dll</pre>
</li>
<li>
<p>In Windows Explorer, copy the following dll files:</p>
<p><strong>C:\php\libmysql.dll</strong></p>
<p><strong>C:\php\ext\php_mysql.dll</strong></p>
<p><strong>C:\php\ext\php_mysqli.dll</strong></p>
</li>
<li>
<p>Paste the dll files to <strong>C:\WINDOWS\system32</strong></p>
<p><strong>Note:</strong> Most installations don&#8217;t require you to copy libmysql.dll to system32, but some do. So it&#8217;s better to be safe than sorry!</p>
</li>
<li>
<p>Go to Start &gt; Programs &gt; Apache HTTP Server 2.2.4 &gt; Configure Apache Server &gt; Edit the Apache httpd.conf Configuration File</p>
<p>The Apache configuration file opens (httpd.conf)</p>
</li>
<li>
<p>Add the following three lines at the end of the file:</p>
<pre>LoadModule php5_module "C:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php"</pre>
</li>
<li>
<p>In httpd.conf, find this directive:</p>
<pre>&lt;IfModule dir_module&gt;
    DirectoryIndex index.html
&lt;/IfModule&gt;</pre>
<p>Add index.php as a directory index:</p>
<pre>&lt;IfModule dir_module&gt;
    DirectoryIndex index.php index.html
&lt;/IfModule&gt;</pre>
</li>
<li>Save and close httpd.conf</li>
<li>
<p>Go to Start &gt; Programs &gt; Apache HTTP Server 2.2.4 &gt; Control Apache Server &gt; Restart</p>
<p><strong>Note:</strong> You need to restart Apache any time you make changes to the php.ini and/or httpd.conf files</p>
</li>
</ol>
<h2>Testing PHP</h2>
<ol>
<li>Open Notepad and type the following: <code>&lt;?php phpinfo(); ?&gt;</code></li>
<li>Save the file as <strong>info.php</strong> in your web root directory (C:\Program Files\Apache Software Foundation\Apache2.2\htdocs)</li>
<li>Close info.php</li>
<li>
<p>Open info.php in your web browser (<a rel="nofollow" href="http://localhost/info.php">http://localhost/info.php</a>)</p>
<p>If PHP is installed correctly, you will see a table of information pertaining to your PHP installation environment</p>
<p><a href="/wp-content/uploads/php521-info.png" title="phpinfo" rel="lightbox"><img src="/wp-content/uploads/php521-info.thumbnail.png" alt="phpinfo" /></a></p>
</li>
<li>
<p>Open Notepad and type the following:</p>
<pre><code>&lt;?php
$mysqli = new mysqli('localhost', 'root', 'yourpassword', 'test');
if (mysqli_connect_errno()) {
    printf('Connect failed: %s', mysqli_connect_error());
    exit();
}
printf('Host information: %s', $mysqli->host_info);
$mysqli->close();
?&gt;</code></pre>
</li>
<li>Save the file as <strong>mysqli.php</strong> in your web root directory (C:\Program Files\Apache Software Foundation\Apache2.2\htdocs)</li>
<li>Close mysqli.php</li>
<li>
<p>Open mysqli.php in your web browser (<a rel="nofollow" href="http://localhost/mysqli.php">http://localhost/mysqli.php</a>)</p>
<p>If MySQL is enabled, you will see the following output:</p>
<p>&#8220;Host information: localhost via TCP/IP&#8221;</p>
<p><a href="/wp-content/uploads/php521-mysqli.png" title="PHP MySQLi Test" rel="lightbox"><img src="/wp-content/uploads/php521-mysqli.thumbnail.png" alt="PHP MySQLi Test" /></a></p>
</li>
</ol>
<h2>Finished!</h2>
<p>That&#8217;s it, you&#8217;re done. Hopefully it all came together without any major dramas. If not, you have my deepest sympathies. And if that&#8217;s not enough, please leave a comment specifying exactly where it all went pear-shaped for you and I&#8217;ll do my best to get to the bottom of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/installing-apache-mysql-and-php-on-windows/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Lightbox JS WordPress Plugin</title>
		<link>http://blog.signified.com.au/lightbox-js-wordpress-plugin/</link>
		<comments>http://blog.signified.com.au/lightbox-js-wordpress-plugin/#comments</comments>
		<pubDate>Tue, 01 May 2007 08:16:00 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://signified.net/lightbox-js-wordpress-plugin/</guid>
		<description><![CDATA[The Lightbox JS WordPress Plugin enables your website with Lightbox JS - a simple, unobtrusive script used to overlay images on the current page. <a href="http://blog.signified.com.au/lightbox-js-wordpress-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Lightbox JS WordPress Plugin enables your website with <a rel="nofollow" href="http://www.huddletogether.com/projects/lightbox2/">Lightbox JS</a> &#8211; a simple, unobtrusive script used to overlay images on the current page.</p>
<h2>Example</h2>
<p><a rel="lightbox[aidan]" href="http://farm1.static.flickr.com/153/377867646_8f157f111b.jpg" title="Aidan Ready to Roll"><img src="http://farm1.static.flickr.com/153/377867646_8f157f111b_t.jpg" width="100" height="75" alt="Aidan Ready to Roll" /></a><a rel="lightbox[aidan]" href="http://farm1.static.flickr.com/148/401554163_c07a64f25b.jpg" title="Aidan Plays on the Grass at the McGintys"><img src="http://farm1.static.flickr.com/148/401554163_c07a64f25b_t.jpg" width="100" height="75" alt="Aidan Plays on the Grass at the McGintys" /></a><a rel="lightbox[aidan]" href="http://farm1.static.flickr.com/123/411106301_cfdfbd1c48.jpg" title="Tummy-Time"><img src="http://farm1.static.flickr.com/123/411106301_cfdfbd1c48_t.jpg" width="100" height="75" alt="Tummy-Time" /></a></p>
<h2>Download</h2>
<p><a href="http://signified.net/wp-content/uploads/2007/04/sd-lightbox-js-2_02.zip" title="Lightbox JS WordPress Plugin 2.02">sd-lightbox-js-2_02.zip</a> (16Kb)</p>
<h2>Requirements</h2>
<ol>
<li><a href="http://signified.net/prototype-wordpress-plugin/">Prototype WordPress Plugin</a></li>
<li><a href="http://signified.net/scriptaculous-wordpress-plugin/">script.aculo.us WordPress Plugin</a></li>
</ol>
<h2>Features</h2>
<ul>
<li>Fully customisable JavaScript, CSS and Images via Options interface</li>
<li>Full separation of the Prototype JavaScript Framework and the script.aculo.us JavaScript Library from the Lightbox JS script</li>
</ul>
<h2>Installation</h2>
<ol>
<li>Upload the plugin to the &#8216;wp-content/plugins&#8217; folder in your WordPress directory</li>
<li>Activate the plugin via the &#8216;Plugins&#8217; admin panel</li>
<li>Go to Options > Lightbox JS</li>
<li>Under the heading &#8216;Edit JavaScript (lightbox.js)&#8217; find the &#8216;Configuration&#8217; section and update the following two lines:
<ol>
<li><code>var fileLoadingImage = "images/loading.gif";</code></li>
<li><code>var fileBottomNavCloseImage = "images/closelabel.gif";</code></li>
</ol>
<p>The above two lines need to point to the Lightbox JS images directory for your website. For example:</p>
<ol>
<li><code>var fileLoadingImage = "http://yoursite.net/wp-content/plugins/sd-lightbox-js/images/loading.gif";</code></li>
<li><code>var fileBottomNavCloseImage = "http://yoursite.net/wp-content/plugins/sd-lightbox-js/images/closelabel.gif";</code></li>
</ol>
</li>
</ol>
<p><strong>Note:</strong> After downloading the Lightbox JS WordPress Plugin, extract the ZIP package and open the readme.txt file. The readme file contains full instructions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/lightbox-js-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>script.aculo.us WordPress Plugin</title>
		<link>http://blog.signified.com.au/scriptaculous-wordpress-plugin/</link>
		<comments>http://blog.signified.com.au/scriptaculous-wordpress-plugin/#comments</comments>
		<pubDate>Sun, 01 Apr 2007 08:16:00 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://signified.net/scriptaculous-wordpress-plugin/</guid>
		<description><![CDATA[The script.aculo.us is a plugin that enables your website with the script.aculo.us JavaScript Library. script.aculo.us provides you with easy-to-use, cross-browser user interface JavaScript libraries to make your web sites and web applications fly. <a href="http://blog.signified.com.au/scriptaculous-wordpress-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The script.aculo.us WordPress Plugin enables your website with the <a rel="nofollow" href="http://script.aculo.us/">script.aculo.us</a> JavaScript Library. script.aculo.us provides you with easy-to-use, cross-browser user interface JavaScript libraries to make your web sites and web applications fly.</p>
<h2>Download</h2>
<p><a href="http://signified.net/wp-content/uploads/2007/04/sd-scriptaculous-1_7_0.zip" title="script.aculo.us WordPress Plugin 1.7.0">sd-scriptaculous-1_7_0.zip</a> (37Kb)</p>
<h2>Requirements</h2>
<p>This plugin requires the <a href="http://signified.net/prototype-wordpress-plugin/">Prototype WordPress Plugin</a>.</p>
<h2>Features</h2>
<ul>
<li>Ability to load only the scripts you require</li>
<li>Full separation of the Prototype JavaScript Framework from the script.aculo.us JavaScript Library</li>
</ul>
<h2>Installation</h2>
<ol>
<li>Upload the plugin to the &#8216;wp-content/plugins&#8217; folder in your WordPress directory</li>
<li>Activate the plugin via the &#8216;Plugins&#8217; admin panel</li>
<li>Go to Options > script.aculo.us and check the scripts you want to load (optional)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/scriptaculous-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Prototype WordPress Plugin</title>
		<link>http://blog.signified.com.au/prototype-wordpress-plugin/</link>
		<comments>http://blog.signified.com.au/prototype-wordpress-plugin/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 08:16:00 +0000</pubDate>
		<dc:creator>Robert Love</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress Plugins]]></category>

		<guid isPermaLink="false">http://signified.net/prototype-wordpress-plugin/</guid>
		<description><![CDATA[The Prototype WordPress Plugin enables your website with the Prototype JavaScript Framework. Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere. <a href="http://blog.signified.com.au/prototype-wordpress-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Prototype WordPress Plugin enables your website with the <a rel="nofollow" href="http://prototypejs.org/">Prototype</a> JavaScript Framework. Prototype is a JavaScript Framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere.</p>
<h2>Download</h2>
<p><a href="/wp-content/uploads/2008/02/sd-prototype-1_6_0_2.zip" title="Prototype WordPress Plugin 1.6.0.2">Download Prototype WordPress Plugin 1.6.0.2</a> (31 Kb)</p>
<h2>Installation</h2>
<ol>
<li>Upload the plugin to the &#8216;wp-content/plugins&#8217; folder in your WordPress directory</li>
<li>Activate the plugin via the &#8216;Plugins&#8217; admin panel</li>
</ol>
<h2>Archives</h2>
<h3>1.5</h3>
<p><a href="http://signified.net/wp-content/uploads/2007/04/sd-prototype-1_5_0.zip" title="Prototype WordPress Plugin 1.5.0">Download Prototype WordPress Plugin 1.5.0</a> (18 Kb)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.signified.com.au/prototype-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

