<?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>blog.kungf.eu</title>
	<atom:link href="http://blog.kungf.eu/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.kungf.eu</link>
	<description>The Stuff of Hamish Brains</description>
	<lastBuildDate>Mon, 28 Dec 2009 19:00:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Locusts</title>
		<link>http://blog.kungf.eu/archived/locusts</link>
		<comments>http://blog.kungf.eu/archived/locusts#comments</comments>
		<pubDate>Mon, 28 Sep 2009 18:56:21 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=381</guid>
		<description><![CDATA[This summer I was lucky enough to receive a Nuffield bursary to work on a short research project. During this time I build a game to study the seeing and sensing of others across multi-touch work surfaces. I combined interactive tabletops and vibrotactile sensory augmentation to enhance collaborative task performance.
The end result was game, where [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.kungf.eu/wp-content/uploads/2009/12/LocustLogo_512x512-150x150.png" alt="" title="LocustLogo_512x512" width="150" height="150" class="alignright size-thumbnail wp-image-382" />This summer I was lucky enough to receive a Nuffield bursary to work on a short research project. During this time I build a game to study the seeing and sensing of others across multi-touch work surfaces. I combined interactive tabletops and vibrotactile sensory augmentation to enhance collaborative task performance.</p>
<p>The end result was game, where players must work together to defend their crops from swarms of hungry locusts. The game incorporates a number of technologies including: Diamond multi-touch tables, and vibrotactile actuators. The software isn&#8217;t entirely complete due to lack of time. There is a project homepage at <a href="http://locusts.googlecode.com/">http://locusts.googlecode.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/locusts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breaking News: Journalism and the Internet</title>
		<link>http://blog.kungf.eu/archived/breaking-news-journalism-and-the-internet</link>
		<comments>http://blog.kungf.eu/archived/breaking-news-journalism-and-the-internet#comments</comments>
		<pubDate>Thu, 02 Jul 2009 13:27:11 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Drivel]]></category>
		<category><![CDATA[Coursework]]></category>
		<category><![CDATA[essay]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[journalism]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[University]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=339</guid>
		<description><![CDATA[
1 Introduction

The decline of printed news in the UK is not a recent phenomenon. Since peak circulations in the 1950s, they have fought a loosing battle with technical innovations; such as radio and television.(Thompson, 1990) In the 21st century the new media is online, and downward trends are more marked that ever.(ABCs, 1931 &#8211; 2009) [...]]]></description>
			<content:encoded><![CDATA[<style><!--
/* start css.sty */
.cmr-10x-x-109{}
.cmr-8{font-size:72%;}
.cmr-6{font-size:54%;}
.cmsy-10x-x-109{}
.ecbx-1095{ font-weight: bold;}
.ecbx-1440{font-size:127%; font-weight: bold;}
.ecbx-1440{ font-weight: bold;}
.ecsx-2074{font-size:181%; font-weight: bold;}
.ecsx-2074{ font-weight: bold;}
.ecrm-1440{font-size:127%;}
.ectt-1095{ font-family: monospace;}
.ecti-1095{ font-style: italic;}
.ecrm-0900{font-size:81%;}
.ecti-0900{font-size:81%; font-style: italic;}
.ecti-0900{ font-style: italic;}
.ectt-0900{font-size:81%; font-family: monospace;}
.ectt-0900{ font-family: monospace;}
p.noindent { text-indent: 0em }
td p.noindent { text-indent: 0em; margin-top:0em; }
p.nopar { text-indent: 0em; }
p.indent{ text-indent: 1.5em }
@media print {div.crosslinks {visibility:hidden;}}
a img { border-top: 0; border-left: 0; border-right: 0; }
center { margin-top:1em; margin-bottom:1em; }
td center { margin-top:0em; margin-bottom:0em; }
.Canvas { position:relative; }
img.math{vertical-align:middle;}
li p.indent { text-indent: 0em }
li p:first-child{ margin-top:0em; }
li p:last-child, li div:last-child { margin-bottom:0.5em; }
li p~ul:last-child, li p~ol:last-child{ margin-bottom:0.5em; }
.enumerate1 {list-style-type:decimal;}
.enumerate2 {list-style-type:lower-alpha;}
.enumerate3 {list-style-type:lower-roman;}
.enumerate4 {list-style-type:upper-alpha;}
div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
.obeylines-h,.obeylines-v {white-space: nowrap; }
div.obeylines-v p { margin-top:0; margin-bottom:0; }
.overline{ text-decoration:overline; }
.overline img{ border-top: 1px solid black; }
td.displaylines {text-align:center; white-space:nowrap;}
.centerline {text-align:center;}
.rightline {text-align:right;}
div.verbatim {font-family: monospace; white-space: nowrap; text-align:left; clear:both; }
.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
div.fbox {display:table}
div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
div.minipage{width:100%;}
div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
div.center div {text-align: left;}
div.flushright, div.flushright div.flushright {text-align: right;}
div.flushright div {text-align: left;}
div.flushleft {text-align: left;}
.underline{ text-decoration:underline; }
.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
.framebox-c {text-align:center;}
.framebox-l {text-align:left;}
.framebox-r {text-align:right;}
span.thank-mark{ vertical-align: super }
span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
table.tabular td p{margin-top:0em;}
table.tabular {margin-left: auto; margin-right: auto;}
td p:first-child{ margin-top:0em; }
td p:last-child{ margin-bottom:0em; }
div.td00{ margin-left:0pt; margin-right:0pt; }
div.td01{ margin-left:0pt; margin-right:5pt; }
div.td10{ margin-left:5pt; margin-right:0pt; }
div.td11{ margin-left:5pt; margin-right:5pt; }
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
td.td00{ padding-left:0pt; padding-right:0pt; }
td.td01{ padding-left:0pt; padding-right:5pt; }
td.td10{ padding-left:5pt; padding-right:0pt; }
td.td11{ padding-left:5pt; padding-right:5pt; }
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
.hline hr, .cline hr{ height : 1px; margin:0px; }
.tabbing-right {text-align:right;}
span.TEX {letter-spacing: -0.125em; }
span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
a span.TEX span.E {text-decoration: none; }
span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
span.LATEX span.TEX{ position:relative; left: -0.4em; }
div.float, div.figure {margin-left: auto; margin-right: auto;}
div.float img {text-align:center;}
div.figure img {text-align:center;}
.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
table.equation {width:100%;}
.equation td{text-align:center; }
td.equation { margin-top:1em; margin-bottom:1em; } 
td.equation-label { width:5%; text-align:center; }
td.eqnarray4 { width:5%; white-space: normal; }
td.eqnarray2 { width:5%; }
table.eqnarray-star, table.eqnarray {width:100%;}
div.eqnarray{text-align:center;}
div.array {text-align:center;}
div.pmatrix {text-align:center;}
table.pmatrix {width:100%;}
span.pmatrix img{vertical-align:middle;}
div.pmatrix {text-align:center;}
table.pmatrix {width:100%;}
span.bar-css {text-decoration:overline;}
img.cdots{vertical-align:middle;}
.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
.index-item, .index-subitem, .index-subsubitem {display:block}
div.caption {text-indent:-2em; margin-left:3em; margin-right:1em; text-align:left;}
div.caption span.id{font-weight: bold; white-space: nowrap; }
h1.partHead{text-align: center}
p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;}
.verse{white-space:nowrap; margin-left:2em}
div.maketitle {text-align:center;}
h2.titleHead{text-align:center;}
div.maketitle{ margin-bottom: 2em; }
div.author, div.date {text-align:center;}
div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; }
div.author{white-space: nowrap;}
.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
.abstract p {margin-left:5%; margin-right:5%;}
div.abstract {width:100%;}
span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; }
.equation td{text-align:center; }
.equation-star td{text-align:center; }
table.equation-star { width:100%; }
table.equation { width:100%; }
table.align, table.alignat, table.xalignat, table.xxalignat, table.flalign {width:100%; margin-left:5%; white-space: nowrap;}
table.align-star, table.alignat-star, table.xalignat-star, table.flalign-star {margin-left:auto; margin-right:auto; white-space: nowrap;}
td.align-label { width:5%; text-align:center; }
td.align-odd { text-align:right; padding-right:0.3em;}
td.align-even { text-align:left; padding-right:0.6em;}
table.multline, table.multline-star {width:100%;}
td.gather {text-align:center; }
table.gather {width:100%;}
div.gather-star {text-align:center;}
div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; }
table.tabular td p{margin-top:0em;}
table.tabular {margin-left: auto; margin-right: auto;}
td p:first-child{ margin-top:0em; }
td p:last-child{ margin-bottom:0em; }
div.td00{ margin-left:0pt; margin-right:0pt; }
div.td01{ margin-left:0pt; margin-right:5pt; }
div.td10{ margin-left:5pt; margin-right:0pt; }
div.td11{ margin-left:5pt; margin-right:5pt; }
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
td.td00{ padding-left:0pt; padding-right:0pt; }
td.td01{ padding-left:0pt; padding-right:5pt; }
td.td10{ padding-left:5pt; padding-right:0pt; }
td.td11{ padding-left:5pt; padding-right:5pt; }
table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; }
.hline hr, .cline hr{ height : 1px; margin:0px; }
div.array {text-align:center;}
span.Xy span.Y{ position:relative; top:0.35ex;left:-0.25em;}
/* end css.sty */
--></style>
<h3 class="sectionHead"><span class="titlemark">1</span> <a id="x1-20001" name="x1-20001"></a>Introduction</h3>
<p><!--l. 42--></p>
<p class="noindent"><img src="http://blog.kungf.eu/wp-content/uploads/2009/07/newspaper-150x150.jpg" alt="" title="newspaper" width="150" height="150" class="alignright size-thumbnail wp-image-367" />The decline of printed news in the UK is not a recent phenomenon. Since peak circulations in the 1950s, they have fought a loosing battle with technical innovations; such as radio and television.(<a href="#Thompson:1990ss">Thompson, 1990</a>) In the <span class="cmr-10x-x-109">21</span><sup>st</sup> century the <span class="ecti-1095">new media</span> is online, and downward trends are more marked that ever.(<a href="#ABCs:2009">ABCs, 1931 &#8211; 2009</a>) Clearly providers of quality journalism are struggling to adapt. But is the Internet just <span class="ecti-1095">another</span> technology to which traditional skills can be tailored? Or is there a fundamental change taking place that will redefine the profession of journalism? <!--l. 52--></p>
<p class="noindent">This essay will explore the role of journalism and news companies in the modern consumer landscape. In particular it will focus on the <span class="ecti-1095">newspaper of record</span><sup><a href="#ennote-1" id="enmark-1" name="enmark-1"><span class="cmr-8">1</span></a></sup> and other, largely respected, news sources. The <span class="ecti-1095">red tops</span> (tabloid press) will be mostly disregarded because, it is the opinion of this author that, their contribution to society is more tenuous. <!--l. 63--></p>
<p><span id="more-339"></span></p>
<p class="noindent">
<h3 class="sectionHead"><span class="titlemark">2</span> <a id="x1-30002" name="x1-30002"></a>The Technical Catalyst</h3>
<p><!--l. 65--></p>
<p class="noindent">When referring to recent technical innovations affecting journalism, we are of course referring to the Internet. Here we do not simply mean the billions of hyper-text documents linked to form the World Wide Web; for it was engineered as a largely static reference of scientific knowledge.(<a href="#Berners-Lee:1990sy">Berners-Lee and Cailliau, 1990</a>) We mean the dynamic content and burgeoning communities of what the web was become. This emergent technology has informed a new generation; to whom broadband access is ubiquitous and on-demand access to information is for-granted. The Internet of 2009 has many technical constituents that make up it&#8217;s rich tapestry; some of those affecting journalism are discussed bellow. <!--l. 77--></p>
<p class="noindent">Foremost in any list of Internet agitators is Google. Without some means to search the billions of documents we have little more than the Library of Babel. (<a href="#Borges:1962kn">Borges and Kerrigan, 1962</a>) What started as a search algorithm, became much more significant. Google either by design or luck have become de facto aggregators and disseminators of content. Their functionality usurped enterprises that made money by distributing nonphysical content: Music, pictures, film, books, and news. <!--l. 85--></p>
<p class="noindent">Methods for content aggregation have become a lot more sophisticated than just search. Syndication feeds using RSS or Atom allow various sources to be combined into a single list of recent events. The sources can be selected and filtered by the consumer, effectively resulting in fully customisable headlines. Development is continuing in this area with increasingly powerful tools to highlight and filter, so the consumer can see exactly the content she wishes. Probabilistic, geo-spatial and temporal organisation are becoming a necessary feature.(<a href="#Moshfeghi:2007eb">Moshfeghi, 2007</a>) <!--l. 94--></p>
<p class="noindent">Another way to filter through the deluge of content is to correlate ratings between consumers with similar tastes. Social bookmarking services such StumbleUpon<sup><a href="#ennote-2" id="enmark-2" name="enmark-2"><span class="cmr-8">2</span></a></sup> and Delicious<sup><a href="#ennote-3" id="enmark-3" name="enmark-3"><span class="cmr-8">3</span></a></sup> have sprung up, along with social news services like Slashdot<sup><a href="#ennote-4" id="enmark-4" name="enmark-4"><span class="cmr-8">4</span></a></sup> and Digg<sup><a href="#ennote-5" id="enmark-5" name="enmark-5"><span class="cmr-8">5</span></a></sup>. These websites use a variety of mechanics, such as ratings and keyword correlation, to provide a highly customised and up to date view of online content. <!--l. 108--></p>
<p class="noindent">The providers of this content are predominantly unpaid amateurs. Many produce because they enjoy exercising self expression, while others work for recognition. This has been enabled by the ease of access to website hosting solutions like blogs. The content is not limited to prose either: Photographers, animators, designers, video producers, and programmers are all happy to share their labour. <!--l. 116--></p>
<p class="noindent">
<h3 class="sectionHead"><span class="titlemark">3</span> <a id="x1-40003" name="x1-40003"></a>Trends</h3>
<p><!--l. 118--></p>
<p class="noindent">While the methods of consumption for media is in some ways a generational shift, it is also a progression. By definition the early adopters must have been raised in a world where the web was not ubiquitous. There is a marked trend towards this new media and what many now expect of it. This move can be charted in a number of areas: <!--l. 124--></p>
<p class="noindent">Consumers are drifting away from services that provide content at prescribed times: The daily or weekly newspaper, and the evening television news. They now want their news on demand, at a time and place that suits them. This is reflected by relative prosperity of 24-hour television news services compared to their programmed counterparts.(<a href="#PEJ:2009hi">PEJ, 2009</a>) <!--l. 130--></p>
<p class="noindent">Brand identification is becoming weaker with people preferring to judge bias based on the individual, not the trade mark. The result is that consumers are moving away from traditional sources of content, towards blogs and online community news; much of which is written at least as well as paper copy. This is the rise of the citizen based media. (<a href="#Bowman:2003xi">Bowman and Willis, 2003</a>) <!--l. 137--></p>
<p class="noindent">People no longer wish to have information filtered by a largely faceless editorial staff, who often care more about finance than providing a public service.(<a href="#Burke:2005mq">Burke, 2005</a>) Instead people want to access the source directly, or filter it on their own terms. <!--l. 143--></p>
<p class="noindent">
<h3 class="sectionHead"><span class="titlemark">4</span> <a id="x1-50004" name="x1-50004"></a>An Economics Problems?</h3>
<p><!--l. 145--></p>
<p class="noindent">If technology has been the catalyst then the main quantitative symptom has been a financial crisis affecting the news creators and disseminators. Without this pressure there would be no need to change, but news corporations are finding it increasingly hard to monetise their enterprise. Even the inimitable Rupert Murdoch admitted he was <span class="ecti-1095">&#8220;searching for answers to an</span> <span class="ecti-1095">emerging medium that is not my native language.&#8221;</span> (<a href="#Allan:2006df">Allan, 2006</a>) This from a man who made his fortune streamlining ailing business models and exploiting class resentment. (<a href="#Hodgson:2008ft">Hodgson, 18th December 2008</a>) Possibly that notion of <span class="ecti-1095">class</span> is part of what makes the new medium so hard to grasp. Access to the Internet is affordable across class and financial status in the developed world. Online communities are not only defined by ethnicity, neighbourhood, football teams or profession. They can also differentiate by shared interests or hobbies that cut across traditional economic groups; the so called <span class="ecti-1095">vertical</span> <span class="ecti-1095">slice.</span> <!--l. 161--></p>
<p class="noindent">In reaction to the financial difficulties these companies are experiencing, they are attempting new methods of monetisation and efficiency. (<a href="#PEJ:2009hi">PEJ, 2009</a>) These include: Charging micro-payments; a per-page cost of a fraction of a penny. Transferring ownership to not-for-profit organisations that would secure the quality of service without the need for growth. Forcing ISPs (Internet Service Providers) to add a surcharge for their customers to access online news content. Incorporating large retail outlets in their online presence and taking a cut of sales. Selling subscriptions to highly specialised news for niche markets. Attempt to make online news aggregators such as Google pay a portion of their advertising revenue to content owners. Increase copy sharing so that work is not duplicated between press rooms. This is by no means an exhaustive list but these do seem to be the main ideas currently circulating. There is stirring opposition to some of these idea. Most notably charges against ISPs and Google have been widely criticised. (<a href="#PEJ:2009hi">PEJ, 2009</a>) Incorporated retail is a dubious idea because building online shops is not as easy as pre-dotcom-bust entrepreneurs would have had investors believe. Micro-payments where a very popular idea a few years ago but in practise they have not been well received by the public. (<a href="#PEJ:2009hi">PEJ, 2009</a>) <!--l. 182--></p>
<p class="noindent">
<h3 class="sectionHead"><span class="titlemark">5</span> <a id="x1-60005" name="x1-60005"></a>Value Creation</h3>
<p><!--l. 184--></p>
<p class="noindent">To monetise their industry it is fundamental that they create or add value in some way. If they are not monetising then it&#8217;s hard to conclude that they are creating this value, at least in the eyes of the consumer. A question worth asking is: What is the value of journalistic content? <!--l. 189--></p>
<p class="noindent">A news article has instrumental value in that it creates awareness, belonging, and understanding.(<a href="#Picard:2009cz">Picard, 2009</a>) The intrinsic value is a subject of debate. Many argue (in the west) that the free-press is part of the foundation of democracy, and without it our society would crumble. They bemoan the deterioration of journalistic standards as a cultural fall from grace. This opinion is especially vehement in the US, enshrined as it is in the First Amendment of their Constitution. But it is a mistake to infer that because the press is constitutionally protected it also has intrinsic value. The Constitution is, after all, just a means to an end. It seems plausible that the current notion of journalism can cease when some suitable replacement for it&#8217;s value creation can found. <!--l. 202--></p>
<p class="noindent">The instrumental values may require a little more elaboration. Awareness is availability of information that will allow a consumer better to prepare for future events, thus maximising their capacity to achieve their own value creation objectives. A prime example recently is the MP&#8217;s Expenses scandal. Although presented in a salacious manner, there was a &#8220;take home message&#8221;: Our political system is even less respectable than we once thought. How this message changes our actions is a matter of choice, but some have concluded that &#8220;the population [is] now questioning just why they should adhere to the letter of the law when others don&#8217;t.&#8221; (<a href="#Ozimek:2009sy">Ozimek, 2009</a>) <!--l. 213--></p>
<p class="noindent">Related to awareness is understanding; the ability better to comprehend the world and how it affects us. The difference is basically that of the classic philosophical question: What is the difference between knowledge and understanding? To extend the example above, awareness might change our actions when it comes to declaring taxes, but it doesn&#8217;t increase understanding. That may come later when we have time reflect on these events, and on our reactions to them. <!--l. 221--></p>
<p class="noindent">A sense of community cohesion and of belonging can be attributed to legacy news sources. This was evident in the howls of indignation that followed News Corporations takeover of the Wall Street Journal; a quintessentially New York institution now owned by an Australian company.(<a href="#Hodgson:2008ft">Hodgson, 18th December 2008</a>) <!--l. 228--></p>
<p class="noindent">
<h3 class="sectionHead"><span class="titlemark">6</span> <a id="x1-70006" name="x1-70006"></a>Function and Skills</h3>
<p><!--l. 230--></p>
<p class="noindent">Journalists create value for the consumer by using their professional skill set. These skills allow the journalist to perform a number of key functions: Accessing sources, determining the significance of information, and presentation. <!--l. 235--></p>
<p class="noindent">Accessing sources is the process of research on a topic. It may involve reading through archives, maintaining informers, or growing a reputation that allows them to get interviews with important people. There is also a social element of growing and controlling a social network. In legacy journalism the concept of control is paramount; a source of information is only going to build your career if nobody else has access. In the new media this job is partly replaced with freely available online services: Google for searching, online databases for public records, publicly maintained websites dedicated to leaked documents such as WikiLeaks<sup><a href="#ennote-6" id="enmark-6" name="enmark-6"><span class="cmr-8">6</span></a></sup>. There is an aspect here that may not have been recreated online yet. The personality of reporters is important because it allows them, not just to secure an interview, but also to have the experience and character to ask the right questions. <!--l. 254--></p>
<p class="noindent">Determining the significance of information is increasingly something that the public would rather do for themselves, but in the legacy press it was the role of an editorial team. A stabbing in London is only news-worthy if there is a media froth about knife crime, but individuals may wish to know all the time. <!--l. 260--></p>
<p class="noindent">Once the news has been generated and edited, it must be delivered in a form customised to the target audience. Some consumers prefer emotive rhetoric, while others choose smug worthiness.<sup><a href="#ennote-7" id="enmark-7" name="enmark-7"><span class="cmr-8">7</span></a></sup> The political, racial, cultural, or class divides must be considered, because few want to read a paper they disagree with. In this sense the legacy press provides a brand identification for reader. Increasingly however the consumers are preferring to identify with an individual author of a column or blog. <!--l. 272--></p>
<p class="noindent">These essential journalistic skills are becoming less important. In effect the journalists are being partially de-skilled and de-professionalised. Prof. Robert Picard uses this as his central argument for &#8220;Why Journalists deserve low pay.&#8221; (<a href="#Picard:2009cz">Picard, 2009</a>) <!--l. 277--></p>
<p class="noindent">The news companies support the journalists in their endeavours, and provide services that enable the news content to flow. In the case of printed copy, the processing of delivering the news is costly and complex: Pages must be typeset. Relevant photographs taken and developed. Advertising secured. Finally there is printing and distribution, all within a few hours. Much of this pipeline is starting to look quite unnecessary with journalists capable of doing their distribution online. <!--l. 286--></p>
<p class="noindent">
<h3 class="sectionHead"><span class="titlemark">7</span> <a id="x1-80007" name="x1-80007"></a>Conclusion</h3>
<p><!--l. 288--></p>
<p class="noindent">To comment on the future of journalism, it is the opinion of this author that, the news industry and the endeavour of journalism should be considered distinctly. <!--l. 292--></p>
<p class="noindent">A parallel can be drawn between the news industry and the music industry. They both face a major threat from the Internet, and both are struggling to adapt. When viewing the new industry as distinct from the profession of journalism, just as the music industry does not in itself create music, the correlation becomes clearer. Both these business models depends on the control of the dissemination of information. When a musician can create her own distribution channels then signing up to a label is no longer important. A journalist too can write directly to the consumer without any intermediary. So business models based on aggregation and publication of content are fast become legacy. These powerful companies are finding themselves surplus to requirements. <!--l. 304--></p>
<p class="noindent">There is still demand for journalistic content and there are still journalists producing the content. Despite what some may say about journalists being de-skilled, this author thinks it still takes dedications and talent to research and report on current events. Anyone can look through a database of public records, but it takes experience to know what to look for. Similarly having the social skills to conduct and interview is common, but knowing the right question is rare. <!--l. 312--></p>
<p class="noindent">Is the Internet just <span class="ecti-1095">another</span> technology to which traditional skills can be tailored? Or is there a fundamental change taking place that will redefine the profession of journalism? It is the opinion of this author that the Internet will require more adaption for the news companies, in fact (as stated above) the Internet may not require them at all. But the change for individual journalists will not be destructive. It is fact probably the best thing for journalism since Gutenberg&#8217;s printing press. <!--l. 321--></p>
<p class="noindent">
<h3 class="likesectionHead"><a id="x1-90007" name="x1-90007"></a>Notes</h3>
<p><!--l. 321--></p>
<p class="noindent"><!--l. 4--></p>
<p class="noindent"><a href="#enmark-1" id="ennote-1" name="ennote-1"><sup><span class="cmr-6">1</span></sup></a><span class="ecrm-0900">In this instance</span> <span class="ecti-0900">newspaper of record</span> <span class="ecrm-0900">refers to a professional, authoritative and widely distributed</span> <span class="ecrm-0900">publication, that is generally considered to serve are represent it&#8217;s community.</span> <a href="#Martin:1998ss"><span class="ecrm-0900">Martin and Hansen 1998</span></a> <!--l. 36--></p>
<p class="noindent"><a href="#enmark-2" id="ennote-2" name="ennote-2"><sup><span class="cmr-6">2</span></sup></a><span class="ecrm-0900">StumbleUpon is available at</span> <a href="http://www.stumbleupon.com" class="url"><span class="ectt-0900">http://www.stumbleupon.com</span></a> <!--l. 46--></p>
<p class="noindent"><a href="#enmark-3" id="ennote-3" name="ennote-3"><sup><span class="cmr-6">3</span></sup></a><span class="ecrm-0900">Delicious is available at</span> <a href="http://delicious.com" class="url"><span class="ectt-0900">http://delicious.com</span></a><span class="ecrm-0900">; formerly</span> <a href="http://del.icio.us" class="url"><span class="ectt-0900">http://del.icio.us</span></a> <!--l. 59--></p>
<p class="noindent"><a href="#enmark-4" id="ennote-4" name="ennote-4"><sup><span class="cmr-6">4</span></sup></a><span class="ecrm-0900">Slashdot is available at</span> <a href="http://slashdot.org" class="url"><span class="ectt-0900">http://slashdot.org</span></a> <!--l. 69--></p>
<p class="noindent"><a href="#enmark-5" id="ennote-5" name="ennote-5"><sup><span class="cmr-6">5</span></sup></a><span class="ecrm-0900">Digg available at</span> <a href="http://digg.com" class="url"><span class="ectt-0900">http://digg.com</span></a> <!--l. 78--></p>
<p class="noindent"><a href="#enmark-6" id="ennote-6" name="ennote-6"><sup><span class="cmr-6">6</span></sup></a><span class="ecrm-0900">WikiLeaks is a community project that facilitates the publication of documents that authorities would</span> <span class="ecrm-0900">rather remain private. They describe themselves as a &#8220;global defence of sources and press freedoms&#8221;.</span> <span class="ecrm-0900">WikiLeaks is available at</span> <a href="http://wikileaks.org.uk/" class="url"><span class="ectt-0900">http://wikileaks.org.uk/</span></a><span class="ecrm-0900">.</span> <!--l. 117--></p>
<p class="noindent"><a href="#enmark-7" id="ennote-7" name="ennote-7"><sup><span class="cmr-6">7</span></sup></a><span class="ecrm-0900">Referring to the Daily Mail and the Guardian respectively. While both could be described as emotive,</span> <span class="ecrm-0900">rhetorical and smug, more accurate words may be read as polemical.</span> <!--l. 323--></p>
<p class="noindent">
<h3 class="likesectionHead"><a id="x1-100007" name="x1-100007"></a>References</h3>
<p><!--l. 4--></p>
<p class="noindent">
<div class="thebibliography">
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="ABCs:2009" name="ABCs:2009"></a><span class="ecbx-1095">ABCs</span>, Multi-Platform Monthly Report. Audit Bureau of Circulations UK, 1931 &#8211; 2009.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Allan:2006df" name="Allan:2006df"></a><span class="ecbx-1095">Allan, Stuart</span>, Online news: journalism and the Internet. Maidenhead: Open University Press, 2006, ISBN 0335221211 (pbk.).</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Berners-Lee:1990sy" name="Berners-Lee:1990sy"></a><span class="ecbx-1095">Berners-Lee, Tim and</span> <span class="ecbx-1095">Cailliau, Robert</span>, WorldWideWeb: Proposal for a HyperText Project. November 1990 <span class="cmsy-10x-x-109">&#10216;</span>URL: <a href="http://www.w3.org/Proposal.html" class="url"><span class="ectt-1095">http://www.w3.org/Proposal.html</span></a><span class="cmsy-10x-x-109">&#10217;</span> &#8211; visited on 24th May 2009.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Borges:1962kn" name="Borges:1962kn"></a><span class="ecbx-1095">Borges, Jorge</span><span class="ecbx-1095"> Luis and Kerrigan, Anthony</span>, Ficciones. London: Weidenfeld and Nicolson, 1962.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Bowman:2003xi" name="Bowman:2003xi"></a><span class="ecbx-1095">Bowman, Shayne and Willis, Chris</span>, We Media: How Audiences are Shaping the Future of News and Information. 2003.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Burke:2005mq" name="Burke:2005mq"></a><span class="ecbx-1095">Burke, John</span>, Mainstream Media vs. Journalism vs. the Internet. October 2005 <span class="cmsy-10x-x-109">&#10216;</span>URL: <a href="http://www.editorsweblog.org/analysis/2005/10/mainstream_media_vs_journalism_vs_the_in.php" class="url"><span class="ectt-1095">http://www.editorsweblog.org/analysis/2005/10/mainstream_media_vs_journalism_vs_the_in.php</span></a><span class="cmsy-10x-x-109">&#10217;</span>.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Hodgson:2008ft" name="Hodgson:2008ft"></a><span class="ecbx-1095">Hodgson, Godfret</span>, Rupert Murdoch: muck, brass and business savvy. The First Post 18th December 2008.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Martin:1998ss" name="Martin:1998ss"></a><span class="ecbx-1095">Martin, Shannon</span><span class="ecbx-1095"> E and Hansen, Kathleen</span><span class="ecbx-1095"> A</span>, Newspapers of record in a digital age: from hot type to hot link. Westport, Conn.: Praeger, 1998, ISBN 0275959600.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Moshfeghi:2007eb" name="Moshfeghi:2007eb"></a><span class="ecbx-1095">Moshfeghi, Yashar</span>, Intelligent RSS Aggregator. Master&#8217;s thesis, University of Glasgow, 2007, <span class="cmsy-10x-x-109">&#10216;</span>URL: <a href="http://www.dcs.gla.ac.uk/~daw/masters-projects/dissertations/Moshfeghi.2007.pdf" class="url"><span class="ectt-1095">http://www.dcs.gla.ac.uk/~daw/masters-projects/dissertations/Moshfeghi.2007.pdf</span></a><span class="cmsy-10x-x-109">&#10217;</span> &#8211; visited on 24th May 2009.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Ozimek:2009sy" name="Ozimek:2009sy"></a><span class="ecbx-1095">Ozimek, John</span>, If they can break the law, why can&#8217;t we? Establishment bad behaviour weakens rule of law. The Register,  May 2009 <span class="cmsy-10x-x-109">&#10216;</span>URL: <a href="http://www.theregister.co.uk/2009/05/24/breaking_the_law/" class="url"><span class="ectt-1095">http://www.theregister.co.uk/2009/05/24/breaking_the_law/</span></a><span class="cmsy-10x-x-109">&#10217;</span> &#8211; visited on 24th May 2009.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="PEJ:2009hi" name="PEJ:2009hi"></a><span class="ecbx-1095">PEJ</span>, The State of The News Media: An Annual Report On American journalism. Washington, DC, 2009 &#8211; Technical report <span class="cmsy-10x-x-109">&#10216;</span>URL: <a href="http://www.stateofthemedia.org/2009/index.htm" class="url"><span class="ectt-1095">http://www.stateofthemedia.org/2009/index.htm</span></a><span class="cmsy-10x-x-109">&#10217;</span>.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Picard:2009cz" name="Picard:2009cz"></a><span class="ecbx-1095">Picard, Robert</span><span class="ecbx-1095"> G.</span>, Why Journalists deserve low pay. University of Oxford May 2009, Reuters Institute for the Study of Journalism Seminar Series.</p>
<p class="bibitem"><span class="biblabel"><span class="bibsp">   </span></span><a id="Thompson:1990ss" name="Thompson:1990ss"></a><span class="ecbx-1095">Thompson, John</span><span class="ecbx-1095"> B</span>, Ideology and modern culture: critical social theory in the era of mass communication. Stanford, Calif.: Stanford University Press, 1990 <span class="cmsy-10x-x-109">&#10216;</span>URL: <a href="http://www.loc.gov/catdir/description/cam024/90070842.html" class="url"><span class="ectt-1095">http://www.loc.gov/catdir/description/cam024/90070842.html</span></a><span class="cmsy-10x-x-109">&#10217;</span>, ISBN 0804718458.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/breaking-news-journalism-and-the-internet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stuff</title>
		<link>http://blog.kungf.eu/archived/stuff</link>
		<comments>http://blog.kungf.eu/archived/stuff#comments</comments>
		<pubDate>Tue, 31 Mar 2009 18:35:40 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Drivel]]></category>
		<category><![CDATA[Coursework]]></category>
		<category><![CDATA[University]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=333</guid>
		<description><![CDATA[It took me over a year, but I finally got around to posting this video. It&#8217;s a presentation done for a Technical Communication Skills class. The remit was to talk for 5 minutes about anything. The catch is that you are only allowed one take, thus it is full gaffs. 

]]></description>
			<content:encoded><![CDATA[<p>It took me over a year, but I finally got around to posting this video. It&#8217;s a presentation done for a Technical Communication Skills class. The remit was to talk for 5 minutes about anything. The catch is that you are only allowed one take, thus it is full gaffs. </p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UXAkn6iIfJs&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/UXAkn6iIfJs&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/stuff/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Checkers</title>
		<link>http://blog.kungf.eu/archived/checkers</link>
		<comments>http://blog.kungf.eu/archived/checkers#comments</comments>
		<pubDate>Tue, 31 Mar 2009 15:25:40 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Checkers]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=270</guid>
		<description><![CDATA[As coursework for one of my subjects I was required to implement a Checkers (English Draughts) game in Java. I&#8217;m quite please with the result, and so have decided to share it here. The program has minimal features, but is quite polished. To try it out click on the launch link below.
Launch the application
Instructions
Clicking the [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_276" class="wp-caption alignright" style="width: 160px"><a rel="attachment wp-att-276" href="http://blog.kungf.eu/archived/checkers/screen4"><img class="size-thumbnail wp-image-276 " title="Checkers Screenshot" src="http://blog.kungf.eu/wp-content/uploads/2009/03/screen4-150x150.png" alt="Cropped screenshot showing a game of checkers in progress." width="150" height="150" /></a> <p class="wp-caption-text">Cropped screenshot showing a game of checkers in progress.</p></div>
<p>As coursework for one of my subjects I was required to implement a Checkers (English Draughts) game in Java. I&#8217;m quite please with the result, and so have decided to share it here. The program has minimal features, but is quite polished. To try it out click on the launch link below.</p>
<p><a href="http://blog.kungf.eu/wp-content/uploads/checkers/launch.jnlp"><strong>Launch the application</strong></a></p>
<p><strong>Instructions</strong></p>
<p><strong><span style="font-weight: normal;">Clicking the above link will download the game to your computer. You will be given a security prompt as the whether or not I should be trusted. If you want to play you will have to click &#8220;Trust&#8221;. Assuming you <em>do</em> trust me the game will then run. </span></strong><span id="more-270"></span></p>
<p><strong><span style="font-weight: normal;">To start playing select &#8220;New Game&#8221; from the &#8220;File&#8221; menu. The &#8220;New Game&#8221; window will now be displayed. Here you can configure setting for the game. Each player (black and white) is configured independently. You can said a player to be Human, Easy, Medium, Hard, Random, Depth Limit, or Time Limit:</span></strong></p>
<ul>
<li>Human means that you will play this side. You can play Human vs Human by simply swapping control of the mouse with your opponent. </li>
<li>The Easy, Medium, and Hard settings are computer controlled pre-sets that will set the time-limit (see bellow) to 0.05, 1.0, and 10.0 seconds respectively. </li>
<li>The Random setting is a computer controlled player with no intelligence what so ever. It simply chooses a valid move at random.</li>
<li>The Depth Limited player will always look a fixed number of moves into the future to decided upon the optimal strategy. Lower values result in poorer decisions. </li>
<li>The Time Limited player will search as far into the future as the given time limit will allow. The slider controls the time, and is measure in milliseconds (1 second = 1000 milliseconds.) Note that the time limit is an upper-bound on time allowed, the computer will almost always be <em>much</em> quicker.</li>
</ul>
<p>When you are ready, click &#8220;Play&#8221; to begin.</p>
<p><strong>Screenshots</strong></p>

<a href='http://blog.kungf.eu/archived/checkers/screen4' title='Checkers Screenshot'><img width="150" height="150" src="http://blog.kungf.eu/wp-content/uploads/2009/03/screen4-150x150.png" class="attachment-thumbnail" alt="Cropped screenshot showing a game of checkers in progress." title="Checkers Screenshot" /></a>
<a href='http://blog.kungf.eu/archived/checkers/screen0' title='Checkers Application window screenshot'><img width="150" height="150" src="http://blog.kungf.eu/wp-content/uploads/2009/03/screen0-150x150.png" class="attachment-thumbnail" alt="Screenshot of the checkers application window." title="Checkers Application window screenshot" /></a>
<a href='http://blog.kungf.eu/archived/checkers/screen1' title='Checkers Screenshot'><img width="150" height="150" src="http://blog.kungf.eu/wp-content/uploads/2009/03/screen1-150x150.png" class="attachment-thumbnail" alt="" title="Checkers Screenshot" /></a>
<a href='http://blog.kungf.eu/archived/checkers/screen2' title='Checkers Endgame Screenshot'><img width="150" height="150" src="http://blog.kungf.eu/wp-content/uploads/2009/03/screen2-150x150.png" class="attachment-thumbnail" alt="" title="Checkers Endgame Screenshot" /></a>
<a href='http://blog.kungf.eu/archived/checkers/screen3' title='Checker Multi-capture screenshot'><img width="150" height="150" src="http://blog.kungf.eu/wp-content/uploads/2009/03/screen3-150x150.png" class="attachment-thumbnail" alt="" title="Checker Multi-capture screenshot" /></a>
<a href='http://blog.kungf.eu/archived/checkers/screen5' title='Checkers Desktop Screenshot'><img width="150" height="150" src="http://blog.kungf.eu/wp-content/uploads/2009/03/screen5-150x150.png" class="attachment-thumbnail" alt="Screenshot showing multiple checkers games running." title="Checkers Desktop Screenshot" /></a>

<p><strong>Source Code:</strong></p>
<p><a href="http://blog.kungf.eu/wp-content/uploads/checkers/checkers-src.zip">Download Source Code</a> [<a href="http://blog.kungf.eu/wp-content/uploads/checkers/javadoc/index.html">Javadoc</a>]</p>
<p>You will require Java JDK 1.5 or later to build it. In addition it makes use of a few libraries not included with JDK: AbsoluteLayout.jar can be downloaded here: <a href="http://blog.kungf.eu/wp-content/uploads/checkers/lib/AbsoluteLayout.jar">AbsoluteLayout.jar</a>. beansbinding-1.2.1.jar available from the Beans Binding project at <a href="https://beansbinding.dev.java.net/">https://beansbinding.dev.java.net/</a>. swing-layout-1.0.3.jar is included in JDK 1.6 but for JDK 1.5 it can be downloaded here: <a href="http://blog.kungf.eu/wp-content/uploads/checkers/lib/swing-layout-1.0.3.jar">swing-layout-1.0.3.jar</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/checkers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another Upgrade</title>
		<link>http://blog.kungf.eu/archived/another-upgrade</link>
		<comments>http://blog.kungf.eu/archived/another-upgrade#comments</comments>
		<pubDate>Tue, 31 Mar 2009 11:51:50 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Updates]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=262</guid>
		<description><![CDATA[It&#8217;s been a while since anything happened here, and because I have a bit of time at the moment I thought I would update the site. No new content yet but I&#8217;ve made a number of changes:

Upgraded Wordpress to version 2.7.1.
Changed the theme to iNove designed by mg12.
Reclaimed a few genuine comments from the spam [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.kungf.eu/wp-content/uploads/upgrade.gif" align="right"/>It&#8217;s been a while since anything happened here, and because I have a bit of time at the moment I thought I would update the site. No new content yet but I&#8217;ve made a number of changes:</p>
<ul>
<li>Upgraded <a href="http://wordpress.org/">Wordpress</a> to version 2.7.1.</li>
<li>Changed the theme to <a href="http://wordpress.org/extend/themes/inove">iNove</a> designed by <a href="http://www.neoease.com/">mg12</a>.</li>
<li>Reclaimed a few genuine comments from the spam bin.</li>
<li>Fixed some issues that people where complaining about.</li>
<li>Remove the &#8220;about me&#8221; page because it served no purpose.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/another-upgrade/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress 2.2 upgrade.</title>
		<link>http://blog.kungf.eu/archived/wordpress-22-upgrade</link>
		<comments>http://blog.kungf.eu/archived/wordpress-22-upgrade#comments</comments>
		<pubDate>Fri, 18 May 2007 13:14:20 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Updates]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=63</guid>
		<description><![CDATA[From some reason I decide to upgrade to the new WordPress 2.2. Naturally the template and half the plugins broke and I don&#8217;t have time to fix it just now. Well it&#8217;s not like anybody reads this or anything.
]]></description>
			<content:encoded><![CDATA[<p>From some reason I decide to upgrade to the new <a href="http://wordpress.org/development/2007/05/wordpress-22/">WordPress 2.2</a>. Naturally the template and half the plugins broke and I don&#8217;t have time to fix it just now. Well it&#8217;s not like anybody reads this or anything.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/wordpress-22-upgrade/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Ultimate Top 10 List of Top 10 Top 10 Lists!</title>
		<link>http://blog.kungf.eu/archived/the-ultimate-top-10-list-of-top-10-top-10-lists</link>
		<comments>http://blog.kungf.eu/archived/the-ultimate-top-10-list-of-top-10-top-10-lists#comments</comments>
		<pubDate>Fri, 30 Mar 2007 20:41:13 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Drivel]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Top 10 Lists]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=161</guid>
		<description><![CDATA[Anybody that doesn&#8217;t still refer to the internet as &#8220;tubes&#8221;**, will by now have noticed that things are getting rather meta* out there. Users of Digg and StumbleUpon are finding it difficult to avoid a spate of Top 10 Top 10 Lists.The problem with them is that they aren&#8217;t very functional: You have to click [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://kungf.eu/wp-content/uploads/2007/03/top10.gif" align="right" alt="Top 10" />Anybody that doesn&#8217;t still refer to the internet as &#8220;tubes&#8221;<a href="#tubes">**</a>, will by now have noticed that things are getting rather meta<a href="#meta">*</a> out there. Users of <a href="http://digg.com/" class="external">Digg</a> and <a href="http://www.stumbleupon.com/" class="external">StumbleUpon</a> are finding it difficult to avoid a spate of <em>Top 10 Top 10 Lists</em>.<span id="more-161"></span>The problem with them is that they aren&#8217;t very functional: You have to click twice to view anything, and most of the lists have the same things on them. 10 lists of 10 items will generally yield 25 items, half of which are rubbish. Yet you still had to click 10 times, and read 100 items, to check you didn&#8217;t miss one.However, the good thing about these lists, at least from the perspective of the submitter, its that the more meta you are, the wider the potential scope of interest. That translates into &#8220;Dugg&#8221;, &#8220;Thumbs Up&#8221;, &#8220;+1 Informative&#8221;, or whatever your chosen flavour of net-loving is. So if the popularity of content is proportional to it&#8217;s metaness, then s/he who has the strongest meta-fu will rule all the internets. Therefore I present to you:<br />
<h4>The Ultimate Top 10 List of Top 10 Top 10 Lists!</h4>
<h5>Almost 1000 reasons why I need to get out more.</h5>
<ol>
<li><strong><a href="http://www.codinghorror.com/blog/archives/000822.html">Top 6 List of Programming Top 10 Lists</a></strong>Okay so there are only 6, but it&#8217;s still better than most of it&#8217;s full-size brethren if you are coder.</li>
<li><strong><a href="http://www.webware.com/8301-1_109-9662350-2.html">Top 10 list of Top 10 Firefox add-on lists</a></strong><em>&#8220;A lot of us want to live in Firefox 2. But we also want to bend it to our will, to customize it so it&#8217;s just right. Our visions of the ideal Firefox are different, though. The Web surfer will want one thing, for example, and the programmer another.&#8221;</em></li>
<li><strong><a href="http://www.eoecho.com/Top_10_Firefox_add_ons.html">Top Ten Firefox Add-ons</a></strong><em>&#8220;This Top 10 Firefox Add-ons list is based on a review of a dozen or so Firefox Add-on lists plus my favorites. Although choosing the best add-ons is becoming a personal preference given there are literally thousands available, the most popular add-ons are usually the most refined.&#8221;</em></li>
<li><strong><a href="http://blog.karlribas.com/2006/12/search-marketings-top-10-list-of-top-10.htm">Search Marketing&#8217;s Top 10 List of Top 10 Lists of 2006 + 2</a></strong><em>&#8220;I (and others) thought it would be beneficial if someone compiled a list to remind us of all of the great Top Whatever&#8217;s of the past year related to the industry (if it wasn&#8217;t, this list would be chock full of Letterman jokes). I&#8217;m happy to present my Top 10 List of (but not limited to) Top 10 Lists of 2006 + 2, or as it is known in Europe, Listmania Haus 2006.&#8221;</em></li>
<li><strong><a href="http://konquest.org/the-top-10-of-top-10s">The Top 10 of Top 10’s</a></strong><em>&#8220;It’s been an running joke at digg for a while now. Each new Top 10 story would get the inevitable comment of :”Now, we only need a Top 10 of Top 10s and everything would be perfect.” The wait is over: here is that Top 10, in no particular order…&#8221;</em></li>
<li><strong><a href="http://gadgets.fosfor.se/top-10-gadget-top-10-lists">Top 10 gadget Top 10 lists</a></strong><em>&#8220;If you haven’t checked out these funny Top 10 lists before, have a blast. You can easily spend half an hour browsing through these gadget Top 10 lists. Have fun. Here’s the best of the bunch.&#8221;</em></li>
<li><strong><a href="http://monster.typepad.com/monsterblog/2004/12/top_10_list_of_.html">Top 10 List of Top 10’s</a></strong><em>&#8220;The new year is almost here. We haven’t yet branded this decade, and we’ve already lived through half of it. What would we call it anyway? The Zips? The Zeroes? The Oughts? Sigh. It’s a good time to reflect in the hope of moving forward. In that vein, I’ve compiled my top-10 list of work-related top-10 lists. So sit back, grab a cup of coffee, plan your future and enjoy:&#8221;</em></li>
<li><strong><a href="http://www.joystiq.com/2006/06/27/joystiqs-top-10-gaming-top-10-lists/">Joystiq&#8217;s top 10 gaming top 10 lists</a></strong><em>&#8220;We&#8217;re not sure why, but there&#8217;s been an abnormally high number of &#8220;top 10 something&#8221; in gaming lists as of late. To pay homage while simultaneously make fun of all the 10&#8217;s, we give to you Joystiq&#8217;s top 10 gaming top 10 lists (say that 10 times as fast as you can).&#8221;</em></li>
<li><strong><a href="http://www.mcnblogs.com/reeler/archives/2005/12/the_reelers_top.html">The Reeler&#8217;s Top 10 of Top 10 Lists of 2005</a></strong>Probably the best thing about this one is the introduction, which I couldn&#8217;t possibly précis. I think it&#8217;s about movies though :p</li>
<li><strong><a href="http://www.alternet.org/story/45825/">The Most Popular Top 10 Lists of 2006</a></strong><em>&#8220;Everyone loves a top ten story, and AlterNet readers are no different. Here are the top ten most popular Top Ten articles from 2006.&#8221;</em></li>
</ol>
<p><a href="http://en.wikipedia.org/wiki/Meta-" title="meta" name="meta"><strong>*</strong> http://en.wikipedia.org/wiki/Meta-</a>.<br/><br />
<a href="http://www.youtube.com/watch?v=ziHACCI9zvs" title="tubes" name="tubes"><strong>**</strong> http://www.youtube.com/watch?v=ziHACCI9zvs</a></p>
<p><script type="text/javascript">
<!-- 
google_ad_client = "pub-6217193402313451"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; //2007-04-29: Blog google_ad_channel = "6739378705"; google_color_border = "336699"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; 
//--> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/the-ultimate-top-10-list-of-top-10-top-10-lists/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Hosting and other changes.</title>
		<link>http://blog.kungf.eu/archived/new-hosting-and-other-changes</link>
		<comments>http://blog.kungf.eu/archived/new-hosting-and-other-changes#comments</comments>
		<pubDate>Fri, 30 Mar 2007 18:45:47 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Updates]]></category>
		<category><![CDATA[Bytemark]]></category>
		<category><![CDATA[Domains]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Kittens]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Referer]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Xcalibre]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=158</guid>
		<description><![CDATA[ If you have been to my website before then doubtless you will have noticed a few changes occurring. Fundamentally I have moved hosting companies, but there are lots of cosmetic things as-well. Most of this stuff happened months ago, but I haven&#8217;t had a chance to mention it.
Moved Hosting
This has not been sudden by [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://kungf.eu/wp-content/uploads/2007/03/softwareupdateicon.gif" align="right" alt="update" /> If you have been to my website before then doubtless you will have noticed a few changes occurring. Fundamentally I have moved hosting companies, but there are lots of cosmetic things as-well. Most of this stuff happened months ago, but I haven&#8217;t had a chance to mention it.<span id="more-158"></span><br />
<h4>Moved Hosting</h4>
<p><a href="http://xcalibre.co.uk/" title="xcalibre"><img src="http://kungf.eu/wp-content/uploads/2007/03/logocallout.gif" alt="xcalibre" align="right" /></a>This has not been sudden by any means. Previously this website and it&#8217;s &#8217;subsidiaries&#8217; where hosted with <a href="http://www.xcalibre.co.uk" class="external">XCalibre Communications</a> but I had a number of long term issues with them.
<ul>
<li>They seemed determined to keep their software rigorously out of date. Great if you want a stable environment for robust web-apps. Not great for a developer in need of experimentation.</li>
<li>They failed to inform me whenever they upgrade their hosting packages. Leaving me out of pocket or out of features.</li>
<li>Almost every email I ever sent them was met with a monosyllabic fob-off. I may be a small-fry customer, but after years of loyalty it would be nice to receive the odd paragraph now and again.</li>
</ul>
<p><a href="http://www.bytemark.co.uk"><img src="http://kungf.eu/wp-content/uploads/2007/03/logo.gif" align="right" alt="bytemark" /></a>My new host is a <abbr title="Virtual Machine">VM</abbr> with <a href="http://www.bytemark.co.uk" class="external">Bytemark</a>. I read a lot of good things about them, especially their level of customer support. Thus far is seems the reports have been entirely correct; Bytemark have been nothing but curtious and helpful. The best thing about this account is that since I have my own VM I can set it up however I want.<br />
<h4>New Domain(s)</h4>
<p>I was getting a little tired of <a href="http://kitty0.org" class="external">kitty0.org</a> domain so I&#8217;ve moved the blog to a new one: <a href="http://kungf.eu">kungf.eu</a>. Originally I planning on getting something a more professional looking, but when I saw kungf.eu was unregistered I had to have it. I also bough a domain for the <em>IP to Location</em> website which now be accessed here: <a href="http://locateip.co.uk" class="external">locateip.co.uk</a>&#8230; I really must update that website sometime; I have some awesome feature ideas&#8230;.<br />
<h4>Other Changes</h4>
<p>So in addition to moving hosts there are a few other updates:
<ul>
<li>New theme is a modified <a href="http://getk2.com/" class="external">K2</a>.</li>
<li>Moved to <a href="http://wordpress.org/download/" class="external">Wordpress 2.1</a>.</li>
<li>The <a href="http://kungf.eu/archived/referer-wordpress-plugin">Referer Plugin</a> is no longer being developed, is no longer active on the site, and has moved to a <a href="http://kungf.eu/archived/referer-wordpress-plugin">post</a> rather than a static page.</li>
<li>Some broken links after the migrations so please drop a comment if you find one.</li>
<li>Having some intermittent problems with the server so it may be down or slow from time to time.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/new-hosting-and-other-changes/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Colour Gradient PHP Class</title>
		<link>http://blog.kungf.eu/archived/colour-gradient-php-class</link>
		<comments>http://blog.kungf.eu/archived/colour-gradient-php-class#comments</comments>
		<pubDate>Mon, 26 Feb 2007 00:05:06 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=132</guid>
		<description><![CDATA[I wrote this class to handle smooth gradients of colour and other data types. Specifically I wanted a robusts way to handle fonts size and colour for tag-cloud object that I&#8217;m working on at the moment. Although the task wasn&#8217;t very complicated I am quite pleased with my solution because it is so easy to [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote this class to handle smooth gradients of colour and other data types. Specifically I wanted a robusts way to handle fonts size and colour for <a href="http://locateip.co.uk/?page=stats">tag-cloud</a> object that I&#8217;m working on at the moment. Although the task wasn&#8217;t very complicated I am quite pleased with my solution because it is so easy to use and transparent.<br />
<h3>Example 1: Simple Gradient</h3>
<p><img src="http://kungf.eu/wp-content/uploads/2007/04/picture-1.png" alt="Gradient Example 1" /><span id="more-132"></span>We can draw that gradient using just a few lines of PHP:</p>
<p><code><span style="color: #000000"><br />
<span style="color: #0000BB">&lt;?php</p>
<p>$gradient&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">ColourGradient</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$gradient</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">]&nbsp;&nbsp;=&nbsp;</span><span style="color: #DD0000">'red'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$gradient</span><span style="color: #007700">[</span><span style="color: #0000BB">50</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #DD0000">'green'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$gradient</span><span style="color: #007700">[</span><span style="color: #0000BB">100</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #DD0000">'blue'</span><span style="color: #007700">;</p>
<p>foreach(</span><span style="color: #0000BB">$gradient&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$colour</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"&lt;span&nbsp;style='background-color:$colour'&gt;&amp;#160;&lt;/span&gt;"</span><span style="color: #007700">;</p>
<p></span><span style="color: #0000BB">?&gt;<br /></span><br />
</span><br />
</code></p>
<p>So as you can see, once the object is created it can be treated exactly like an array. Any index that you haven&#8217;t explicitly set will be calculated based on the nearest colours when read. See the next page for more examples and full source.<br />
<h3>Example 2: Rainbow Text</h3>
<p>The colours are placed along a defined range, the default being between 0 and 100. However in some cases it is convenient if you want to stretch the gradient over a different range so it fits with what you are doing.As well as being set individually, colours can be added to the gradient when it is initialized by passing it an array of key/value pairs.Here is some rainbow coloured text followed by the code used to create it:<img src="http://kungf.eu/wp-content/uploads/2007/04/picture-2.png" alt="Gradient Example 2" /></p>
<p><code><span style="color: #000000"><br />
<span style="color: #0000BB">&lt;?php</p>
<p></span><span style="color: #FF8000">//&nbsp;Create&nbsp;a&nbsp;new&nbsp;instance&nbsp;of&nbsp;the&nbsp;ColourGradient&nbsp;class&nbsp;and<br />//&nbsp;initialize&nbsp;it&nbsp;with&nbsp;some&nbsp;rainbow&nbsp;values.<br /></span><span style="color: #0000BB">$rainbow&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">ColourGradient</span><span style="color: #007700">(array(<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'red'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">18.2&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'orange'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">32&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'yellow'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">50&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'green'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">68&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'blue'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">82&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'indigo'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'violet'<br /></span><span style="color: #007700">));</p>
<p></span><span style="color: #FF8000">//&nbsp;Set&nbsp;a&nbsp;text&nbsp;string&nbsp;to&nbsp;colourise...<br /></span><span style="color: #0000BB">$text&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'Under&nbsp;democracy&nbsp;one&nbsp;party&nbsp;always&nbsp;devotes&nbsp;its&nbsp;chief<br />&nbsp;&nbsp;&nbsp;&nbsp;energies&nbsp;to&nbsp;trying&nbsp;to&nbsp;prove&nbsp;that&nbsp;the&nbsp;other&nbsp;party&nbsp;is<br />&nbsp;&nbsp;&nbsp;&nbsp;unfit&nbsp;to&nbsp;rule&nbsp;-&nbsp;and&nbsp;both&nbsp;commonly&nbsp;succeed,&nbsp;and&nbsp;are<br />&nbsp;&nbsp;&nbsp;&nbsp;right.&nbsp;H.&nbsp;L.&nbsp;Mencken&nbsp;(1880&nbsp;-&nbsp;1956)'</span><span style="color: #007700">;</p>
<p></span><span style="color: #FF8000">//&nbsp;We&nbsp;want&nbsp;to&nbsp;gradient&nbsp;to&nbsp;start&nbsp;and&nbsp;end&nbsp;with&nbsp;the&nbsp;text&nbsp;so&nbsp;we&nbsp;need&nbsp;to<br />//&nbsp;rescale&nbsp;it&nbsp;to&nbsp;the&nbsp;same&nbsp;length&nbsp;as&nbsp;the&nbsp;text.<br /></span><span style="color: #0000BB">$rainbow</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetRange</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">)-</span><span style="color: #0000BB">1</span><span style="color: #007700">);</p>
<p></span><span style="color: #FF8000">//&nbsp;Finally&nbsp;lets&nbsp;print&nbsp;it&nbsp;out.<br /></span><span style="color: #007700">foreach(</span><span style="color: #0000BB">$rainbow&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$i&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$colour</span><span style="color: #007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">"&lt;span&nbsp;style='color:$colour'&gt;$text[$i]&lt;/span&gt;"</span><span style="color: #007700">;</p>
<p></span><span style="color: #0000BB">?&gt;<br /></span><br />
</span><br />
</code></p>
<h3>Example 3: Using colours</h3>
<p>Colours can be set in the gradient in a number of ways. You can use the common HTML colour names like above, but the class will also accept HTML hex values and rgb arrays. It is also possible to set a colour from somewhere else in gradient simply by referencing it. The gradient has a fuzzy index, so you can even set or reference a real number an it will work fine. Here is 2D block  drawn with a gradient, followed by the PHP code.<img src="http://kungf.eu/wp-content/uploads/2007/04/picture-3.png" alt="Gradient Example 3" /></p>
<p><code><span style="color: #000000"><br />
<span style="color: #0000BB">&lt;?php</p>
<p>$grad&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">ColourGradient</span><span style="color: #007700">(array(<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'CornflowerBlue'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">50&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'#cc9966'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">100&nbsp;</span><span style="color: #007700">=&gt;&nbsp;array(</span><span style="color: #0000BB">255</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">255</span><span style="color: #007700">)<br />));</p>
<p></span><span style="color: #0000BB">$grad</span><span style="color: #007700">[</span><span style="color: #0000BB">6.6666</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #DD0000">'#00FF00'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$grad</span><span style="color: #007700">[</span><span style="color: #0000BB">30</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$grad</span><span style="color: #007700">[</span><span style="color: #0000BB">70</span><span style="color: #007700">];&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p></span><span style="color: #FF8000">//&nbsp;Draw&nbsp;the&nbsp;box,&nbsp;line&nbsp;by&nbsp;line<br /></span><span style="color: #007700">for(</span><span style="color: #0000BB">$y&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$y&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$y&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">.25</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;for(</span><span style="color: #0000BB">$x&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$x&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">10</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$x&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">.25</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$color&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$grad</span><span style="color: #007700">[</span><span style="color: #0000BB">$x&nbsp;</span><span style="color: #007700">*&nbsp;</span><span style="color: #0000BB">$y</span><span style="color: #007700">];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;style="background-color:'&nbsp;</span><span style="color: #007700">.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$color&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">'"&gt;&amp;nbsp;&nbsp;&amp;nbsp;&nbsp;&amp;nbsp;&nbsp;&amp;nbsp;&nbsp;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br />}</p>
<p></span><span style="color: #0000BB">?&gt;<br /></span><br />
</span><br />
</code></p>
<h3>Example 4: Other types of gradient</h3>
<p>Colour gradients are all well and good and shiny, but you can do the same kind of blending with other data; for example font size and opacity.The ColourGradient class is actually an extension to a general Gradient class, and we can use this to operate on any numeric values.<img src="http://kungf.eu/wp-content/uploads/2007/04/picture-4.png" alt="Gradient Example 4" /></p>
<p><code><span style="color: #000000"><br />
<span style="color: #0000BB">&lt;?php</p>
<p>$text&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"It's&nbsp;probably&nbsp;not&nbsp;a&nbsp;good&nbsp;idea&nbsp;to&nbsp;be&nbsp;chewing&nbsp;on&nbsp;a&nbsp;toothpick&nbsp;"<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"if&nbsp;you're&nbsp;talking&nbsp;to&nbsp;the&nbsp;president,&nbsp;because&nbsp;what&nbsp;if&nbsp;he&nbsp;tells&nbsp;"<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"a&nbsp;funny&nbsp;joke&nbsp;and&nbsp;you&nbsp;laugh&nbsp;so&nbsp;hard&nbsp;you&nbsp;spit&nbsp;the&nbsp;toothpick&nbsp;out"<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">"&nbsp;and&nbsp;it&nbsp;hits&nbsp;him&nbsp;in&nbsp;the&nbsp;face&nbsp;or&nbsp;something."</span><span style="color: #007700">;<br />&nbsp;<br /></span><span style="color: #FF8000">//&nbsp;Create&nbsp;a&nbsp;new&nbsp;gradient&nbsp;and&nbsp;initialize&nbsp;it&nbsp;with&nbsp;some&nbsp;values.<br /></span><span style="color: #0000BB">$size&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Gradient</span><span style="color: #007700">(array(</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">30</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">50&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">8</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">85&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">20</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$size</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetRange</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">)-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;<br /></span><span style="color: #0000BB">$colour&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">ColourGradient</span><span style="color: #007700">(array(</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'red'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">100&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #DD0000">'green'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$colour</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetRange</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">)-</span><span style="color: #0000BB">1</span><span style="color: #007700">);<br />&nbsp;<br /></span><span style="color: #0000BB">$opacity&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Gradient</span><span style="color: #007700">(array(</span><span style="color: #0000BB">0&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">20&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$opacity</span><span style="color: #007700">[</span><span style="color: #0000BB">40</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$opacity</span><span style="color: #007700">[</span><span style="color: #0000BB">80</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$opacity</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">$opacity</span><span style="color: #007700">[</span><span style="color: #0000BB">60</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$opacity</span><span style="color: #007700">[</span><span style="color: #0000BB">100</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">$opacity</span><span style="color: #007700">[</span><span style="color: #0000BB">20</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">$opacity</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">SetRange</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">)-</span><span style="color: #0000BB">1</span><span style="color: #007700">);</p>
<p></span><span style="color: #FF8000">//&nbsp;Draw&nbsp;the&nbsp;box,&nbsp;line&nbsp;by&nbsp;line<br /></span><span style="color: #007700">for(</span><span style="color: #0000BB">$x&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">0</span><span style="color: #007700">;&nbsp;</span><span style="color: #0000BB">$x&nbsp;</span><span style="color: #007700">&lt;&nbsp;</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">);&nbsp;</span><span style="color: #0000BB">$x&nbsp;</span><span style="color: #007700">+=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$opa&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">$opacity</span><span style="color: #007700">[</span><span style="color: #0000BB">$x</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$opb&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">$opacity</span><span style="color: #007700">[</span><span style="color: #0000BB">$x</span><span style="color: #007700">]&nbsp;/&nbsp;</span><span style="color: #0000BB">100</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'&lt;span&nbsp;style="font-size:'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">round</span><span style="color: #007700">(</span><span style="color: #0000BB">$size</span><span style="color: #007700">[</span><span style="color: #0000BB">$x</span><span style="color: #007700">]).&nbsp;</span><span style="color: #DD0000">'px;color:'&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$colour</span><span style="color: #007700">[</span><span style="color: #0000BB">$x</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">';filter:alpha(opacity='&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$opa&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">');opacity:'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$opb</span><span style="color: #007700">.</span><span style="color: #DD0000">';-moz-opacity:'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$opb&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #DD0000">';"&gt;'&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">$text</span><span style="color: #007700">[</span><span style="color: #0000BB">$x</span><span style="color: #007700">]&nbsp;.&nbsp;</span><span style="color: #DD0000">'&lt;/span&gt;'</span><span style="color: #007700">;<br />}</p>
<p></span><span style="color: #0000BB">?&gt;<br /></span><br />
</span><br />
</code></p>
<p>
<h3>The Code</h3>
<p>I&#8217;m sure there are many other uses for it that I haven&#8217;t thought of yet. As I said before, the thing I really like about this is how generic and transparent it is. </p>
<p>Download: <a href="/wp-content/uploads/gradient.tar.gz">gradient.tar.gz</a><br />
View Source: <a href="/wp-content/uploads/gradient.class.phps">gradient.class.phps</a>, <a href="/wp-content/uploads/colourgradient.class.phps"">colourgradient.class.phps</a></p>
<p>I hope someone finds this useful. Post a comment if you have any problems.</p>
<p><script type="text/javascript"><!-- 
google_ad_client = "pub-6217193402313451"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; //2007-04-29: Blog google_ad_channel = "6739378705"; google_color_border = "336699"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; 
//--> </script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/colour-gradient-php-class/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Mac OS X Activity Monitor &#8211; why have you forsaken me?</title>
		<link>http://blog.kungf.eu/archived/activity-monitor-wtf</link>
		<comments>http://blog.kungf.eu/archived/activity-monitor-wtf#comments</comments>
		<pubDate>Fri, 09 Feb 2007 19:14:03 +0000</pubDate>
		<dc:creator>hamish</dc:creator>
				<category><![CDATA[Drivel]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://blog.kungf.eu/?p=129</guid>
		<description><![CDATA[Update: Suddenly and for no apparent reason this issue disappeared. After months of scrathing my head over this, it has gone leaving me none the wiser. The Mac giveth and the Mac taketh away.
First I just want to say that I have a MacBook, and I love my MacBook. I&#8217;ve been a long time user [...]]]></description>
			<content:encoded><![CDATA[<div style="border:solid grey 1px; padding: 2px"><strong>Update:</strong> Suddenly and for no apparent reason this issue disappeared. After months of scrathing my head over this, it has gone leaving me none the wiser. The Mac giveth and the Mac taketh away.</div>
<p><a href="http://blog.hamish.vm.bytemark.co.uk/wp-content/uploads/2007/02/picture-1-copy.png" title="Activity Monitor Graph Problem - Large Vignette" rel="lightbox"><img src="http://blog.hamish.vm.bytemark.co.uk/wp-content/uploads/2007/02/picture-1-copy.thumbnail.png" title="Activity Monitor Graph Problem - Large Vignette" alt="Activity Monitor Graph Problem - Large Vignette" align="right" /></a>First I just want to say that I have a <a href="http://www.apple.com/macbook/" title="MacBook laptop" class="external">MacBook</a>, and I love my MacBook. I&#8217;ve been a long time user of Windows and <a href="http://www.ubuntu.com/" title="Ubuntu: Linux for human beings" class="external">Linux</a> based PCs, nowadays however I just want it to work. So I am officially a Mac convert, <em>but</em>&#8230;</p>
<p>I have this problem with my MacBook. It&#8217;s been there ever since I can remember and I have spent more hours than I care to mention trying to fix it. It&#8217;s only a tiny little problem that really isn&#8217;t worth complaining about, but it is spoiling my &#8220;Mac Toa&#8221;&#8230;<span id="more-129"></span></p>
<p><img src="http://blog.hamish.vm.bytemark.co.uk/wp-content/uploads/2007/02/comappleactivitymonitor.png" title="Activity Monitor Icon" alt="Activity Monitor Icon" align="left" /><br />
In Activity Monitor, when viewing the <em>Network</em> or <em>Disk Activity</em> tabs at the bottom, the graph is totally screwed up. It should be drawing lines; one green one red, but instead it is drawing filled polygons. Depending on the shape of graph this can create some very odd results. See what I mean in these screenshots:</p>
<p><img src="http://blog.hamish.vm.bytemark.co.uk/wp-content/uploads/2007/02/activitymonitor.png" alt="Max OS X Activity Monitor Graph Bug" /></p>
<p>I have tried so many things to get this fixed:</p>
<ul>
<li>I have googled in vain for almost every possibly combination of: mac os x, bug, problem, activity monitor, graph, display, line, filled, polygon. Apparently this hasn&#8217;t happened to anybody else.</li>
<li>I have tried deleting the <code>com.apple.ActivityMonitor.plist</code> config file (this seems to be a popular fix) in the hope it will magically get better when it recreates it &#8211; it didn&#8217;t.</li>
<li>I googled some more for even less likely words.</li>
<li>I sacrificed a goat to Steve Jobs, but he wasn&#8217;t looking. Maybe I should try virgins&#8230;.</li>
<li>More googling.</li>
<li>Closing my eyes and pretending it wasn&#8217;t there.</li>
</ul>
<p>So apparently I am the only person on the planet who has encountered this bug, and if that&#8217;s the case then it is unlikely anyone knows off-hand how to fix it. However I thought that I should at least document it, so that if there is anybody else out there with the same problem they will at least find something relevant on Google.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kungf.eu/archived/activity-monitor-wtf/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
