<?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; Microsoft Windows</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/microsoft-windows/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>Mark Pilgrim &#8211; A Gentle Introduction to Video Encoding: Captioning</title>
		<link>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-captioning</link>
		<comments>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-captioning#comments</comments>
		<pubDate>Thu, 13 Oct 2011 09:00:41 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[accessible online video]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[assistive technology]]></category>
		<category><![CDATA[AVI]]></category>
		<category><![CDATA[Container formats]]></category>
		<category><![CDATA[DirectShow-based video player]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[HDMI]]></category>
		<category><![CDATA[Joe Clark]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mark Pilgrim]]></category>
		<category><![CDATA[Microsoft Corporation]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[MPEG]]></category>
		<category><![CDATA[MPEG-4]]></category>
		<category><![CDATA[MPEG-4 Part 17]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[SAMI]]></category>
		<category><![CDATA[SMIL]]></category>
		<category><![CDATA[SubRip]]></category>
		<category><![CDATA[SubStation Alpha]]></category>
		<category><![CDATA[Subtitle]]></category>
		<category><![CDATA[Subtitling]]></category>
		<category><![CDATA[SubViewer]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[video player]]></category>
		<category><![CDATA[VSFilter]]></category>
		<category><![CDATA[YouTube]]></category>
		<category><![CDATA[YouTube Inc]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=4809</guid>
		<description><![CDATA[The first thing you need to know about captions and subtitles is that captions and subtitles are different. The second thing you need to know about captions and subtitles is that you can safely ignore the differences unless you're creating your own from scratch. I'm going to use the terms interchangeably throughout this article, which will probably drive you crazy if you happen to know and care about the difference.]]></description>
			<content:encoded><![CDATA[<p><strong>This article was first published on 7th January 2009, on Mark Pilgrim&#8217;s website. That website no longer exists so this article serves as an historical record. I have preserved all emphasis and links as per the original article.</strong></p>
<p>The first thing you need to know about captions and subtitles is that <a href="http://joeclark.org/access/captioning/bpoc/ST.html" title="Captions and subtitles are different" target="_blank" rel="nofollow">captions and subtitles are different</a>. The second thing you need to know about captions and subtitles is that you can safely ignore the differences unless you&#8217;re creating your own from scratch. I&#8217;m going to use the terms interchangeably throughout this article, which will probably drive you crazy if you happen to know and care about the difference.</p>
<p>Historically, captioning has been driven by the needs of deaf and hearing impaired consumers, and captioning technology has been designed around <a href="http://en.wikipedia.org/wiki/Closed_captioning#Television_and_video" title="The technical quirks of broadcast television" target="_blank" rel="nofollow">the technical quirks of broadcast television</a>. In the United States, so-called &#8220;<a href="http://main.wgbh.org/wgbh/pages/mag/services/captioning/faq/" title="Closed captions" target="_blank" rel="nofollow">closed captions</a>&#8221; are embedded into a part of the NTSC video source (&#8220;Line 21&#8243;) that is normally outside the viewing area on televisions. In Europe, they use a completely different system that is embeddable in the PAL video source. Over time, each new medium (VHS, DVD, and now online digital video) has dealt a blow to the accessibility gains of the previous medium. For example:</p>
<ul>
<li>PAL VHS tapes did not have enough bandwidth to store closed captions at all.</li>
<li>DVDs have the technical capability, but producers often manage to screw it up anyway; e.g. DVDs of low-budget television shows are often released without the closed captions that accompanied the original broadcast.</li>
<li>HDMI cables drop &#8220;Line 21&#8243; closed captions altogether. If you play an NTSC DVD on an HDTV over HDMI, you&#8217;ll never see the closed captions, even if the DVD has them.</li>
</ul>
<p>And <a href="http://joeclark.org/book/sashay/serialization/Chapter13.html" title="Accessible online video is hopeless" target="_blank" rel="nofollow">accessible online video is just fucking hopeless</a>. (And no, it won&#8217;t change <a href="http://www.alistapart.com/articles/thisishowthewebgetsregulated/" title="Unless new regulation forces a change" target="_blank" rel="nofollow">unless new regulation forces it to change</a>. When it comes to captioning, Joe Clark has been right longer than many of you have been alive.)</p>
<p>So even in broadcast television, captioning technology was fractured by different broadcast technologies in different countries. Digital video had the capability of unifying the technologies and learning from their mistakes. Of course, exactly the opposite happened. Early caption formats split along company lines; each major video software platform (RealPlayer, QuickTime, Windows Media, Adobe Flash) implemented captioning in their own way, with levels of adoption ranging from nil to zilch. At the same time, an entire subculture developed around &#8220;<a href="http://en.wikipedia.org/wiki/Fansub" title="Wikipedia: Fan-subbing" target="_blank" rel="nofollow">fan-subbing</a>,&#8221; i.e. using captioning technology to provide translations of foreign language videos. For example, non-Japanese-speaking consumers wanted to watch Japanese anime films, so amateur translators stepped up to publish their own English captions that could be overlaid onto the original film. In the 1980s, fansubbers would actually take VHS tapes and overlay the English captions onto a new tape, which they would then (illegally) distribute. Nowadays, translators can simply publish their work on the Internet as a standalone file. English-speaking consumers can have their DVDs shipped directly from Japan, and they use software players that can overlay standalone English caption files while playing their Japanese-only DVDs. The legality of distributing these unofficial translations (even separately, in the form of standalone caption files) <a href="http://www.nytimes.com/2005/08/21/arts/21solo.html" target="_blank" rel="nofollow">has been disputed in recent years</a>, but the fansubbing community persists.</p>
<p>Technically, there is a lot of variation in captioning formats. At their core, captions are a combination of text to display, start and end times to display it, information about where to position the text on a screen, fonts, styling, alignment, and so on. Some captions roll up from the bottom of the screen, others simply appear and disappear at the appropriate time. Some caption formats mandate where each caption should be placed and how it should be styled; others merely suggest position and styling; others leave all display attributes entirely up to the player. Almost every conceivable combination of these variables has been tried. Some forms of media try multiple combinations at once. DVDs, for example, can have two entirely distinct forms of captioning — closed captioning (as used in NTSC broadcast television) embedded in the video stream, and one or more subtitle tracks. DVD subtitle tracks are used for many different things, including subtitles (just the words being spoken, in the same language as the audio), captions for the hearing impaired (which include extra notations of background noises and such), translations into other languages, and director&#8217;s commentary. Oh, and they&#8217;re stored on the DVD as images, not text, so the end user has no control over fonts or font size.</p>
<p>Beyond DVDs, most caption formats store the captions as text, which inevitably raises the issue of character encoding. Some caption formats explicitly specify the character encoding, others only allow UTF-8, others don&#8217;t specify any encoding at all. On the player side, most players respect the character encoding if present (but may only support specific encodings); in its absence, some players assume UTF-8, some guess the encoding, and some allow the user to override the encoding. Obviously standalone caption files can be in any format, but if you want to embed your captions as a track within a video container, your choices are limited to the caption formats that the video container supports.</p>
<p>And remember when I said that there were a metric fuck-ton of audio codecs? Forget that. There are an imperial fuck-ton of caption formats (i.e. multiply by 9/5 and add 32). Here is a partial list of caption formats, taken from the list of formats supported by <a href="http://www.urusoft.net/products.php?cat=sw" title="Subtitle Workshop" target="_blank" rel="nofollow">Subtitle Workshop</a>, which I used to caption my short-lived video podcast series:</p>
<p>Adobe Encore DVD, Advanced SubStation Alpha, AQTitle, Captions 32, Captions DAT, Captions DAT Text, Captions Inc., Cheetah, CPC-600, DKS Subtitle Format, DVD Junior, DVD Studio Pro, DVD Subtitle System, DVDSubtitle, FAB Subtitler, IAuthor Script, Inscriber CG, JACOSub 2.7+, Karaoke Lyrics LRC, Karaoke Lyrics VKT, KoalaPlayer, MacSUB, MicroDVD, MPlayer, MPlayer2, MPSub, OVR Script, Panimator, Philips SVCD Designer, Phoenix Japanimation Society, Pinnacle Impression, PowerDivX, PowerPixel, QuickTime Text, RealTime, SAMI Captioning, Sasami Script, SBT, Sofni, Softitler RTF, SonicDVD Creator, Sonic Scenarist, Spruce DVDMaestro, Spruce Subtitle File, Stream SubText Player, Stream SubText Script, SubCreator 1.x, SubRip, SubSonic, SubStation Alpha, SubViewer 1.0, SubViewer 2.0, TMPlayer, Turbo Titler, Ulead DVD Workshop 2.0, ViPlay Subtitle File, ZeroG.</p>
<p>Which of these formats are important? The answer will depend on whom you ask, and more specifically, how you&#8217;re planning to distribute your video. This series is primarily focused on videos delivered as files to be played on PCs or other computing devices, so my choices here will reflect that. These are some of the most well-supported caption formats:</p>
<ul>
<li>SubRip</li>
<li>SubStation Alpha</li>
<li>MPEG-4 Timed Text</li>
<li>SAMI</li>
<li>SMIL</li>
</ul>
<h3>SubRip</h3>
<p><a href="http://en.wikipedia.org/wiki/SubRip" title="Wikipedia: SubRip" target="_blank" rel="nofollow">SubRip</a> is the AVI of caption formats, in the sense that its basic functionality is supported everywhere but various people have tried to extend it in mostly incompatible ways and the result is a huge mess. As a standalone file, SubRip captions are most commonly seen with a <code>.srt</code> extension. SubRip is a text-based format which can include font, size, and position information, as well as a limited set of HTML formatting tags, although most of these features are <a href="http://ale5000.altervista.org/subtitles.htm" target="_blank" rel="nofollow">poorly supported</a>. Its &#8220;official&#8221; specification is <a href="http://forum.doom9.org/showthread.php?p=470941#post470941" title="doom9 post from 2004" target="_blank" rel="nofollow">a doom9 forum post from 2004</a>. Most players assume that .srt files are encoded in Windows-1252 (what Windows programs frequently call &#8220;ANSI&#8221;), although some can detect and switch to UTF-8 encoding automatically.</p>
<p>Because <code>.srt</code> files are so often <a href="http://www.opensubtitles.org/en" title="Open Subtitles" target="_blank" rel="nofollow">published</a> separately from the video files they describe, the most common use case is to put your <code>.srt</code> file in the same directory as your video file and give them the same name (up to the file extensions). But it is also possible to embed SubRip captions directly into AVI files with <a href="http://www.alexander-noe.com/video/amg/" title="AVI-Mux GUI" target="_blank" rel="nofollow">AVI-Mux GUI</a>, into MKV files with <a href="http://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge-gui.html" title="mkvmerge tool" target="_blank" rel="nofollow">mkvmerge</a>, and into MP4 files with <a href="http://gpac.sourceforge.net/packager.php" title="MP4Box" target="_blank" rel="nofollow">MP4Box</a>.</p>
<p>You can play SubRip captions in Windows Media Player or other DirectShow-based video players after installing <a href="http://www.videohelp.com/tools/VSFilter_DirectVobSub" title="VSFilter" target="_blank" rel="nofollow">VSFilter</a>; in QuickTime after installing <a href="http://www.perian.org/" title="Perian" target="_blank" rel="nofollow">Perian</a>; on Linux, both <a href="http://www.mplayerhq.hu/DOCS/HTML/en/index.html" title="mplayer" target="_blank" rel="nofollow">mplayer</a> and <a href="http://www.videolan.org/vlc/" title="VLC" target="_blank" rel="nofollow">VLC</a> support it natively.</p>
<h3>SubStation Alpha</h3>
<p><a href="http://en.wikipedia.org/wiki/SubStation_Alpha" title="Wikipedia: SubStation Alpha" target="_blank" rel="nofollow">SubStation Alpha</a> and its successor, Advanced SubStation Alpha, are the preferred caption formats of the fansubbing community. As standalone files, they are commonly seen with <code>.ssa</code> or <code>.ass</code> extensions. They have <a href="http://www.matroska.org/technical/specs/subtitles/ssa.html" target="_blank" rel="nofollow">a spec longer than three paragraphs</a>. They are actually miniature scripting languages. A <code>.ass</code> file contains a series of commands to control position, scrolling, animation, font, size, scaling, letter spacing, borders, text outline, text shadow, alignment, and so on; and a series of time-coded events for displaying text given the current styling parameters. It has support for multiple character encodings.</p>
<p>The playing requirements for SubStation Alpha captions are almost identical to SubRip. The same plugins are required for Windows and Mac OS X. On Linux, mplayer prides itself on having the most complete SSA/ASS implementation.</p>
<h3>MPEG-4 Timed Text</h3>
<p>a.k.a. &#8220;MPEG-4 Part 17,&#8221; a.k.a. <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=39478" title="ISO 14496-17" target="_blank" rel="nofollow">ISO 14496-17</a>, <a href="http://en.wikipedia.org/wiki/MPEG-4_Part_17" title="Wikipedia: MPEG-4 Timed Text" target="_blank" rel="nofollow">MPEG-4 Timed Text</a> (hereafter &#8220;MP4TT&#8221;) is the one and only caption format for the MP4 container. It is not a file format; it is only defined in terms of a track within an MP4 container. As such, it can not be embedded in any other video container, and it can not exist as a separate file. (Note: the last sentence was a lie; the MPEG-4 Timed Text format is really the 3GPP Timed Text format, and it can very much be embedded in a 3GPP container. What I meant to say is that the format can not be embedded in any of the other popular video container formats like AVI, MKV, or OGG. I could go on about the subtle differences between MPEG-4 Timed Text in an MP4 container and 3GPP Timed Text in a 3GPP container, but it would just make you cry, and besides, technical accuracy is for pussies.)</p>
<p>MP4TT defines detailed information on text positioning, fonts, styles, scrolling, and text justification. These details are encoded into the track at authoring time, and can not be changed by the end user&#8217;s video player. The most readable description of its features is actually the <a href="http://gpac.sourceforge.net/doc_ttxt.php" title="Documentation for GPAC" target="_blank" rel="nofollow">documentation for GPAC</a>, an open source implementation of much of the MPEG-4 specification (including MP4TT). Since MP4TT doesn&#8217;t define a text-based serialization, GPAC invented one for their own use; since their format is designed to capture all the possible information in an MP4TT track, it turns out to be an easy way to read about all of MP4TT&#8217;s features.</p>
<p><a href="http://gpac.sourceforge.net/packager.php" title="MP4Box" target="_blank" rel="nofollow">MP4Box</a>, part of the GPAC project, can take an <code>.srt</code> file and convert it into a MPEG-4 Timed Text track and embed it in an existing MP4 file. It can also reverse the process — extract a Timed Text track from an MP4 file and output a <code>.srt</code> file.</p>
<p>On Mac OS X, QuickTime supports MP4TT tracks within an MP4 container, but only if you rename the file from <code>.mp4</code> to <code>.3gp</code> or <code>.m4v</code>. I shit you not. (On the plus side, changing the file extension will allow you to sync compatible video to an iPod or iPhone, which will actually display the captions. Still not kidding.) On Windows, any DirectShow-based video player (such as Windows Media Player or <a href="http://sourceforge.net/project/showfiles.php?group_id=205650" title="Media Player Classic" target="_blank" rel="nofollow">Media Player Classic</a>) supports MP4TT tracks once you install <a href="http://haali.cs.msu.ru/mkv/" title="Haali Media Splitter" target="_blank" rel="nofollow">Haali Media Splitter</a>. On Linux, VLC has supported MP4TT tracks for several years.</p>
<h3>SAMI</h3>
<p><a href="http://en.wikipedia.org/wiki/SAMI" title="SAMI" target="_blank" rel="nofollow">SAMI</a> was Microsoft&#8217;s first attempt to create a captioning format for PC video files (as opposed to broadcast television or DVDs). As such, it is natively supported by Microsoft video players, including Windows Media Player, without the need for third-party plugins. It has a <a href="http://msdn.microsoft.com/en-us/library/ms971327.aspx" title="Specification on MSDN" target="_blank" rel="nofollow">specification on MSDN</a>. It is a text-based format that supports a large subset of HTML formatting tags. SAMI captions are almost always embedded in an ASF container, along with Windows Media video and Windows Media audio.</p>
<p>Don&#8217;t use SAMI for new projects; it has been superceded by <a href="http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language" title="Wikipedia: Synchronised Multimedia Integration Language (SMIL)" target="_blank" rel="nofollow">SMIL</a>. For historical purposes, you may enjoy reading about <a href="http://www.webaim.org/techniques/captions/windows/" title="Creating SAMI captions" target="_blank" rel="nofollow">creating SAMI captions and embedding them in an ASF container</a>, as long as you promise to never, ever try it at home.</p>
<h3>SMIL</h3>
<p><a href="http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language" title="Wikipedia: Synchronised Multimedia Integration Language (SMIL)" target="_blank" rel="nofollow">SMIL</a> (Synchronized Multimedia Integration Language) is not actually a captioning format. It is &#8220;an XML-based language that allows authors to write interactive multimedia presentations.&#8221; It also happens to have a <a href="http://www.w3.org/TR/SMIL3/smil-timing.html" title="Timing and synchronisation module" target="_blank" rel="nofollow">timing and synchronization module</a> that can, in theory, be used to display text on a series of moving pictures. That is to say, if you think of SMIL as a way to provide captions for a video, you&#8217;re doing it wrong. You need to invert your thinking — your video and your captions are each merely components of a SMIL presentation. SMIL captions are not embedded into a video container; the video and its captions are referenced from a SMIL document.</p>
<p>SMIL is <a href="http://www.w3.org/AudioVideo/" title="W3C Standard" target="_blank" rel="nofollow">a W3C standard</a>; the most recent revision, <a href="http://www.w3.org/TR/SMIL3/" title="SMIL 3.0" target="_blank" rel="nofollow">SMIL 3.0</a>, was just published in December 2008. If you printed out the SMIL 3.0 specification on US-Letter-sized paper, it would weigh in at 395 pages. So don&#8217;t do that.</p>
<p>QuickTime supports a <a href="http://developer.apple.com/documentation/QuickTime/IQ_InteractiveMovies/quicktimeandsmil/chapter_10_section_1.html" title="Subset of SMIL 1.0" target="_blank" rel="nofollow">subset of SMIL 1.0</a>. WebAIM provides a nice <a href="http://www.webaim.org/techniques/captions/quicktime/" title="Tutorial on using SMIL to add captions to a QuickTime movie" target="_blank" rel="nofollow">tutorial on using SMIL to add captions to a QuickTime movie</a>.</p>
<p><strong>Further reading</strong></p>
<ul>
<li><a href="http://joeclark.org/book/sashay/serialization/Chapter13.html" title="Multimedia Accessibility" target="_blank" rel="nofollow">Multimedia Accessibility</a> (Joe Clark)</li>
<li><a href="http://www.webaim.org/techniques/captions/" title="Web Captioning Overview" target="_blank" rel="nofollow">Web Captioning Overview</a> (WebAIM)</li>
<li><a href="http://www.afterdawn.com/guides/archive/subtitle_formats_explained.cfm" title="Subtitle formats explained" target="_blank" rel="nofollow">Subtitle formats explained</a> (AfterDawn)</li>
<li><a href="http://www.opensubtitles.org/en/downloads" title="How to play subtitles" target="_blank" rel="nofollow">How to play subtitles</a> (OpenSubtitles)</li>
<li><a href="http://en.wikipedia.org/wiki/Subtitle_%28captioning%29" title="Wikipedia: Subtitle captioning" target="_blank" rel="nofollow">Subtitle (captioning)</a></li>
<li><a href="http://en.wikipedia.org/wiki/Closed_captioning" title="Wikipedia: Closed captioning" target="_blank" rel="nofollow">Closed captioning</a></li>
<li><a href="http://forum.doom9.org/showthread.php?t=62723" title="MP4 FAQ" target="_blank" rel="nofollow">MP4 FAQ</a> (doom9)</li>
<li><a href="http://help.youtube.com/support/youtube/bin/answer.py?answer=100077&#038;cbid=-evuehvvzg96r&#038;src=cb&#038;lev=answer" title="Adding and editing YouTube captions" target="_blank" rel="nofollow">Adding/editing captions on YouTube videos</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/mark-pilgrim-a-gentle-introduction-to-video-encoding-captioning/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#039;s In Google Chrome&#039;s User-Agent String</title>
		<link>http://www.simonwhatley.co.uk/whats-in-google-chromes-user-agent-string</link>
		<comments>http://www.simonwhatley.co.uk/whats-in-google-chromes-user-agent-string#comments</comments>
		<pubDate>Fri, 12 Sep 2008 12:10:43 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Chrome's address bar]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Google Inc.]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[HyperText Transfer Protocol]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Internet users]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[mobile phones]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Official Build Google Inc.]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[United States]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[User Agent]]></category>
		<category><![CDATA[web crawlers]]></category>
		<category><![CDATA[Web Standards era]]></category>
		<category><![CDATA[webmaster]]></category>
		<category><![CDATA[windowing system]]></category>
		<category><![CDATA[Windows NT]]></category>
		<category><![CDATA[X11]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1123</guid>
		<description><![CDATA[With the advent Google Chrome there has been a lot of media coverage regarding the browser’s uptake and how it will compete with Internet Explorer, Firefox and Safari. This is where the User Agent becomes most valuable.]]></description>
			<content:encoded><![CDATA[<p>With the advent <a href="http://www.google.com/chrome/" title="" target="_blank" rel="nofollow">Google Chrome</a> there has been a lot of media coverage regarding the browser&#8217;s uptake and how it will compete with Internet Explorer, Firefox and Safari. This is where the User Agent becomes most valuable. It can be used in analytics software to determine the browser share and consequently aid the development of the website.</p>
<p>But what is a User Agent? A User Agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the Web. Web user agents range from web browsers and e-mail clients to search engine crawlers (<q>spiders</q>), as well as mobile phones, screen readers and braille browsers used by people with disabilities. When Internet users visit a web site, a text string is generally sent to identify the user agent to the server. This forms part of the <abbr title="HyperText Transfer Protocol">HTTP</abbr> request, prefixed with <strong>user-agent:</strong> and typically includes information such as the application name, version, host operating system, and language. Bots, such as web crawlers, often also include a <abbr title="Universal Resource Locator">URL</abbr> and/or e-mail address so that the webmaster can contact the operator of the bot.</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>By simply typing <strong>about:version</strong> into Chrome&#8217;s address bar you will be presented with the following information:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Google Chrome
0.2.149.29 (1798)
Official Build
Google Inc.
Copyright © 2006-2008 Google Inc. All Rights Reserved.
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13</pre></div></div>

<p>As you can see Chrome&#8217;s version information provides limited detail about the browser. The last line is the important one. It is the <abbr title="HyperText Transfer Protocol">HTTP</abbr> <em>User-Agent</em> header:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13.</pre></div></div>

<p>If you know the <a href="http://tools.ietf.org/html/rfc2616" title="RFC 2616 Hypertext Transfer Protocol - HTTP/1.1" target="_blank" rel="nofollow">RFC 2616</a> specification on the HyperText Transfer Protocol &#8212; which incidentally, I gladly don&#8217;t &#8212; you would know that the User Agent, or more formally, product token, should be short and to the point:</p>
<blockquote><p>
Product tokens SHOULD be short and to the point. They MUST NOT be used for advertising or other non-essential information. Although any token character MAY appear in a product-version, this token SHOULD only be used for a version identifier (i.e., successive versions of the same product SHOULD only differ in the product-version portion of  the product value).
</p></blockquote>
<p>Clearly this isn&#8217;t the case! One of Google&#8217;s reason&#8217;s behind creating the Chrome browser was to start afresh. It would have therefore been truely amazing if they had made the string simply <em>Chrome/0.2.149.27</em>.</p>
<p>Unfortunately, <a href="http://en.wikipedia.org/wiki/Browser_sniffing" title="Wikipedia: Browser Sniffing" target="_blank" rel="nofollow">browser sniffing</a> makes an ever-growing <abbr title="User-Agent">UA</abbr> string the path of least resistance for browser vendors.</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>So, what does Chrome&#8217;s User Agent string actually mean:</p>
<ul>
<li><strong>Mozilla/</strong> &#8211; This means that browser has the kind of capabilities that Netscape 1.1 had compared to <a href="http://en.wikipedia.org/wiki/Mosaic_(web_browser)" title="Wikipedia: Mosaic Web Browser" target="_blank" rel="nofollow">Mosaic</a> and <a href="http://en.wikipedia.org/wiki/Lynx_(web_browser)" title="Wikipedia: Lynx Web Browser" target="_blank" rel="nofollow">Lynx</a>.</li>
<li><strong>5.0</strong> &#8211; This means that the browser engine is from the post-Browser War Web Standards era as opposed to being from the Browser War era.</li>
<li><strong>(Windows;</strong> &#8211; This means that general windowing system flavor the browser runs on is Windows (as opposed to, for example, Apple and X11).</li>
<li><strong>U;</strong> &#8211; This means that the browser has at least the level of <a href="http://en.wikipedia.org/wiki/User_agent#Encryption_strength_.22U.22_.2F_.22I.22_.2F_.22N.22" title="Wikipedia: Encryption Strength" target="_blank" rel="nofollow">cryptographic capability / encryption strength</a> that U.S. versions of browsers had in the late 1990s.</li>
<li><strong>Windows NT 6.0;</strong> &#8211; This indicates the operating system the browser is running on. In this instance, the browser is running on Vista.</li>
<li><strong>en-US)</strong> &#8211; This indicates the user interface language of the browser (U.S. English in this case). This may be used to choose between different <em>content</em> languages even though <abbr title="HyperText Transfer Protocol">HTTP</abbr> has a different header for that purpose.</li>
<li><strong>AppleWebKit/</strong> &#8211; This indicates that the engine of the browser is <a href="http://webkit.org/" title="Webkit opensource project" target="_blank" rel="nofollow">WebKit</a> as opposed to being <a href="http://developer.mozilla.org/en/Gecko" title="Mozilla: Gecko Layout Engine" target="_blank" rel="nofollow">Gecko</a>. Developers should not do user agent sniffing as a rule, but if they still do, this is what they should be sniffing.</li>
<li><strong>525.13</strong> &#8211; This is the WebKit version from which Chrome branched its copy. Site admins could use this to detect old versions with known bugs.</li>
<li><strong>(KHTML, like Gecko)</strong> &#8211; This introduces the substring <q>Gecko</q> into the <abbr title="User-Agent">UA</abbr> string while pointing out to human readers that Webkit was forked from <a href="http://en.wikipedia.org/wiki/KHTML" title="Wikipedia: KHTML" target="_blank" rel="nofollow">KHTML</a>. Without this substring, Chrome might be put in the same category as <abbr title="Internet Explorer">IE</abbr> and Netscape 4.</li>
<li><strong>Chrome/</strong> &#8211; This string identifies the browser as actually Google Chrome.</li>
<li><strong>0.2.149.27</strong> &#8211; This is the Chrome version. This could be used to detect old versions with known bugs.</li>
<li><strong>Safari/</strong> &#8211; This means that the browser is like Safari as opposed to being like Firefox.</li>
<li><strong>525.13</strong> &#8211; This just repeats the WebKit version in order to have <em>some</em> version but not the irrelevant Safari.app version.</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>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/whats-in-google-chromes-user-agent-string/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Than Just Hot AIR &#8211; Single Site Browsers</title>
		<link>http://www.simonwhatley.co.uk/more-than-just-hot-air-single-site-browsers</link>
		<comments>http://www.simonwhatley.co.uk/more-than-just-hot-air-single-site-browsers#comments</comments>
		<pubDate>Wed, 09 Apr 2008 09:11:13 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[3D graphics]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Integrated Runtime]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Alex Graveley]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[auto-software updates]]></category>
		<category><![CDATA[Bubbles]]></category>
		<category><![CDATA[Chris Toshok]]></category>
		<category><![CDATA[clever little tools]]></category>
		<category><![CDATA[control device]]></category>
		<category><![CDATA[default web browser]]></category>
		<category><![CDATA[desktop applications]]></category>
		<category><![CDATA[desktop computing]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flash player for development]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[graphics hardware]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Mozilla Prism]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[Pyro]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[single site browsers]]></category>
		<category><![CDATA[site-specific applications]]></category>
		<category><![CDATA[SSB]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Web Browser]]></category>
		<category><![CDATA[Web browsers]]></category>
		<category><![CDATA[web browsing activity]]></category>
		<category><![CDATA[web resource]]></category>
		<category><![CDATA[web resources]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=510</guid>
		<description><![CDATA[Adobe Integrated Runtime is more than just hot air, it traverses the previously unexplored space that exists between the Web and desktop applications.

Up until very recently, the void between the Web and the desktop seemed like a schism that could not be crossed. But since AIR's 1.0 release in February this year, a whole host of other applications are emerging to compete with AIR in the single site browser space.]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/adobe_air_logo.thumbnail.png' alt='Adobe AIR Logo' style="float:left; margin-right:5px;" />Adobe Integrated Runtime is more than just hot air, it traverses the previously unexplored space that exists between the Web and desktop applications.</p>
<p>Up until very recently, the void between the Web and the desktop seemed like a schism that could not be crossed. But since <acronym title="Adobe Integrated Runtime">AIR</acronym>&#8216;s 1.0 release in February this year, a whole host of other applications are emerging to compete with <acronym title="Adobe Integrated Runtime">AIR</acronym> in the single site browser space.</p>
<p>Although <acronym title="Adobe Integrated Runtime">AIR</acronym> is very new, the product is remarkably mature with the integration of the excellent opensource <a href="http://webkit.org" title="WebKit" target="_blank" rel="nofollow">WebKit</a> browser engine for rendering <acronym title="HyperText Markup Language">HTML</acronym> and JavaScript, the <a href="http://www.sqlite.org" title="SQLite" target="_blank" rel="nofollow">SQLite</a> database engine for embedded database functionality and of course, Adobe&#8217;s Flash player for development of Flash-based Rich Internet Applications. Because of this flexibility, the learning curve faced by developers is almost non-existent, they simply have to get to grips with the <acronym title="Adobe Integrated Runtime">AIR</acronym> <acronym title="Application Programming Interface">API</acronym>.</p>
<h3>What is all the fuss about?</h3>
<p>Delving into the <acronym title="Adobe Integrated Runtime">AIR</acronym> <acronym title="Application Programming Interface">API</acronym>, your application will have the ability to detect whether it is currently the active window or connected to the network. You can access the file system, allowing you to read and write files, access other datasources, tap into the native menu options or interact with almost any aspect of the operating system in a way familiar to common desktop applications. This functionality is available regardless of the architecture on which it is installed. Therefore <acronym title="Adobe Integrated Runtime">AIR</acronym> applications will work similarly when installed on a Windows <acronym title="Personal Computer">PC</acronym> or Mac, and soon on Linux machines as well.</p>
<blockquote><p>AIR is much, much more than a single-site browser &#8212; it&#8217;s a cross-platform runtime environment and the distinction is significant.</p></blockquote>
<p>The ability to run applications built on <acronym title="Adobe Integrated Runtime">AIR</acronym> on almost any machine, on- and offline, sets it apart from any other offering currently out there or in development. For example, <a href="http://gears.google.com" title="Google Gears" target="_blank" rel="nofollow">Google Gears</a> is restricted to <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> applications, whilst Mozilla Prism isn&#8217;t much more advanced than a cut-down version of Firefox, with no offline capabilities yet.</p>
<h3>Who else has entered the race?</h3>
<p>As mentioned, a significant entry is Mozilla&#8217;s <a href="http://labs.mozilla.com/projects/prism/" title="Mozilla Prism" target="_blank" rel="nofollow">Prism</a>, however, <a href="http://www.karppinen.fi/pyro/" title="Pyro" target="_blank" rel="nofollow">Pyro</a> for Linux and <a href="http://www.3d3r.com/bubbles/" title="3D3R Bubbles" target="_blank" rel="nofollow">Bubbles</a> and <a href="http://fluidapp.com/" title="Fluid App" target="_blank" rel="nofollow">Fluid</a> for Mac are clever little tools for packaging up an existing website and presenting it as a standalone desktop application.</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>
<h3>Mozilla Prism</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/mozilla-prism-logo.thumbnail.png' alt='Mozilla Prism Logo' style="float:left; margin-right:5px;" />Prism, previously known as WebRunner is a product in development which integrates web applications with the desktop, allowing web applications to be launched from the desktop and configured independently of the default web browser. It is commonly used with Google <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> Applications, such as Gmail and Google Docs.</p>
<p>Prism is part of an experiment by Mozilla designed to &#8220;bridge the divide in the user experience between web applications and desktop applications&#8221;. Essentially, Prism will allow you to create a desktop-like application out of individual websites. These site-specific applications are a growing trend and a trend heavily marketed by, not only Adobe, but now Mozilla, as &#8216;the future&#8217;.</p>
<blockquote><p>
While traditionally users have interacted mostly with desktop applications, more and more of them are using Web applications. But the latter often fit awkwardly into the document-centric interface of Web browsers.</p></blockquote>
<p>In its current form, Prism doesn&#8217;t have the ability to function as a desktop application without access to the Internet, but Mozilla says it is &#8220;working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to <abbr title="3 Dimensional">3D</abbr> graphics hardware.&#8221;</p>
<p>More details can be found on the <a href="http://labs.mozilla.com/projects/prism/" title="Mozilla Prism" target="_blank" rel="nofollow">Mozilla Prism 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>
<h3>Pyro Desktop</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/pyro-logo.thumbnail.png' alt='Pyro Logo' style="float:left; margin-right:5px;" />Pyro Desktop is a new type of desktop environment for Linux built on Mozilla Firefox. Its goal is to enable true integration between the Web and modern desktop computing. Pyro was announced during <acronym title="GNOME Users' And Developers' European Conference">GUADEC</acronym> 2007 and is developed by Alex Graveley and Chris Toshok.</p>
<p>More details can be found on the <a href="http://www.karppinen.fi/pyro/" title="Pyro" target="_blank" rel="nofollow">Pyro Desktop website</a>.</p>
<h3>3D3R Bubbles</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/bubbles-logo.thumbnail.gif' alt='Bubbles Logo' style="float:left; margin-right:5px;" />Bubbles is a desktop application that allows you to work with your web resources in the way you want to work with them.</p>
<p>The Bubbles application window, known simply as a Bubble carries the web resource almost like a web browser does. Since the Bubble has advanced browser capabilities there&#8217;s an advanced control device for it &#8212; the Bubble seed &#8212; an <acronym title="eXensible Markup Language">XML</acronym> file called Smart Bubble. It defines the properties â€” the whats &#038; the hows â€” of its Bubble window. The Smart Bubble contains the information about what Bubble will load, how it will look on the desktop and what capabilities it will have, etc. So it goes from the Smart Bubble into a grown Bubble that lives on your desktop, accessible from the system tray.</p>
<p>More details can be found on the <a href="http://www.3d3r.com/bubbles/" title="3D3R Bubbles" target="_blank" rel="nofollow">3D3R Bubbles website</a>.</p>
<h3>Fluid App</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/fluid-logo.thumbnail.png' alt='Fluid Logo' style="float:left; margin-right:5px;" />Fluid is a way to create Site-Specific Browsers <acronym title="Site-Specific Browsers">SSB</acronym>s to run each of your favorite WebApps as a separate desktop application. Fluid gives any WebApp a home on your Mac OS X desktop complete with Dock icon, standard menu bar, logical separation from your other web browsing activity, and many other goodies.</p>
<p>Fluid includes optional Tabbed Browsing, built-in Userscripting (aka <a href="https://addons.mozilla.org/en-US/firefox/addon/748" title="GreaseMonkey" target="_blank" rel="nofollow">Greasemonkey</a>/<a href="http://8-p.info/greasekit/" title="GreaseKit" target="_blank" rel="nofollow">GreaseKit</a>), RSS/Atom Feed detection, a JavaScript <acronym title="Application Programming Interface">API</acronym> for setting dock badges, showing <a href="http://growl.info/" title="Growl" target="_blank" rel="nofollow">Growl</a> notifications and adding Dock Menu Items, optional bookmarks, optional browsing to urls outside the <acronym title="Site-Specific Browsers">SSB</acronym> &#8220;home&#8221; domain, Dock badges and Dock menus for Gmail, Google Reader, Facebook, Flickr, and Yahoo! Mail, auto-software updates via the <a href="http://sparkle.andymatuschak.org/" title="Sparkle Update Framework" target="_blank" rel="nofollow">Sparkle Update framework</a>, and custom <acronym title="Site-Specific Browsers">SSB</acronym> icons.</p>
<p>More details can be found on the <a href="http://fluidapp.com/" title="Fluid App" target="_blank" rel="nofollow">Fluid App 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/more-than-just-hot-air-single-site-browsers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Installation &#8211; Problems with Skype</title>
		<link>http://www.simonwhatley.co.uk/apache-installation-problems-with-skype</link>
		<comments>http://www.simonwhatley.co.uk/apache-installation-problems-with-skype#comments</comments>
		<pubDate>Thu, 21 Feb 2008 22:29:33 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[skype]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=399</guid>
		<description><![CDATA[When trying to install the latest version of Apache on my development machine, I was presented with a nasty error at the end of the installation, that I initially thought related to a previous IIS installation.]]></description>
			<content:encoded><![CDATA[<p>When trying to install the latest version of Apache on my development machine, I was presented with the following error at the end of the installation:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Only one usage of each socket address (protocol/network address/port) is normally pemitted.
make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to openlogs
Note the errors or messages above, and press the &lt; ESC &gt; key to exit.</pre></div></div>

<p>Initially I thought it was a problem associated with Windows Vista (yes my development machine is a Vista PC!) and the previously installed <acronym title="Internet Information Services">IIS</acronym>. However, after a lot of deliberating and Google searches, it appears that Skype was the culprit. Skype listens on port 80 and 443 for incoming requests. So to solve the problem I simply closed down Skype and re-installed Apache. As Apache was setup as a Windows service, no conflicts subsequently arise with Skype as Apache will start using the ports before Skype.</p>
<p>There is a setting in Skype under Tools > Options > Advanced > Connection called &#8220;Use port 80 and 443 as alternatives for incoming connections&#8221;. This is checked by default. Uncheck this to prevent conflicts with Apache.</p>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/skype-advanced-options.JPG' alt='Skype Advanced Connection Options' /></p>
<p>The Key Point: Stop Skype before installing Apache.</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/apache-installation-problems-with-skype/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP.ini Permission Problems on Windows Vista</title>
		<link>http://www.simonwhatley.co.uk/phpini-permission-problems-on-windows-vista</link>
		<comments>http://www.simonwhatley.co.uk/phpini-permission-problems-on-windows-vista#comments</comments>
		<pubDate>Sun, 17 Feb 2008 22:28:41 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[administrator]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[configuring]]></category>
		<category><![CDATA[difficulties]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[paths]]></category>
		<category><![CDATA[permissions]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[Rob Douglas]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[solutions]]></category>
		<category><![CDATA[solving]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=398</guid>
		<description><![CDATA[Installing PHP is a relatively simple task one would think. Indeed it is simple, but configuring the php.ini isn't; at least not so on Windows Vista! It is infuriating when such a relatively simple task is made inordinately complicated because of the nuances of Vista permissions. What started out as a 5 minute task took a significant number of hours searching for a suitable answer on Google, and not only by myself.]]></description>
			<content:encoded><![CDATA[<p>Installing PHP is a relatively simple task one would think. Indeed it is simple, but configuring the php.ini isn&#8217;t; at least not so on Windows Vista! It is infuriating when such a relatively simple task is made inordinately complicated because of the nuances of Vista permissions. What started out as a 5 minute task took a significant number of hours searching for a suitable answer on Google, and not only by myself.</p>
<p>The task I was trying to achieve was the installation of development versions of <a href="http://wordpress.org" title="WordPress" rel="nofollow">WordPress</a>, <a href="http://drupal.org" title="Drupal" rel="nofollow">Drupal</a>, <a href="http://www.mediawiki.org" title="MediaWiki" rel="nofollow">MediaWiki</a> and <a href="http://moodle.org" title="Moodle" rel="nofollow">Moodle</a>, all of which would require a MySQL database. Trying to load the MySQL extension should have been a simple case of uncommenting the line in the php.ini and restarting the Apache service. With Vista, this was certainly not the case.</p>
<p>I set up a very simple page detailing the <acronym title="PHP: Hypertext Preprocessor">php</acronym> configuration in an index.php file:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php <span style="color: #990000;">phpinfo</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>This showed me the default configuration path of my php.ini and extensions directory, amongst a whole host of other information.</p>
<p>In both cases the paths were incorrect. First and foremost the configuration file path stated <code>C:\Windows</code> when in fact I had installed it in the root (<code>C:\PHP5</code>). So, although I was amending the php.ini file with the correct detail, Vista was using the default values. If there is no php.ini file in Windows, then you&#8217;ll continue banging your head against a brick wall.</p>
<p>The problems didn&#8217;t stop there. Moving the php.ini file to the Windows directory under Vista isn&#8217;t a simple copy and paste task. You need to be administrator. But Vista&#8217;s administrator priviledges are more pseudo than actual! In order to amend and save the php.ini file in the Windows directory, you must run Notepad as administrator and save the file as such. Voila! Everything then works. The <code>phpinfo()</code> function returned the correct installation detail and I could continue with the job I was meant to be doing.</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>PS. Thanks to <a href="http://www.anucreative.com" title="Rob Douglas" rel="nofollow">Rob Douglas</a> for his help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/phpini-permission-problems-on-windows-vista/feed</wfw:commentRss>
		<slash:comments>0</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>
		<item>
		<title>Web 2.0 and Beyond with Silverlight and XAML</title>
		<link>http://www.simonwhatley.co.uk/web-20-and-beyond-with-silverlight-and-xaml</link>
		<comments>http://www.simonwhatley.co.uk/web-20-and-beyond-with-silverlight-and-xaml#comments</comments>
		<pubDate>Mon, 10 Dec 2007 10:08:29 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[3.0 technologies]]></category>
		<category><![CDATA[ActiveX control]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[brilliant tool]]></category>
		<category><![CDATA[browser-based]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[e.g]]></category>
		<category><![CDATA[extensible application markup language]]></category>
		<category><![CDATA[favourite editor]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[interactivity]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[Internet arena]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Magic Extensible Markup Language]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[mobile web browser]]></category>
		<category><![CDATA[moonlight]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[rich internet applciations]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Rich Internet arena]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[stream media]]></category>
		<category><![CDATA[thermo]]></category>
		<category><![CDATA[user interfaces]]></category>
		<category><![CDATA[vector graphics]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[web application development mix]]></category>
		<category><![CDATA[web developers]]></category>
		<category><![CDATA[web world]]></category>
		<category><![CDATA[windows presentation foundation]]></category>
		<category><![CDATA[Windows Workflow Foundation]]></category>
		<category><![CDATA[XAML]]></category>
		<category><![CDATA[XAML technology]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=301</guid>
		<description><![CDATA[Microsoft is finally making real efforts to woo the designer community who have traditionally worshipped the Adobe and Mac product ranges. One new product that addresses this previously overlooked community is Silverlight, which uses the XAML technology and is touted as Microsoft’s Flash killer. For anyone who is keen to listen, Microsoft proposes that Silverlight will achieve similar results to Flash, but it does so in an entirely different way and has different aims. So, the big question is, will Microsoft be able to break the dominance of Adobe’s Flash platform, that is available on the PC, Mac and mobile devices alike? I’m sure the jury is out on that one, but it can be said it is an uphill task.]]></description>
			<content:encoded><![CDATA[<p>Microsoft is finally making real efforts to woo the designer community who have traditionally worshipped the Adobe and Mac product ranges. One new product that addresses this previously overlooked community is <a href="http://www.microsoft.com/silverlight/" title="Microsoft Silverlight" rel="nofollow">Silverlight</a>, which uses the <acronym title="Extensible Application Markup Language">XAML</acronym> technology and is touted as Microsoft&#8217;s Flash killer. For anyone who is keen to listen, Microsoft proposes that Silverlight will achieve similar results to Flash, but it does so in an entirely different way and has different aims. So, the big question is, will Microsoft be able to break the dominance of Adobe&#8217;s Flash platform, that is available on the PC, Mac and mobile devices alike? I&#8217;m sure the jury is out on that one, but it can be said it is an uphill task.</p>
<p>So what is Silverlight and <acronym title="Extensible Application Markup Language">XAML</acronym> proposition? How does it vary from Flash?</p>
<blockquote><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 Moonlight runtime.</p></blockquote>
<p>Not much difference to Flash so far&#8230;</p>
<blockquote><p>Extensible Application Markup Language (<acronym title="Extensible Application Markup Language">XAML</acronym>) is a declarative XML-based language used to initialize structured values and objects. <acronym title="Extensible Application Markup Language">XAML</acronym> is used extensively in the .NET Framework 3.0 technologies, particularly in Windows Presentation Foundation (<acronym title="Windows Presentation Foundation">WPF</acronym>), where it is used as a user interface markup language to define UI elements, data binding, eventing, and other features, and in Windows Workflow Foundation (<acronym title="Windows Workflow Foundation">WWF</acronym>), in which workflows themselves can be defined using <acronym title="Extensible Application Markup Language">XAML</acronym>.</p></blockquote>
<p>Not much difference to Adobes&#8217;s <acronym title="Magic Extensible Markup Language">MXML</acronym>&#8230;</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><strong>Browser support&#8230;</strong></p>
<p>A frequently asked question is which browsers and operating systems will it run on? If XAML is limited in this area, its usefulness in the web world will also be significantly limited. Previous encarnations of XAML, were limited and justifiably criticised as it would only work with an ActiveX control. However, this has now been resolved with support for Firefox, Opera, Safari and Netscape, Windows and OSX alike. Support is provided by a downloadable plugin, much like Flash!</p>
<p><strong>Like Flash&#8230;</strong></p>
<p>Silverlight enables web developers to create visually rich user interfaces and animations, play video clips and stream media within the web page, again, much like Flash! But it is different! The comparison doesn&#8217;t end there. Animations are organised using timelines and frames within the tool&#8230;how else would you organise an animation without timelines?!</p>
<p><strong>Like Flex&#8230;but not!</strong></p>
<p>Where things differ from Flash are the tools used to develop the Silverlight applications. Silverlight is supposed to be a way of designing and building rich user interfaces. However, standard </acronym><acronym title="Hypertext markup Language">HTML</acronym> elements are missing. The way you design a particular interface is to build a standard <acronym title="Hypertext markup Language">HTML</acronym> form in your favourite editor, e.g. Dreamweaver <acronym title="Creative Suit 3">CS3</acronym>, and then open this page in Silverlight to add the visual enhancements that your design requires. This sounds complicated to say the least. In comparison, Flash has a brilliant tool and framework called <a href="http://www.adobe.com/products/flex/" title="Adobe Flex" target="_blank" rel="nofollow">Flex</a> that does this far more gracefully and with the development of <a href="http://labs.adobe.com/wiki/index.php/Thermo" title="Adobe Thermo" target="_blank" rel="nofollow">Thermo</a>, designers can really feel comfortable in the web application development mix.</p>
<p>Silverlight applications will also run on mobile devices, but the plan is for the applications to only run within a mobile web browser. This is unlike Adobe who are feaverishly developing the <acronym title="Adobe Integrated Runtime">AIR</acronym> runtime to allow Flash applications to run independently of the browser environment and offline.</p>
<p>So, Web 2.0 and beyond with Silverlight and XAML may be somewhat jumping the gun. You may say that there is nothing new or innovative with the Silverlight offering. It does, however, serve to emphasise how important the Rich Internet arena is becoming or indeed has become.</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/web-20-and-beyond-with-silverlight-and-xaml/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Future Directions for Rich Internet Applications</title>
		<link>http://www.simonwhatley.co.uk/future-directions-for-rich-internet-applications</link>
		<comments>http://www.simonwhatley.co.uk/future-directions-for-rich-internet-applications#comments</comments>
		<pubDate>Thu, 19 Jul 2007 18:31:09 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[disparate systems]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[gears]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[integrated applications]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[Internet Applications Rich Internet Applications]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[manual processing]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[performance solutions]]></category>
		<category><![CDATA[quicktime]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Service Orientated Architecture]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[Software as a Service]]></category>
		<category><![CDATA[software orientated architecture]]></category>
		<category><![CDATA[software tools]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Web industry]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[XAML]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=296</guid>
		<description><![CDATA[Rich Internet Applications are just the beginning. A key trend taking place throughout the Web industry is the urgency to integrate disparate systems and software tools to reduce costs, increase developer productivity, reduce the need for manual processing and intervention in transactions, and decrease time to market. To achieve these objectives, organisations have endorsed the adoption of standards-based systems combined with the migration to Web Services and Service Orientated Architecture. This has led to a requirement to create a consistent and intuitive interface to applications, data and services. The immediate goal of these efforts is to provide simpler, quicker and more efficient access and processing of information.]]></description>
			<content:encoded><![CDATA[<p>Rich Internet Applications (<acronym title="Rich Internet Application">RIA</acronym>s) are just the beginning. A key trend taking place throughout the Web industry is the urgency to integrate disparate systems and software tools to reduce costs, increase developer productivity, reduce the need for manual processing and intervention in transactions, and decrease time to market. To achieve these objectives, organisations have endorsed the adoption of standards-based systems (e.g. <acronym title="eXtensible Markup Language">XML</acronym>, Design Patterns, <acronym title="Cascading Style Sheets">CSS</acronym>, <acronym title="European Computer Manufacturers Association">ECMA</acronym>Script) combined with the migration to Web Services and Service Orientated Architecture (<acronym title="Software Orientated Architecture">SOA</acronym>). This has led to a requirement to create a consistent and intuitive interface to applications, data and services. The immediate goal of these efforts is to provide simpler, quicker and more efficient access and processing of information. Increasingly, Web applications are also offering customers application interfaces that are more personalised and customised to each individual&#8217;s specific requests and requirements.</p>
<p>It is clear that <acronym title="Rich Internet Application">RIA</acronym>s offer the potential to fundamentally change the user experience and in doing so, yield significant business benefits. However, in order for <acronym title="Rich Internet Application">RIA</acronym>s to be widely employed, and for more companies to receive these kinds of returns, technologies to build <acronym title="Rich Internet Application">RIA</acronym>s will need to appeal to a wider range of developers. The ability to cost effectively create rich, engaging user experiences that support corporate objectives and reach a broader developer audience without sacrificing development productivity require a new generation of <acronym title="Rich Internet Application">RIA</acronym> tools. These tools are being developed by a large number of organisations with Adobe, Microsoft, Google, Apple and Sun leading the way with the <a href="http://labs.adobe.com/technologies/air/" title="Adobe AIR" target="_blank" rel="nofollow">AIR</a>/<a href="http://www.adobe.com/products/flash/" rel="nofollow" target="_blank" title="Flash">Flash</a>/<a href="http://www.adobe.com/products/flex/" rel="nofollow" target="_blank" title="Flex">Flex</a> combination, <a href="http://silverlight.net/" rel="nofollow" target="_blank" title="Silverlight">Silverlight</a>, <a href="http://gears.google.com/" rel="nofollow" target="_blank" title="Google Gears">Gears</a>, <a href="http://www.apple.com/quicktime/" rel="nofollow" target="_blank" title="Apple's Quicktime">Quicktime</a> and <a href="http://www.sun.com/software/javafx/index.jsp" rel="nofollow" target="_blank" title="Sun's JavaFX">JavaFX</a> respectively.</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>The new generation of <acronym title="Rich Internet Application">RIA</acronym> tools being developed by the likes of Adobe and Microsoft must do the following to allow developers to truely harness the power of <acronym title="Rich Internet Application">RIA</acronym>s in the commercial environment:</p>
<ol>
<li>Allow developers to write applications using familiar development models to utilise and extend their current skills without requiring them to adopt entirely new or different skills</li>
<li>Use standard and standards-based technologies</li>
<li>Use industry specific programming models and patterns</li>
<li>Use and/or leverage the existing IT infrastructure through wrap and reuse rather than rip and replace</li>
<li>Provide pervasive, familiar programming models and an expressive user interface across platforms and devices; and</li>
<li>Allow developers to create a solution that delivers scalable, secure, high performance solutions that are bandwidth efficient</li>
</ol>
<p>These new <acronym title="Rich Internet Application">RIA</acronym> tools will need to provide the features that enhance IT developer&#8217;s abilities to be more creative and to accomplish <acronym title="Rich Internet Application">RIA</acronym> development with the same or less effort than the tools they use to create other types of applications. What is required are the tools that can help developers achieve these objectives without relying on only <acronym title="HyperText Markup Language">HTML</acronym> or other scripting languages, or having to learn a completely new development approach.</p>
<p>Two vendors which have the technology and capaibility to fully deliver Rich Internet Applications are Adobe and Microsoft. With Microsoft&#8217;s <a href="http://silverlight.net/" rel="nofollow" target="_blank" title="Silverlight">Silverlight</a> and <acronym title="Extensible Application Markup Language">XAML</acronym>, developing rich internet applications to run on Windows platforms will progress at a fast rate. In turn, Adobe has had a head start with the aquisition of Macromedia and the subsequent addition of <a href="http://www.adobe.com/products/flash/" rel="nofollow" target="_blank" title="Flash">Flash</a> and <a href="http://www.adobe.com/products/flex/" rel="nofollow" target="_blank" title="Flex">Flex</a> to its product offering. Flash and its relative ubiquity across platforms and devices ensures that <acronym title="Rich Internet Application">RIA</acronym> development and production will be accessible to a large user base and as such puts Adobe at a distinct advantage over Microsoft.<br />
<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/future-directions-for-rich-internet-applications/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion &amp; Lucene</title>
		<link>http://www.simonwhatley.co.uk/coldfusion-lucene</link>
		<comments>http://www.simonwhatley.co.uk/coldfusion-lucene#comments</comments>
		<pubDate>Sun, 09 Apr 2006 22:54:09 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Aaron Johnson]]></category>
		<category><![CDATA[Aaron Johnson Inspired]]></category>
		<category><![CDATA[alternative]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Apache Lucene Java library]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[author]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[dynamic Web applications]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[Full-Text Search]]></category>
		<category><![CDATA[indexing]]></category>
		<category><![CDATA[Jakarta]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Lucene]]></category>
		<category><![CDATA[Lucene Java library]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[RAM]]></category>
		<category><![CDATA[relational database]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[search capabilities]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[text search engine library]]></category>
		<category><![CDATA[Verity]]></category>
		<category><![CDATA[web application]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=75</guid>
		<description><![CDATA[One of the many reasons to use ColdFusion MX is that it has a large, standard toolset that enbales the creation of full-featured, dynamic Web applications. The tag-based language makes it relatively simple to query a relational database and send e-mail. In a similar way, you can create and search Verity full-text indexes.]]></description>
			<content:encoded><![CDATA[<p>One of the many reasons to use ColdFusion MX is that it has a large, standard toolset that enables the creation of full-featured, dynamic Web applications. The tag-based language makes it relatively simple to query a relational database and send e-mail. In a similar way, you can create and search Verity full-text indexes.</p>
<p>However, there are situations where you cannot use the full-text searching capabilities of Verity. For example, Verity only runs on Windows, Linux and Solaris, therefore the ability to run ColdFusion MX on the Apple OS X operating system, whilst advantageuos to developers who code on the Apple platform, does not include the ability to use Verity. Furthermore, programmers who work in a hybrid J2EE/ColdFusion MX environment cannot natively use the Verity search capabilities in the J2EE environment. Finally, programmers who need customized searching and indexing capabilities may find the standard Verity integration limiting. There are work-arounds include installing Verity on a Windows, Linux, or Solaris server and configuring your ColdFusion server to use the remote Verity server, however these may not only be impractical, but cost-prohibitative.</p>
<p>Enter Lucene, an open source full-text searching framework from the Apache Jakarta project, which, when combined with ColdFusion MX, can be run on Apple OS X, can be programmatically accessed by both J2EE and ColdFusion MX developers, and can be fully customized and extended.Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.</p>
<p>Apache Lucene is an open source project available for <a title="Download Apache Lucene" target="_blank" href="http://www.apache.org/dyn/closer.cgi/lucene/java/">free download</a>.</p>
<p><strong>Features</strong></p>
<ul>
<li>Lucene offers powerful features through a simple API.</li>
</ul>
<p><strong>Scalable, High-Performance Indexing</strong></p>
<ul>
<li>Over 20MB/minute on Pentium M 1.5GHz</li>
<li>Small RAM requirements &#8212; only 1MB heap</li>
<li>Incremental indexing as fast as batch indexing</li>
<li>Index size roughly 20-30% the size of text indexed</li>
</ul>
<p><strong>Powerful, Accurate and Efficient Search Algorithms</strong></p>
<ul>
<li>Ranked searching &#8212; best results returned first</li>
<li>Many powerful query types: phrase queries, wildcard queries, proximity queries, range queries and more</li>
<li>Fielded searching (e.g., title, author, contents)</li>
<li>Date-range searching</li>
<li>Sorting by any field</li>
<li>Multiple-index searching with merged results</li>
<li>Allows simultaneous update and searching</li>
</ul>
<h2>ColdFusion &#038; Lucene Implementations</h2>
<p>If you don&#8217;t fancy attempting the task of writing your own ColdFusion implementation of Lucene, below are a couple of projects that will give you a kick-start along the road to indexing database content.  With the addition of other Java projects such as <a title="PDF Box" target="_blank" href="http://www.pdfbox.org/">PDFBox</a> the textual content of a pdf can also be extracted and indexed.</p>
<h2>Aaron Johnson</h2>
<p>Inspired by Lindex, Aaron Johnson has created a CFX Tag called CFX_Lucene that closely mimics the ColdFusion cfsearch tag, but uses Lucene rather than Verity.</p>
<p><a target="_blank" title="cfx_lucene" href="http://cephas.net/blog/lucene/index.html">http://cephas.net/blog/lucene/index.html</a></p>
<h2>CFLucene</h2>
<p>CFLucene is an open source project that attempts to provide developers an easy way to integrate the indexing and searching functions of the Apache Lucene Java library with a ColdFusion web application. The CFLucene is a collection of ColdFusion Components that natively call the Lucene Java classes to index and search any sort of textual data.</p>
<p><a title="CFLucene" target="_blank" href="http://www.cflucene.org/">http://www.cflucene.org/</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/coldfusion-lucene/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coldfusion MX Tuning</title>
		<link>http://www.simonwhatley.co.uk/coldfusion-mx-tuning</link>
		<comments>http://www.simonwhatley.co.uk/coldfusion-mx-tuning#comments</comments>
		<pubDate>Thu, 06 Apr 2006 09:32:49 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Affecting Performance Hardware]]></category>
		<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Closed]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Moment of Truth]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Peter Freitag]]></category>
		<category><![CDATA[RAM]]></category>
		<category><![CDATA[Robi Sen]]></category>
		<category><![CDATA[Sarge]]></category>
		<category><![CDATA[software configuration]]></category>
		<category><![CDATA[Steven Erat]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[Tuning]]></category>
		<category><![CDATA[Virtual Machine]]></category>
		<category><![CDATA[Web Server]]></category>
		<category><![CDATA[Web server performance CFML application Macromedia JRun]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=73</guid>
		<description><![CDATA[For many ColdFusion developers, server setup, tuning, troubleshooting and configuration is one of the least understood areas of ColdFusion. Achieving the highest possible performance and scalability with a ColdFusion MX application is a complex combination of many different factors. Standard performance tuning guidelines in conjunction with the tips provided below should allow you to achieve maximum application performance and scalability. Performance refers to the response time of requests to CFML pages and Components (CFCs), whilst scalability refers to how the performance results change when the load on the server increases.]]></description>
			<content:encoded><![CDATA[<p>For many ColdFusion developers, server setup, tuning, troubleshooting and configuration is one of the least understood areas of ColdFusion. Achieving the highest possible performance and scalability with a ColdFusion MX application is a complex combination of many different factors. Standard performance tuning guidelines in conjunction with the tips provided below should allow you to achieve maximum application performance and scalability.</p>
<p>Performance refers to the response time of requests to CFML pages and Components (CFCs), whilst scalability refers to how the performance results change when the load on the server increases.</p>
<p>Factors Affecting Performance</p>
<ul>
<li>Hardware and software configuration</li>
<li>Database and other external system requests</li>
<li>Web server performance</li>
<li>CFML application</li>
</ul>
<h2>Macromedia</h2>
<ul>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18206">JRun 4.0: Configuring individual JVM settings for each JRun Server</a></li>
<li><a href="http://www.macromedia.com/devnet/java/articles/jrun_perf.html">The Moment of Truth: Tuning Performance in JRun Apps and Environment</a></li>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18744">JRun 4: General troubleshooting techniques for an unresponsive JRun server</a></li>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_19438">ColdFusion MX: Explanation of Request Timeout and threadWaitTimeout settings</a></li>
<li><a href="http://livedocs.macromedia.com/jrun/4/JRun_Administrators_Guide/jrundotxml2.htm">Server settings: the jrun.xml file</a></li>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18540">ColdFusion MX: Tips for performance and scalability</a></li>
</ul>
<h2>Sun</h2>
<ul>
<li><a href="http://java.sun.com/docs/hotspot/gc1.4.2/faq.html">Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine</a></li>
<li><a href="http://java.sun.com/docs/hotspot/gc1.4.2/">Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine</a></li>
<li><a href="http://java.sun.com/performance/reference/whitepapers/tuning.html">Java Tuning White Paper</a></li>
<li><a href="http://java.sun.com/performance/jvmstat/">jvmstat 3.0</a></li>
</ul>
<h2>Brandon Purcell</h2>
<ul>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=1068">ColdFusion Peformance Tuning Presentation</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=1062">Obtaining a Thread Dump with ColdFusion or JRun running as a Windows Service</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=1007">JRun Connection Closed Errors</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;REFERRER=year2003stats&#038;ENTRY=967">Performance Tuning and Monitoring Coldfusion or JRun</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=934">Java Thread and How does it work?</a></li>
<li><a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&#038;entry=877">Advanced Debugging In JRun 4</a></li>
</ul>
<h2>Steven Erat</h2>
<ul>
<li><a href="http://www.talkingtree.com/blog/index.cfm/2005/3/11/ContextSwitchingBad">Steven Erat&#8217;s blog: activeHandlerThreads or Simultaneous Requests: Less is More</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm/2005/2/7/CFMX7JRunSimReqs">Simultaneous Requests in CFMX 7</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm?mode=entry&#038;entry=B13095A3-45A6-2844-799942B3CBA5269E">Keep Library Loaded &#8211; Check this box to retain the library in RAM</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm/2006/2/21/SeeStack-is-here">SeeStack &#8211; Parse ColdFusion Thread Dumps Like a Pro!</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm/2005/11/28/Request-timed-out-waiting-for-an-available-thread-to-run">Request timed out waiting for an available thread to run</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm?mode=alias&#038;alias=CFStability1">Troubleshooting Tips For ColdFusion MX</a></li>
<li><a href="http://www.talkingtree.com/blog/index.cfm?mode=entry&#038;entry=25A96CB1-45A6-2844-771A3A5C7DFD4201">Help! My ColdFusion MX Server is Slow!!!!</a></li>
</ul>
<h2>Peter Freitag</h2>
<ul>
<li><a href="http://www.petefreitag.com/articles/gctuning/">Peter Freitag&#8217;s blog: Tuning Garbage Collection Outline</a></li>
<li><a href="http://www.petefreitag.com/item/139.cfm">ColdFusion Garbage</a></li>
<li><a href="http://www.petefreitag.com/item/115.cfm">ColdFusion Memory Usage Stats</a></li>
<li><a href="http://www.petefreitag.com/item/101.cfm">Getting ColdFusion Server Metrics</a></li>
<li><a href="http://www.petefreitag.com/item/89.cfm">Have you tuned your JVM on ColdFusion MX yet?</a></li>
</ul>
<h2>Daemon</h2>
<ul>
<li><a href="http://blog.daemon.com.au/archives/000279.html">Daemonite blog: Maximum JVM heap size for CFMX</a></li>
<li><a href="http://blog.daemon.com.au/archives/000277.html">Enhancing CFMX logging</a></li>
</ul>
<h2>Others</h2>
<ul>
<li><a href="http://www.sumoc.com/blog/index.cfm?mode=entry&#038;entry=CDCDBF8B-5004-2066-B7460CDEAB79328F">CFMX JVM Tuning &#8211; The difference between MaxPermSize and Heap Size</a></li>
<li><a href="http://www.sargeway.com/blog/index.cfm?mode=entry&#038;entry=27">Sarge&#8217;s blog: CFMX Performance Settings (JRun 50% CPU thread)</a></li>
<li><a href="http://www.robisen.com/index.cfm?mode=entry&#038;entry=FD4BE2FC-55DC-F2B1-FED0717CC1C7E0AF">Robi Sen&#8217;s blog: Hung Servers, Java.lang.OutOFMemory errors and Tuning CF JVM</a></li>
<li><a href="http://www.folgmann.de/en/j2ee/gc.html">Misc: Java Garbage Collection Tuning</a></li>
<li><a href="http://www.javaperformancetuning.com/resources.shtml">Java Performance Tuning</a></li>
<li><a href="http://seefusion.com/">SeeFusion  ::  ColdFusion Server Monitoring</a></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>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/coldfusion-mx-tuning/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

