<?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>Simon Whatley &#187; Ruby</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/ruby/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simonwhatley.co.uk</link>
	<description>The opposite of every great idea is another great idea</description>
	<lastBuildDate>Wed, 02 Nov 2011 09:28:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Programmer’s Dozen &#8211; Programming Best Practices</title>
		<link>http://www.simonwhatley.co.uk/programmers-dozen-programming-best-practices</link>
		<comments>http://www.simonwhatley.co.uk/programmers-dozen-programming-best-practices#comments</comments>
		<pubDate>Tue, 03 Mar 2009 11:23:46 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[fuzzy logic]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[object orientated]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1826</guid>
		<description><![CDATA[Take control of your code with these programming best practices from Kevlin Henney. At JAOO Aarhus 2008 Kevlin used a trash can, vampires, a train wreck, whiskey and much more to make you understand and remember his 13 constructive points (a programmer’s dozen) about programming and code smells.]]></description>
			<content:encoded><![CDATA[<p>Take control of your code with these programming best practices from Kevlin Henney. At <abbr title="Java and object-oriented software engineering">JAOO</abbr> Aarhus 2008 Kevlin used a trash can, vampires, a train wreck, whiskey and much more to make you understand and remember his 13 constructive points (a programmer’s dozen) about programming and code smells.</p>
<p>The 13 points made by Kevlin were:</p>
<ul>
<li>0. Prefer code to comments.</li>
<li>1. Follow a consistent form.</li>
<li>2. Employ the contract metaphor.</li>
<li>3. Express independent ideas independently.</li>
<li>4. Encapsulate.</li>
<li>5. Parameterize from above.</li>
<li>6. Restrict mutability of state.</li>
<li>7. Favor symmetry over asymmetry.</li>
<li>8. Sharpen fuzzy logic.</li>
<li>9. Go with the flow.</li>
<li>10. Let code decide.</li>
<li>11. Omit needless code.</li>
<li>12. Unify duplicate code.</li>
</ul>
<p>You can see a <a href="http://blog.jaoo.dk/2009/01/19/programmers-dozen-programming-best-practices/" title="Programmer’s Dozen - Programming Best Practices" target="_blank" rel="nofollow">video of Kevlin&#8217;s presentation</a> on the <a href="http://jaoo.dk/" title="JAOO" target="_blank" rel="nofollow">JAOO website</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/programmers-dozen-programming-best-practices/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#039;s not Dilly-Dally: ColdFusion has its Merits</title>
		<link>http://www.simonwhatley.co.uk/lets-not-dilly-dally-coldfusion-has-its-merits</link>
		<comments>http://www.simonwhatley.co.uk/lets-not-dilly-dally-coldfusion-has-its-merits#comments</comments>
		<pubDate>Fri, 09 Jan 2009 10:58:36 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[administrator]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe ColdFusion]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Atom]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[enterprise-level search]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[fundamentals]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rapid application development]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[The Web]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web technology]]></category>
		<category><![CDATA[web world]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1734</guid>
		<description><![CDATA[ColdFusion is 13 years old. That make makes it the daddy of the web world! It does not make it any less hip or useful than the relatively new kids on the block. Let's not dilly-dally, bicker or insult one another about which is best, which one is dying and which one is not worth the computer it is compiled on. What is important is to understand the merits of each language and decide which one best suits the application, not only in technical terms, but also in terms of time-to-market, cost of development, availability of a skilled workforce etc.]]></description>
			<content:encoded><![CDATA[<p>ColdFusion is 13 years old. That make makes it the daddy of the web world! It does not make it any less hip or useful than the relatively new kids on the block.</p>
<p>Take this scenario. A company I once worked for had what can be described as a business directory built upon a licensed, yet bastardised, version of a popular ColdFusion-based <abbr title="Content Management System">CMS</abbr>. It didn&#8217;t work that well! The decision was made to redevelop the application in Java. It took two years to reach the same level of functionality! What happened next? Ruby-on-Rails is what! The rest is history and beyond the topic of this post.</p>
<p>So, in effect, the application almost went full-circle in its development paradigm &#8212; both ColdFusion and Ruby-on-Rails can be considered <q>Rapid Application Development</q> environments, Java, certainly not. Why did the decision makers not stick with ColdFusion and put time aside to actually build it properly in the first place? To put it simply, they lost faith in ColdFusion; it was largely mis-understood.</p>
<p>The weakness of every programming language does not lie with the language itself per se &#8212; albeit it can have an important influencing factor &#8212; but rather with the ability, or indeed inability, of the developer to leverage the language in the most efficient and optimal way.</p>
<p>ColdFusion, like every other programming language has had and I&#8217;m sure still does have its fair share of poor developers; those people simply working with it as a means-to-an-end, rather than those passionate about the language, those people programming without understanding the fundamentals of programming or the implications of their poorly written code. This is apparent from .NET to Java, ColdFusion to Ruby, JavaScript to ActionScript.</p>
<p>Let&#8217;s not dilly-dally, bicker or insult one another about which is best, which one is dying and which one is not worth the computer it is compiled on. What is important is to understand the merits of each language and decide which one best suits the application, not only in technical terms, but also in terms of time-to-market, cost of development, availability of a skilled workforce etc.</p>
<p>ColdFusion, whether rightly or wrongly in some people&#8217;s opinion, can sit proudly amongst its peers and provide a truly compelling alternative.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>Here&#8217;s how (in no particular order):</p>
<ol>
<li>Low Total Cost of Ownership &#8211; frequently, ColdFusion is described as expensive, it simply isn&#8217;t especially if you consider the natively supported functions. But to put it bluntly, if your company cannot afford the cost of ColdFusion standard, or indeed ColdFusion hosting, you have bigger things to worry about regarding the profitability of the company; you won&#8217;t be able to afford much of anything! The problem becomes not the product. ColdFusion applications are quicker to develop and developers are vastly cheaper to employ than their peers in Java or Ruby, just look at <a href="http://www.itjobswatch.co.uk/" title="ITJobsWatch" target="_blank" rel="nofollow">ITJobsWatch</a> for examples.</li>
<li>Rapid Application Development &#8211; ColdFusion vastly simplifies tasks. What would take other languages numerous lines of code to produce is efficiently encapsulated either in a tag or function or as a setting in the administrator. This is a simplistic yet indicative example: where else can you connected to a database simply with one line of code or indeed simply by name? ColdFusion changed the idea of specifying development time in terms of months and years to weeks and months or small features a matter of hours and days. Simplicity is not the mother or all evil. To be pragmatic, simplification reduces costs.</li>
<li>Rich Internet Applications &#8211; ColdFusion may or may not have pioneered the <abbr title="Rich Internet Application">RIA</abbr> paradigm, but it has played a significant supporting role to Flash and now Flex. ColdFusion natively supports Flash remoting, providing the all important data access tier.</li>
<li>Platform Maturity &#8211; ColdFusion 8 is built upon the latest version of Java (1.6). Along with internal improvements to the ColdFusion application, this has afforded ColdFusion unprecedented speed improvements and stability.</li>
<li>Language Maturity &#8211; with each major release of ColdFusion comes many language enhancements added to the core. This means that previous addons, for example image manipulation, which came at a premium are now standard. Adobe and other companies that produce <abbr title="ColdFusion Markup Language">CFML</abbr> engines are now participating in  a <abbr title="ColdFusion Markup Language">CFML</abbr> advisory committee, which aims to set standards for the core language. This is not only a sign of maturity but a letter of intent by the industry that will mean your application will work on any engine, assuming no proprietary functionality is used.</li>
<li>The Ultimate Middleware &#8211; ColdFusion sits comfortably between any backend and front end system. Be it interfacing with a host of databases, Java, .NET, <abbr title="Component Object Model">COM</abbr>, Corba or connecting to classic <abbr title="HyperText Manrkup Language">HTML</abbr> or rich Flash, Flex and <abbr title="Asynchronous JavaScript and XML">AJAX</abbr> frontends with little or no configuration.</li>
<li>Feature Rich &#8211; what other web technology <strong>natively</strong> supports <abbr title="">PDF</abbr> generation, charting, enterprise-level search, <abbr title="Asynchronous JavaScript and XML">AJAX</abbr>, image manipulation, Atom and <abbr title="Really Simple Syndication">RSS</abbr> creation, Zip and <abbr title="Java Archive">JAR</abbr> file manipulation, a server monitor, Flex integration, encryption libraries, all important database connectors, webservice creation, <abbr title="">XML</abbr> manipulation, inbuilt reporting application (similar to Crystal Reports), email, <abbr title="File Transfer Protocol">FTP</abbr> to name but a few? I hazard a guess at none, unless you&#8217;re happy to pay a premium.</li>
<li>Platform Independent &#8211; since ColdFusion 6, when Macromedia redeveloped the entire application in Java, ColdFusion has been platform independent. You can install it on practically any machine.</li>
<li>OpenSource Alternatives &#8211; BlueDragon and Railo are both significant alternatives to Adobe ColdFusion and both have opensource alternatives, the latter of the two having recently joined the JBoss community. Adobe are also considering providing a free edition to academic institutions.</li>
<li>The Future &#8211; many commentators have mentioned Hibernate as a significant addition to the next release of ColdFusion, version 9. But having seen the prerelease notes, that is not all that will be added. Alas I&#8217;m under <abbr title="Non-Disclosure Agreement">NDA</abbr>, but rest assured, there is going to be a significant intake of breath when developers get hold of the next release. ColdFusion 8 was firmly geared towards middle management with fuzzy additions, ColdFusion 9 is set to re-address the balance with compelling language and functionality enhancements.</li>
</ol>
<p>ColdFusion evangelism needs to step up a gear! Adobe certainly doesn&#8217;t afford much marketing budget to the product, prefering <q>The Community</q> do the hard work. It is not always easy convincing the decision makers that ColdFusion is a good product of choice, without Adobe&#8217;s unnerving support, but we have to work hard, break down those barriers, encroach on events outside the comfortable sphere of the ColdFusion world and demonstrate ColdFusion&#8217;s match-winning ability.</p>
<p>ColdFusion isn’t dying, it’s simply niche. Every niche has its place.</p>
<p><strong>UPDATE:</strong> If you would like to view the ensuing debate regarding ColdFusion prompted by <a href="http://aralbalkan.com/1864" title="Aral Balkan - Why learning ColdFusion today is a waste of time." target="_blank" rel="nofollow">Aral Balkan</a>, feel free to do so. This post should serve as a positive reminder of ColdFusion&#8217;s virtues, alongside the need for a balanced and polite debate.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/lets-not-dilly-dally-coldfusion-has-its-merits/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>UK Ruby User Group on LinkedIn</title>
		<link>http://www.simonwhatley.co.uk/uk-ruby-user-group-on-linkedin</link>
		<comments>http://www.simonwhatley.co.uk/uk-ruby-user-group-on-linkedin#comments</comments>
		<pubDate>Sat, 23 Feb 2008 14:35:25 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Social Media]]></category>
		<category><![CDATA[Ada]]></category>
		<category><![CDATA[centralised network]]></category>
		<category><![CDATA[Eiffel]]></category>
		<category><![CDATA[fellow developers]]></category>
		<category><![CDATA[functional programming]]></category>
		<category><![CDATA[group]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[rapid application development]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Smalltalk]]></category>
		<category><![CDATA[start networking]]></category>
		<category><![CDATA[UK Ruby User Group]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[user group]]></category>
		<category><![CDATA[Yukihiro]]></category>
		<category><![CDATA[yukihiro matsumoto]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=343</guid>
		<description><![CDATA[Ruby is a language of careful balance. Its creator, Yukihiro â€œmatzâ€ Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.]]></description>
			<content:encoded><![CDATA[<p>Ruby is a language of careful balance. Its creator, Yukihiro â€œmatzâ€ Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.</p>
<p>With the increasing importance of <a href="http://en.wikipedia.org/wiki/Rapid_application_development" title="Rapid Application Development" target="_blank" rel="nofollow">Rapid Application Development</a> (<acronym title="Rapid Application Development">RAD</acronym>) and the popularity of the Ruby language driven by <a href="http://www.rubyonrails.org/" title="Ruby on Rails" target="_blank" rel="nofollow">Ruby on Rails</a>, this user group aims to assist developers in defining their role, provide information resources and a chance to meet fellow developers and provide a centralised network within the community.</p>
<p>To join the group and start networking, simply click on the link below:</p>
<p>UK Ruby User Group:</p>
<p><a href="http://www.linkedin.com/e/gis/31026/79705D6CDE7C" title="UK Ruby User Group" target="_blank" rel="nofollow">http://www.linkedin.com/e/gis/31026/79705D6CDE7C</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/uk-ruby-user-group-on-linkedin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring PHP with Apache on Windows Vista</title>
		<link>http://www.simonwhatley.co.uk/configuring-php-with-apache-on-windows-vista</link>
		<comments>http://www.simonwhatley.co.uk/configuring-php-with-apache-on-windows-vista#comments</comments>
		<pubDate>Fri, 15 Feb 2008 10:24:19 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[administrator]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[installing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[settings]]></category>
		<category><![CDATA[solutions]]></category>
		<category><![CDATA[Vista]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=397</guid>
		<description><![CDATA[Installing PHP with Apache on Windows Vista is a relatively simple task until you try an configure the settings in php.ini. Problems can occur and stem from the fact that when you install PHP and edit the php.ini file, you need to not only be logged in as Administrator, but run the installer and Notepad text editor as Administrator. The php.ini file also needs to be located in the Windows directory.]]></description>
			<content:encoded><![CDATA[<p>Pre-requisites:</p>
<ol>
<li>Follow my instructions on <a href="/installing-apache-on-vista" title="Installing Apache">installing Apache</a> on Windows Vista</li>
<li>And then follow my instructions on <a href="/installing-php-with-apache-on-windows-vista" title="Installing PHP">installing PHP</a> on Windows Vista</li>
</ol>
<p>Installing <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> with Apache on Windows Vista is a relatively simple task until you try an configure the settings in php.ini. Problems can occur and stem from the fact that when you install <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> and edit the php.ini file, you need to not only be logged in as Administrator, but run the installer and Notepad text editor as Administrator. The php.ini file also needs to be located in the Windows directory.</p>
<p>Below is an outline of the steps to get your <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> installation running and configured correctly.</p>
<ol>
<li>Run Notepad as Administrator. Go to All Programs > Accessories Right-click &#8220;Notepad&#8221; and select &#8220;Run as Administrator&#8221;. Open the php.ini file, in my case:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">C:\PHP5\php.ini</pre></div></div>

</li>
<li>Edit the php.ini file as necessary, e.g.:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">extension_dir = &quot;C:\PHP5\ext&quot;
upload_max_filesize = 16M
upload_tmp_dir = &quot;C:\PHP5\upload&quot;
session.save_path = &quot;C:\PHP5\session&quot;</pre></div></div>

</li>
<li>Enable the extensions you need by deleting the semi-colon at the beginning of the line. For example, you will commonly need the following MySQL extensions:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">extension = php_mysql.dll
extension = php_mysqli.dll</pre></div></div>

</li>
<li>Save the edited php.ini file into your Windows directory. This is very important as Vista will not read the changes but will refer to the default settings.</li>
<li>Check that the <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> directory has been added to your computers &#8220;Environment Variables&#8221;. Click Start, right-click on Computer, select Properties > Advanced > Environment Variables. Click on PATH and select Edit. If the <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> path is there, in my case &#8220;C:\PHP5\&#8221;, all is well, otherwise add the PHP path.
<ul>
<li>System Properties:
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/system_properties.jpg' alt='Vista System Properties' /></p>
</li>
<li>Environmental Variables
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/environmental_variables.jpg' alt='Vista Environment Variables' /></p>
</li>
<li>Edit Environmental Variable &#8211; PATH
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/edit_system_variable.jpg' alt='Vista Edit Environmental Variable PATH' /></p>
</li>
</ul>
</li>
<li>Open your Apache configuration file (httpd.conf). Ensure the following lines are present (at the bottom of the file):

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">LoadModule php5_module &quot;C:\PHP5\php5apache2_2.dll&quot;
AddType application/x-httpd-php .php
AcceptPathInfo on
PHPIniDir &quot;C:\Windows&quot;</pre></div></div>

<p>If there are additional <code>LoadModule</code> lines, remove them, leaving only the one that relates to your version of Apache.</li>
<li>Find the DirectoryIndex in the Apache config and append <code>index.php</code>, e.g.:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&lt;ifmodule dir_module&gt;
	DirectoryIndex index.html index.php
&lt;/ifmodule&gt;</pre></div></div>

</li>
<li>Restart the Apache service.</li>
<li>Create a index.php file in your webroot and add the following lines:

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&lt;?php phpinfo(); ?&gt;</pre></div></div>

</li>
<li>Navigate to the file (e.g. http://localhost/index.php) and you will be presented with all the <acronym title="PHP: Hypertext Preprocessor">PHP</acronym> and server settings. You&#8217;re now good to go.</li>
</ol>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/configuring-php-with-apache-on-windows-vista/feed</wfw:commentRss>
		<slash:comments>48</slash:comments>
		</item>
		<item>
		<title>Why Silverlight? Microsoft Explains&#8230;</title>
		<link>http://www.simonwhatley.co.uk/why-silverlight-microsoft-explains</link>
		<comments>http://www.simonwhatley.co.uk/why-silverlight-microsoft-explains#comments</comments>
		<pubDate>Thu, 13 Dec 2007 22:12:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Accelerator board]]></category>
		<category><![CDATA[ad-insertion solutions]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Integrated Runtime]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[application hosting solution]]></category>
		<category><![CDATA[author content]]></category>
		<category><![CDATA[back-end Web environment]]></category>
		<category><![CDATA[browser-based]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[designers]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[Emmy Award]]></category>
		<category><![CDATA[Escient VC-1 Player]]></category>
		<category><![CDATA[Expression Studio]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[interactive applications]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[media content]]></category>
		<category><![CDATA[media experiences]]></category>
		<category><![CDATA[media format]]></category>
		<category><![CDATA[media rich experiences]]></category>
		<category><![CDATA[media tools]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Silverlight]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[moonlight]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[proprietory]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Role-specific tools]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Society of Motion Picture and Television Engineers]]></category>
		<category><![CDATA[software features]]></category>
		<category><![CDATA[software services]]></category>
		<category><![CDATA[Sun Microsystems]]></category>
		<category><![CDATA[vector graphics]]></category>
		<category><![CDATA[video playback]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[web application]]></category>
		<category><![CDATA[Web Consortium]]></category>
		<category><![CDATA[Web designers]]></category>
		<category><![CDATA[Web experiences]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Web technologies]]></category>
		<category><![CDATA[Windows Media technologies]]></category>
		<category><![CDATA[windows presentation foundation]]></category>
		<category><![CDATA[with your existing infrastructure]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[XAML]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=391</guid>
		<description><![CDATA[Silverlight aims to compete with Adobe Flash and the presentation components of Ajax. It also competes with Sun Microsystems' JavaFX, which was launched a few days after Silverlight.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.silverlight.net" title="Silverlight" rel="nofollow">Silverlight</a> aims to compete with Adobe <a href="http://www.adobe.com/products/flash" title="Adobe Flash" rel="nofollow">Flash</a> and the presentation components of <acronym title="Asynchronous JavaScript and XML">AJAX</acronym>. It also competes with Sun Microsystems&#8217; <a href="http://www.sun.com/software/javafx/" title="JavaFX" rel="nofollow">JavaFX</a>, which was launched a few days after Silverlight.</p>
<p>Microsoft Silverlight is a proprietary runtime for browser-based Rich Internet Applications, providing a subset of the animation, vector graphics, and video playback capabilities of Windows Presentation Foundation. The runtime is available for Microsoft Windows and Mac OS X, with Linux support under development via the third-party <a href="http://www.mono-project.com/Moonlight" title="Moonlight project" rel="nofollow">Moonlight</a> runtime.</p>
<p>Microsoft describes its advantages as follows:</p>
<p><strong>Compelling Cross-Platform User Experiences</strong></p>
<ul>
<li>Deliver media experiences and rich interactive applications for the Web that incorporate video, animation, interactivity, and stunning user interfaces.</li>
<li>Seamless, fast installation for users, thanks to a small, on-demand, easy-to-install plug-in that is under 2 megabytes (<acronym title="Megabyte">MB</acronym>) in size and works with all leading browsers.</li>
<li>Consistent experiences between Windows-based and Macintosh computers without any additional installation requirements.</li>
<li>Create richer, more compelling Web experiences that take greater advantage of the client for increased performance.</li>
<li>Stunning vector-based graphics, media, text, animation, and overlays that enable seamless integration of graphics and effects into any existing Web application.</li>
<li>Enhance existing standards/<acronym title="Asynchronous JavaScript and XML">AJAX</acronym>-based applications with richer graphics and media, and improve their performance and capabilities by using Silverlight.</li>
</ul>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>Flexible Programming Model with Collaboration Tools</strong></p>
<ul>
<li>Based on the Microsoft <a href="http://msdn2.microsoft.com/en-us/netframework/default.aspx" title="Microsoft .NET Framework" rel="nofollow">.NET Framework</a>, Silverlight enables developers and designers to easily use existing skills and tools to deliver media experiences and rich interactive applications for the Web.</li>
<li>Simple integration with existing Web technologies and assets means Silverlight works with any back-end Web environment or technology. No &#8220;rip and replace&#8221; required.
</li>
<li>Silverlight integrates with your existing infrastructure and applications, including Apache, <acronym title="PHP: Hypertext Preprocessor">PHP</acronym>, as well as JavaScript and <acronym title="Extensible HyperText Markup Language">XHTML</acronym> on the client.</li>
<li>Choice of development languages including JavaScript, Ruby, Python, C#, Visual Basic .NET, and more.</li>
<li>Role-specific tools for both designers and developers that take advantage of Web standards and the breadth of the Microsoft .NET connected software features.</li>
<li>For designers: Microsoft Expression Studio for creating interactive user interfaces and media rich experiences, preparing media for encoding and distribution, and creating World Wide Web Consortium (<acronym title="World Wide Web Consortium">W3C</acronym>) standards-compliant sites using modern <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, <acronym title="Extensible Markup Language">XML</acronym>, <acronym title="Extensible Stylesheet Language Transformation">XSLT</acronym>, <acronym title="Cascading Style Sheet">CSS</acronym>, and <acronym title="Active Server Pages">ASP</acronym>.NET.</li>
<li>For developers: Microsoft Visual Studio for developing client and server code with full Microsoft IntelliSense, powerful cross-platform debugging, rich language support, and more.</li>
<li>Consistent presentation model by using <acronym title="Extensible Application Markup Language">XAML</acronym>, the declarative presentation language used in Windows Vistaâ€“based applications. Controls, visual designs, media, and other elements can be presented with full design fidelity in both Silverlight and Windows-based applications.</li>
<li>Extensible control model makes it easy to add rich content and behaviors while enabling efficient code-reuse and sharing.</li>
<li>Dramatically improved performance for <acronym title="Asynchronous JavaScript and XML">AJAX</acronym>-enabled Web sites with the power, performance, and flexibility of Silverlight and .NET-connected software.</li>
</ul>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>High Quality, Low Cost Media</strong></p>
<ul>
<li>Unified media format that scales from high definition (<acronym title="High Definition">HD</acronym>) to mobile with Windows Media Video (<acronym title="Windows Media Video">WMV</acronym>), the Microsoft implementation of the Society of Motion Picture and Television Engineers (<acronym title="Society of Motion Picture and Television Engineers">SMPTE</acronym>) <a href="http://en.wikipedia.org/wiki/VC-1" title="VC-1" rel="nofollow">VC-1</a> video standard, as well as support for Windows Media Audio (<acronym title="Windows Media Audio">WMA</acronym>) and MP3 audio.</li>
<li>Add vector-based graphics and overlays to media with support for integration of graphics that scale to any size and broadcast-style overlays for tickers and closed captioning.</li>
<li>Flexible ad-insertion solutions with video and animation, including the ability to deliver fluid, broadcast-style video or animated advertisements without loss of visual fidelity or motion quality.</li>
<li>Lower-cost media streaming with Emmy Award winning Windows Media technologies that can lower the cost of streaming delivery by up to 46%, and enjoy the flexibility to work with your existing Windows Media streaming deployments. Even further cost reductions are possible with the upcoming Microsoft Internet Information Services (<acronym title="Internet Information Services">IIS</acronym>) Media Pack for Microsoft Windows Server 2008.</li>
<li>Broad ecosystem of media tools, servers, and solutions compatible with the Windows Media operating system.</li>
<li>Microsoft PlayReady content-access technology that delivers a single solution for digital rights management support on both Windows-based and Macintosh computers for content providers (coming in Silverlight 1.1)</li>
<li>Powerful encoding tools for live and on-demand publishing of media experiences with Microsoft Expression Encoder, including hardware-accelerated encoding of <acronym title="Windows Media Video">WMV</acronym> and <a href="http://en.wikipedia.org/wiki/VC-1" title="VC-1" rel="nofollow">VC-1</a> at up to 15 times the performance of software alone when paired with a Tarari Encoder Accelerator board.</li>
</ul>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>Connected to Data, Servers, and Services</strong></p>
<ul>
<li>Mash-up and incorporate services and data from the Web by taking advantage of the Silverlight support for <a href="http://en.wikipedia.org/wiki/Language_Integrated_Query" title="Language Integrated Query" rel="nofollow">LINQ</a> while accessing that data with common protocols like <acronym title="JavaScript Object Notation">JSON</acronym>, <acronym title="Really Simple Syndication">RSS</acronym>, <acronym title="Plain Old XML">POX</acronym>, and <acronym title="Representational State Transfer">REST</acronym>.</li>
<li>Increase discoverability of rich interactive application (<acronym title="Rich Internet Application">RIA</acronym>) content that can be indexed and searched due to the text-based <acronym title="Extensible Application Markup Language">XAML</acronym> format that describes interface and content in a Silverlight-based application.</li>
<li>Rapidly scale applications with Silverlight Streaming by Windows Live to host and integrate software services and media content.</li>
</ul>
<p><strong>Streaming audio and video</strong></p>
<ul>
<li>Silverlight Streaming by Windows Live offers a free streaming and application hosting solution for delivering high-quality, cross-platform, cross-browser, media-enabled rich interactive applications (<acronym title="Rich Internet Application">RIA</acronym>s). With the ability to author content in Microsoft Expression Encoder and other third-party editing environments, Web designers maintain complete control of the user experience.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/why-silverlight-microsoft-explains/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

