<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Edmund&#039;s Blog</title>
	<atom:link href="http://edmundgentle.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://edmundgentle.wordpress.com</link>
	<description>A 17 year old&#039;s view of the internet...</description>
	<lastBuildDate>Sat, 26 Nov 2011 23:36:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='edmundgentle.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Edmund&#039;s Blog</title>
		<link>http://edmundgentle.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://edmundgentle.wordpress.com/osd.xml" title="Edmund&#039;s Blog" />
	<atom:link rel='hub' href='http://edmundgentle.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Are Apple losing their touch?</title>
		<link>http://edmundgentle.wordpress.com/2011/08/16/are-apple-losing-their-touch/</link>
		<comments>http://edmundgentle.wordpress.com/2011/08/16/are-apple-losing-their-touch/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 14:06:02 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=109</guid>
		<description><![CDATA[Apple have constantly been able to amaze customers with their products. But is that all changing? First, the iPhone 4 had the antenna issue, then all the complaints about Final Cut Pro X. And now, some customers are feeling like Mac OSX Lion was a bit over hyped. As an Apple customer, I am obviously [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=109&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Apple have constantly been able to amaze customers with their products. But is that all changing? First, the iPhone 4 had the antenna issue, then all the complaints about Final Cut Pro X. And now, some customers are feeling like Mac OSX Lion was a bit over hyped.</p>
<p>As an Apple customer, I am obviously concerned about these issues. I am waiting before upgrading to Lion, and these problems are making me think twice about buying Apple products. The new Mac App Store helps us see what people think of the products that Apple are releasing. I was having a browse around the store and noticed that &#8220;Motion 5&#8243; has had a few negative comments posted about it: features removed without warning; unhelpful user interface changes. All these comments suggest that Apple could be losing their touch of creating great products and are getting out of touch with the consumers.</p>
<p>Another problem with Apple is because they are so used to being the underdog with other bigger companies ruling the markets, now they are becoming more popular and ruling some markets, it seems as though they are going a little crazy with power. For example, anything that is sold on an iPhone, iPad or iPod Touch will have to give 30% of the revenue to Apple. And with the Mac App Store, it seems as though this could be hitting desktops very soon, too. They are wanting complete control over a market. And why can they do this?</p>
<p>Because of multi-touch.</p>
<p>The technology Apple bought, patented and prevent anyone else from using. All other touch screens are inferior to Apple&#8217;s. And this is a problem.</p>
<p>In my opinion, Apple are slowing down innovation by taking 30% of the revenue (meaning less money goes to the developers &#8211; you know, the people who actually <em>build</em> the apps and <em>create</em> the content) and by locking other people out of the best technologies, for example multi-touch, with patents and expensive legal support. Nobody can compete with that.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=109&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2011/08/16/are-apple-losing-their-touch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
		<item>
		<title>My Wiki Parser Class for PHP</title>
		<link>http://edmundgentle.wordpress.com/2011/02/23/my-wiki-parser-class-for-php/</link>
		<comments>http://edmundgentle.wordpress.com/2011/02/23/my-wiki-parser-class-for-php/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 14:49:26 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wiki]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=101</guid>
		<description><![CDATA[I was looking for a script which could parse wiki syntax which is used in Google Code (see http://code.google.com/p/support/wiki/WikiSyntax). I could only find MediaWiki parsing, which isn&#8217;t what I wanted. The closest I could find was a PHP class which parsed &#8216;wiki&#8217; syntax, but had quite a few bugs in (http://www.phpclasses.org/package/3111-PHP-Retrieve-and-process-articles-from-Wikipedia.html). This was my starting [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=101&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was looking for a script which could parse wiki syntax which is used in Google Code (see <a href="http://code.google.com/p/support/wiki/WikiSyntax" target="_blank">http://code.google.com/p/support/wiki/WikiSyntax</a>). I could only find MediaWiki parsing, which isn&#8217;t what I wanted. The closest I could find was a PHP class which parsed &#8216;wiki&#8217; syntax, but had quite a few bugs in (<a href="http://www.phpclasses.org/package/3111-PHP-Retrieve-and-process-articles-from-Wikipedia.html" target="_blank">http://www.phpclasses.org/package/3111-PHP-Retrieve-and-process-articles-from-Wikipedia.html</a>). This was my starting point.</p>
<p>I used the WikiSyntax page given above to add some of the features that I wanted to add. I didn&#8217;t add all of them, because I didn&#8217;t need all of them, but you can edit the code to suit your needs if you want to.<span id="more-101"></span></p>
<p><code>&lt;?php<br />
class WikiParser {<br />
private $preformat=false;<br />
private $deflist=false;<br />
private $list_level=0;<br />
private $list_level_types=array();<br />
private $table=false;<br />
private $tr=false;<br />
private $headers=array();<br />
private $line='';<br />
private $processing='';<br />
private $lproc=array();<br />
private $codeblocks=array();<br />
private $link=0;<br />
private $inp=false;<br />
private $was_li=false;<br />
private $codeblocks_ptr=-1;<br />
function WikiParser() {<br />
$this-&gt;reference_wiki = '/help/docs/';<br />
$this-&gt;image_uri = '';<br />
$this-&gt;ignore_images = true;<br />
}<br />
function handle_sections($matches) {<br />
$level = strlen($matches[1]);<br />
$content = $matches[2];<br />
$slug=preg_replace('/\W/','_',strtolower(trim($content)));<br />
$this-&gt;stop = true;<br />
$this-&gt;stop_all = true;<br />
$this-&gt;headers[]=array('name'=&gt;$content,'slug'=&gt;$slug,'level'=&gt;$level);<br />
$var='';<br />
if($this-&gt;inp) {$var='&lt;/p&gt;';$this-&gt;inp=false;}<br />
return "$var\n&lt;h{$level}&gt;&lt;a name=\"$slug\"&gt;&lt;/a&gt;{$content}&lt;/h{$level}&gt;\n\n";<br />
}<br />
function handle_newline($matches) {<br />
if($this-&gt;table) {<br />
return $this-&gt;table(true);<br />
}else{<br />
$this-&gt;stop = true;<br />
$var='';<br />
if($this-&gt;inp) {$var='&lt;/p&gt;';}<br />
$var.='&lt;p&gt;';<br />
return $var;<br />
}<br />
}<br />
function handle_list($matches,$close=false) {<br />
$listtypes = array(<br />
'*'=&gt;'ul',<br />
'#'=&gt;'ol',<br />
);<br />
$output="";<br />
$newlevel = ($close) ? 0 : strlen($matches[1]);<br />
while ($this-&gt;list_level!=$newlevel) {<br />
if ($this-&gt;list_level&gt;$newlevel) {<br />
$listtype = '/'.array_pop($this-&gt;list_level_types);<br />
$this-&gt;list_level--;<br />
} else {<br />
$listchar = substr($matches[2],-1);<br />
$listtype = $listtypes[$listchar];<br />
$this-&gt;list_level++;<br />
array_push($this-&gt;list_level_types,$listtype);<br />
}<br />
$output .= "\n&lt;{$listtype}&gt;\n";<br />
}<br />
if ($close) return $output;<br />
$output .= "&lt;li&gt;".trim($matches[3]);<br />
return $output;<br />
}<br />
function handle_preformat($matches,$close=false) {<br />
if ($close) {<br />
$this-&gt;preformat = false;<br />
return "&lt;/pre&gt;\n";<br />
}<br />
$this-&gt;stop_all = true;<br />
$output = "";<br />
if (!$this-&gt;preformat) $output .= "&lt;pre&gt;";<br />
$this-&gt;preformat = true;<br />
$output .= $matches[1];<br />
return $output."\n";<br />
}<br />
function handle_horizontalrule($matches) {<br />
return "&lt;hr /&gt;";<br />
}<br />
function small_off() {<br />
return '';<br />
}<br />
function handle_eliminate($matches) {<br />
return "";<br />
}<br />
function table($close=false) {<br />
if($close) {<br />
if($this-&gt;table) {<br />
$this-&gt;table=false;<br />
return "&lt;/table&gt;";<br />
}<br />
}<br />
}<br />
function handle_table($matches) {<br />
$this-&gt;stop_all=true;<br />
$row=explode('||',$matches[1]);<br />
$output='';<br />
if(!$this-&gt;table) {<br />
$output.='&lt;table&gt;';<br />
$this-&gt;table=true;<br />
}<br />
$output.='&lt;tr valign="top"&gt;';<br />
foreach($row as $cell) {<br />
$output.='&lt;td style="border:1px solid #BBBBBB;padding:3px;margin:3px;"&gt;'.$this-&gt;parse_chars($cell).'&lt;/td&gt;';<br />
}<br />
$output.='&lt;/tr&gt;';<br />
return $output;<br />
}<br />
function in_string($needle,$haystack) {<br />
$pos = strpos($haystack,$needle);<br />
if($pos === false) {<br />
return false;<br />
}else{<br />
return true;<br />
}<br />
}<br />
function parse_char($char) {<br />
$listeners=array('*','`','_');<br />
if(in_array($char,$listeners) and $this-&gt;link==0) {<br />
if(in_array($char,$this-&gt;lproc)) {<br />
if(!in_array('`',$this-&gt;lproc) or $char=='`') {<br />
$arr=explode($char, $this-&gt;processing);<br />
$scode='';<br />
$ecode='';<br />
if($char=='*') {$scode='&lt;b&gt;';$ecode='&lt;/b&gt;';}<br />
if($char=='`') {$scode='&lt;tt&gt;';$ecode='&lt;/tt&gt;';}<br />
if($char=='_') {$scode='&lt;em&gt;';$ecode='&lt;/em&gt;';}<br />
$this-&gt;processing=$arr[0].$scode.$arr[1].$ecode;<br />
if(strlen($arr[0])==0) {<br />
$this-&gt;line.=$this-&gt;processing;<br />
$this-&gt;processing='';<br />
$this-&gt;lproc=array();<br />
}else{<br />
$p='';<br />
while($p!=$char) {<br />
$p=array_pop($this-&gt;lproc);<br />
}<br />
}<br />
}else{<br />
$this-&gt;processing.=$char;<br />
}<br />
}else{<br />
$this-&gt;processing.=$char;<br />
$this-&gt;lproc[]=$char;<br />
}<br />
}else{<br />
if($this-&gt;link and $char==']') {<br />
if($this-&gt;link==1) {<br />
$arr=explode('[', $this-&gt;processing);<br />
$target='_self';<br />
$link=$arr[1];<br />
$text=$arr[1];<br />
if($this-&gt;in_string(' ',$arr[1])) {<br />
$temp=explode(' ',$arr[1],2);<br />
$link=$temp[0];<br />
$text=$temp[1];<br />
}<br />
if($this-&gt;in_string('://',$link)) {<br />
$target='_blank';<br />
}else{<br />
if(!$this-&gt;in_string('://',$link)) {<br />
if($link==$text) {<br />
$v1=explode('/',$link);<br />
$v1=end($v1);<br />
$v1=explode('#',$v1);<br />
$v1=end($v1);<br />
$text=$v1;<br />
}<br />
$link='/help/docs/'.$link;<br />
}<br />
}<br />
$imgs=array('jpg','gif','bmp','png');<br />
if(in_array(strtolower(substr($link,-3,3)),$imgs)) {<br />
$this-&gt;processing=$arr[0].'&lt;img src="'.$link.'" title="'.$text.'" /&gt;';<br />
}else{<br />
$this-&gt;processing=$arr[0].'&lt;a href="'.$link.'" target="'.$target.'"&gt;'.$text.'&lt;/a&gt;';<br />
}<br />
if(strlen($arr[0])==0) {<br />
$this-&gt;line.=$this-&gt;processing;<br />
$this-&gt;processing='';<br />
$this-&gt;lproc=array();<br />
}<br />
$this-&gt;link=0;<br />
}else{<br />
$this-&gt;link=1;<br />
}<br />
}else{<br />
if($char=='[' and !in_array('`',$this-&gt;lproc)) {<br />
if(!$this-&gt;link) {<br />
$this-&gt;link=1;<br />
$this-&gt;processing.=$char;<br />
}else{<br />
$this-&gt;link=2;<br />
}<br />
}else{<br />
if(strlen($this-&gt;processing)) {<br />
$this-&gt;processing.=$char;<br />
}else{<br />
$this-&gt;line.=$char;<br />
}<br />
}<br />
}<br />
}<br />
}<br />
function parse_chars($line) {<br />
$line=preg_replace('/(((http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?\/?))(?!([^&lt;]+)?&gt;)/i','[$0]',$line);<br />
$this-&gt;line='';<br />
$this-&gt;processing='';<br />
$this-&gt;lproc=array();<br />
$line = preg_split('//', $line, -1);<br />
foreach($line as $char) {<br />
$this-&gt;parse_char($char);<br />
}<br />
$this-&gt;line=preg_replace('/(\[(((http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?\/?))(?!([^&lt;]+)?&gt;)\])/i','$2',$this-&gt;line);<br />
return $this-&gt;line.$this-&gt;processing;<br />
}<br />
function parse_line($line) {<br />
$line_regexes = array(<br />
'preformat'=&gt;'^\s(^[\*\#])$',<br />
'newline'=&gt;'^$',<br />
'list'=&gt;'^(\s+)([\*\#]+)(.*?)$',<br />
'sections'=&gt;'^(={1,6})(.*?)(={1,6})$',<br />
'horizontalrule'=&gt;'^----$',<br />
'table'=&gt;'^\|\|(.*?)\|\|$'<br />
);<br />
$this-&gt;stop = false;<br />
$this-&gt;stop_all = false;<br />
$called = array();<br />
$line = rtrim($line);<br />
foreach ($line_regexes as $func=&gt;$regex) {<br />
if (preg_match("/$regex/i",$line,$matches)) {<br />
$called[$func] = true;<br />
$func = "handle_".$func;<br />
$line = $this-&gt;$func($matches);<br />
if ($this-&gt;stop || $this-&gt;stop_all) break;<br />
}<br />
}<br />
if (!$this-&gt;stop_all) {<br />
$this-&gt;stop=false;<br />
$line=$this-&gt;parse_chars($line);<br />
}<br />
$isline = strlen(trim($line))&gt;0;<br />
// if this wasn't a list item, and we are in a list, close the list tag(s)<br />
if (($this-&gt;list_level&gt;0) &amp;&amp; !isset($called['list'])) $line = $this-&gt;handle_list(false,true) . $line;<br />
if ($this-&gt;preformat &amp;&amp; !isset($called['preformat'])) $line = $this-&gt;handle_preformat(false,true) . $line;<br />
// suppress linebreaks for the next line if we just displayed one; otherwise re-enable them<br />
if ($isline) $this-&gt;suppress_linebreaks = (isset($called['newline']) || isset($called['sections']));<br />
return $line."\n";<br />
}<br />
function parse($text,$title="") {<br />
$this-&gt;redirect = false;<br />
$this-&gt;nowikis = array();<br />
$this-&gt;list_level_types = array();<br />
$this-&gt;list_level = 0;<br />
$this-&gt;deflist = false;<br />
$this-&gt;linknumber = 0;<br />
$this-&gt;suppress_linebreaks = false;<br />
$this-&gt;page_title = $title;<br />
$output = "";<br />
$text = preg_replace_callback('/[\{]{3}([\s\S]+?)[\}]{3}/i',array(&amp;$this,"handle_save_codeblock"),$text);<br />
$lines = explode("\n",$text);<br />
$lines[]='';<br />
if (preg_match('/^\#REDIRECT\s+\[\[(.*?)\]\]$/',trim($lines[0]),$matches)) {<br />
$this-&gt;redirect = $matches[1];<br />
}<br />
foreach ($lines as $k=&gt;$line) {<br />
$line = $this-&gt;parse_line($line);<br />
$output.=$line;<br />
}<br />
$output=preg_replace_callback('/\{\{\{\}\}\}/i',array(&amp;$this,"handle_restore_codeblock"),$output);<br />
return array('contents'=&gt;$output,'headers'=&gt;$this-&gt;headers);<br />
}<br />
function handle_save_nowiki($matches) {<br />
array_push($this-&gt;nowikis,$matches[1]);<br />
return "&lt;nowiki&gt;&lt;/nowiki&gt;";<br />
}<br />
function handle_restore_nowiki($matches) {<br />
return array_pop($this-&gt;nowikis);<br />
}<br />
function handle_save_codeblock($matches) {<br />
array_push($this-&gt;codeblocks,$matches[1]);<br />
return "{{{}}}";<br />
}<br />
function handle_restore_codeblock($matches) {<br />
$this-&gt;codeblocks_ptr++;<br />
return preg_replace_callback('/([\s]{2,})/i',array(&amp;$this,"sp_2_nbsp"),str_replace('&amp;nbsp;',' ',highlight_string(trim($this-&gt;codeblocks[$this-&gt;codeblocks_ptr]),true)));<br />
}<br />
function sp_2_nbsp($matches) {<br />
$output="";<br />
for($x=1;$x&lt;=strlen(current($matches));$x++){<br />
$output.="&amp;nbsp;";<br />
}<br />
return $output;<br />
}<br />
}<br />
?&gt;<br />
</code></p>
<p>I hope I haven&#8217;t forgotten any key part of the code here! If you have any problems, let me know!</p>
<p>The script returns an array with 2 parts: contents and headers. Contents has the parsed HTML and headers contains an array of the titles within the page (which are all assigned anchors), so you can have a &#8216;page contents&#8217; list if you like.</p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=101&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2011/02/23/my-wiki-parser-class-for-php/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
		<item>
		<title>What&#8217;s the problem with Facebook adverts?</title>
		<link>http://edmundgentle.wordpress.com/2011/02/17/whats-the-problem-with-facebook-adverts/</link>
		<comments>http://edmundgentle.wordpress.com/2011/02/17/whats-the-problem-with-facebook-adverts/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 22:42:38 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Social Networks]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=97</guid>
		<description><![CDATA[Facebook advertising has amazing advantages. You can target precisely to the demographic you want. Previous advertising network have to guess, but Facebook knows it&#8217;s users. But what&#8217;s the problem? Well, I saw a report on advertising that Facebook was getting a lower CTR (Click Through Ratio) compared to other advertising networks. Why is this? Because [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=97&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Facebook advertising has amazing advantages. You can target precisely to the demographic you want. Previous advertising network have to guess, but Facebook knows it&#8217;s users.</p>
<p>But what&#8217;s the problem? Well, I saw a report on advertising that Facebook was getting a lower CTR (Click Through Ratio) compared to other advertising networks. Why is this? Because the adverts aren&#8217;t engaging enough. That&#8217;s my explanation anyway.</p>
<p>The adverts are all the same, a title, an image and a description. No fancy banner adverts. No creativity. It&#8217;s just a bit bland.</p>
<p>An argument in favour of these adverts could be that we have &#8216;social engagement&#8217;, but does that really matter? I saw a Sony Ericsson advert on Facebook. It said that somebody I never actually see, and only vaguely know, liked the brand. I&#8217;ll be honest: I don&#8217;t care. I&#8217;d be much more interested by an interactive advert which showed some of the key selling points of a phone. I&#8217;d be more likely to buy one if I knew that it had a 5 megapixel camera, it was running Android and that I could actually call people on it. Having a random like from a random person doesn&#8217;t sell the brands or the phones, it just shows me what someone thinks. Which could lead me to question: why does only one of my three hundred and something friends like Sony Ericsson? That&#8217;s a really low percentage.</p>
<p>This isn&#8217;t a problem with Sony Ericsson, I have a Sony Ericsson phone. It&#8217;s a problem I have with these adverts. Are they really working how they should be or is it just a bit of a fad?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/97/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=97&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2011/02/17/whats-the-problem-with-facebook-adverts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
		<item>
		<title>NewHaze: One step closer to easier games websites</title>
		<link>http://edmundgentle.wordpress.com/2011/02/04/newhaze-one-step-closer-to-easier-games-websites/</link>
		<comments>http://edmundgentle.wordpress.com/2011/02/04/newhaze-one-step-closer-to-easier-games-websites/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 16:18:01 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Latest News]]></category>
		<category><![CDATA[NewHaze]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=92</guid>
		<description><![CDATA[I&#8217;ve just built my first WordPress theme! It&#8217;s not any ordinary theme, though. It uses the NewHaze for WordPress plugin, to create a really quick, easy games website. It&#8217;s available exclusively through the NewHaze Developers store &#8211; for free. (Taking a full page screenshot has also become a lot easier after downloading &#8220;ScreenGrab!&#8221; for Firefox.)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=92&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just built my first WordPress theme!</p>
<p>It&#8217;s not any ordinary theme, though. It uses the <a href="http://wordpress.org/extend/plugins/newhaze/" target="_blank">NewHaze for WordPress</a> plugin, to create a really quick, easy games website.</p>
<p>It&#8217;s available exclusively through the <a href="http://developers.newhaze.com" target="_blank">NewHaze Developers</a> store &#8211; for free.</p>
<p><a href="http://edmundgentle.files.wordpress.com/2011/01/screenshot.png"><img class="alignnone size-medium wp-image-93" title="screenshot" src="http://edmundgentle.files.wordpress.com/2011/01/screenshot.png?w=290&#038;h=300" alt="" width="290" height="300" /></a></p>
<p>(Taking a full page screenshot has also become a lot easier after downloading <a href="https://addons.mozilla.org/en-us/firefox/addon/screengrab/" target="_blank">&#8220;ScreenGrab!&#8221; for Firefox</a>.)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=92&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2011/02/04/newhaze-one-step-closer-to-easier-games-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>

		<media:content url="http://edmundgentle.files.wordpress.com/2011/01/screenshot.png?w=290" medium="image">
			<media:title type="html">screenshot</media:title>
		</media:content>
	</item>
		<item>
		<title>Should Facebook open up their &#8220;Like&#8221; data?</title>
		<link>http://edmundgentle.wordpress.com/2011/01/28/should-facebook-open-up-their-like-data/</link>
		<comments>http://edmundgentle.wordpress.com/2011/01/28/should-facebook-open-up-their-like-data/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 10:35:43 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Social Networks]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=87</guid>
		<description><![CDATA[Facebook is generating loads of data about who &#8220;like&#8221;s what around the internet. Should they be considering opening up that data to allow other people to be able to use it? How would other people use it? Website owners could offer &#8220;most-liked&#8221; content on their site (like &#8220;most popular&#8221;) based on like data. At the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=87&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Facebook is generating loads of data about who &#8220;like&#8221;s what around the internet. Should they be considering opening up that data to allow other people to be able to use it?</p>
<p><strong>How would other people use it?</strong></p>
<p>Website owners could offer &#8220;most-liked&#8221; content on their site (like &#8220;most popular&#8221;) based on like data. At the moment there is no way for site owners to obtain the number of times their content has been liked, so it is not possible to do this yet.</p>
<p>Obviously, the biggest threat to Facebook for opening this up would be rivals like Google and Bing. If they could then use this like data to work out which web pages were most popular with <em>real</em> people, then they could potentially revolutionise their search. Facebook wants to stay ahead of the game, and needs to keep their options open.</p>
<p>As I said in my previous post, I think it&#8217;s important for people to open up APIs of their data. On the whole, Facebook does this quite well, but there are some bits of data, like this, that they are tactically holding back.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=87&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2011/01/28/should-facebook-open-up-their-like-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
		<item>
		<title>Why the world needs APIs</title>
		<link>http://edmundgentle.wordpress.com/2011/01/21/why-the-world-needs-apis/</link>
		<comments>http://edmundgentle.wordpress.com/2011/01/21/why-the-world-needs-apis/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 10:29:04 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=84</guid>
		<description><![CDATA[I think it is essential for the world to have APIs. APIs are a great way of taking the best bits of a site and allowing other sites to use it. I think one way that APIs should be being used much more is in authentication. People are signing up for accounts all over the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=84&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I think it is essential for the world to have APIs.</p>
<p>APIs are a great way of taking the best bits of a site and allowing other sites to use it. I think one way that APIs should be being used much more is in authentication. People are signing up for accounts all over the web: what if you could use an account from one site to load data into another, similar site? So, for example, sign into MetaCafe with your YouTube account, pulling across all your favourite videos, so that MetaCafe can use that information to provide you with a better user experience.</p>
<p>From the user&#8217;s point of view, they don&#8217;t need to create lists of favourite videos on different sites, because it could be one list. All their comments and ratings on videos can be moved around too.</p>
<p>But then you&#8217;ve got privacy concerns, of course. But I think quite a lot of sites are able to put together a fair-use policy on their APIs so that everyone must use them sensibly.</p>
<p>I have put together a few APIs, because I believe it is the way forward. People need to connect their data together, otherwise they are doing too much work for very simple tasks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=84&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2011/01/21/why-the-world-needs-apis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
		<item>
		<title>One Week In: The Mac App Store</title>
		<link>http://edmundgentle.wordpress.com/2011/01/15/one-week-in-the-mac-app-store/</link>
		<comments>http://edmundgentle.wordpress.com/2011/01/15/one-week-in-the-mac-app-store/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 10:26:29 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Latest News]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=80</guid>
		<description><![CDATA[On the whole, I&#8217;m quite disappointed with the Mac App Store. I was expecting software applications at iOS app prices. But with most apps being over £10, I find that I don&#8217;t really want to spend my money on apps unless I really need to. I think this will hold back the Mac App Store [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=80&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>On the whole, I&#8217;m quite disappointed with the Mac App Store. I was expecting software applications at iOS app prices. But with most apps being over £10, I find that I don&#8217;t really want to spend my money on apps unless I really need to. I think this will hold back the Mac App Store from becoming as popular as the iOS store.</p>
<p>Another thing I&#8217;m not really a big fan of is all the apps joining the &#8220;Applications&#8221; folder on my Mac, and joining the dock. Now sure, they have to go somewhere, but I&#8217;d prefer a sub-folder, so I don&#8217;t have to trawl through loads of applications to find the one that I want to use.</p>
<p>I think if Apple really worked hard to get this product really good, it could be a fantastic leap forward in the way software is discovered and bought, but I don&#8217;t think it quite meets the criteria just yet.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=80&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2011/01/15/one-week-in-the-mac-app-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
		<item>
		<title>How to find a &#8220;tag&#8221; in a &#8220;post&#8221;</title>
		<link>http://edmundgentle.wordpress.com/2010/09/04/how-to-find-a-tag-in-a-post/</link>
		<comments>http://edmundgentle.wordpress.com/2010/09/04/how-to-find-a-tag-in-a-post/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 09:54:22 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Social Networks]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=75</guid>
		<description><![CDATA[Twitter and Facebook both allow you to tag friends in posts. It starts with &#8220;@&#8221;, has their username and then the rest of the message carries on. I developed a bit of PHP code to identify and link tags for me. Here it is: $post="hello @edmund! How are you? Have you met @john yet?"; echo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=75&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Twitter and Facebook both allow you to tag friends in posts. It starts with &#8220;@&#8221;, has their username and then the rest of the message carries on. I developed a bit of PHP code to identify and link tags for me. Here it is:<br />
<span id="more-75"></span><br />
<code>$post="hello @edmund! How are you? Have you met @john yet?";<br />
echo preg_replace('/@([a-zA-Z0-9_]{5,20})([,]|[ ]|[.]|[!]|[?])/i', '@&lt;a href="profile.php?id=\1"&gt;\1&lt;/a&gt;\2', $post);</code></p>
<p>Will output:<br />
<code>hello @&lt;a href="profile.php?id=edmund"&gt;edmund&lt;/a&gt;! How are you? Have you met @&lt;a href="profile.php?id=john"&gt;john&lt;/a&gt; yet?</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=75&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2010/09/04/how-to-find-a-tag-in-a-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
		<item>
		<title>Formatting JSON like the Facebook Graph API</title>
		<link>http://edmundgentle.wordpress.com/2010/09/04/formatting-json-like-the-facebook-graph-api/</link>
		<comments>http://edmundgentle.wordpress.com/2010/09/04/formatting-json-like-the-facebook-graph-api/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 09:41:21 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=71</guid>
		<description><![CDATA[A recent project of mine required me to format JSON in a similar way to the Facebook Graph API. So I wrote a bit of PHP code to do the job. function format_json($json) { $indents=0; $output=''; $inside=false; for ($i = 0, $j = strlen($json); $i &#60; $j; $i++) { $char=$json[$i]; if($char=='{' &#124;&#124; $char=='[') { if(!$inside) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=71&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A recent project of mine required me to format JSON in a similar way to the <a href="http://developers.facebook.com/docs/api" target="_blank">Facebook Graph API</a>. So I wrote a bit of PHP code to do the job.<br />
<span id="more-71"></span><br />
<code>function format_json($json) {<br />
$indents=0;<br />
$output='';<br />
$inside=false;<br />
for ($i = 0, $j = strlen($json); $i &lt; $j; $i++) {<br />
$char=$json[$i];<br />
if($char=='{' || $char=='[') {<br />
if(!$inside) {<br />
$indents=$indents+3;<br />
$output.=$char."\n".space($indents);<br />
}else{<br />
$output.=$char;<br />
}<br />
}elseif($char==',') {<br />
if(!$inside) {<br />
$output.=$char."\n".space($indents);<br />
}else{<br />
$output.=$char;<br />
}<br />
}elseif($char==':') {<br />
if(!$inside) {<br />
$output.=$char." ";<br />
}else{<br />
$output.=$char;<br />
}<br />
}elseif($char=='}' || $char==']') {<br />
if(!$inside) {<br />
$indents=$indents-3;<br />
$output.="\n".space($indents).$char;<br />
}else{<br />
$output.=$char;<br />
}<br />
}elseif($char=='"') {<br />
if($inside) {<br />
$inside=false;<br />
}else{<br />
$inside=true;<br />
}<br />
$output.=$char;<br />
}else{<br />
$output.=$char;<br />
}<br />
}<br />
$output=str_replace('\/','/',$output);<br />
return $output;<br />
}<br />
function space($x) {<br />
$output='';<br />
for($y=1;$y&lt;=$x;$y++) {<br />
$output.=' ';<br />
}<br />
return $output;<br />
}<br />
</code></p>
<p>Just feed a JSON-encoded string into this function, and it will output it with the necessary indentations and format to match the Graph API.</p>
<p>Now this only works if you view the page source. How do you get it to work when someone views the page in their browser? Just add the following HTTP header:</p>
<p><code>header("Content-Type: text/javascript; charset=UTF-8\n");</code></p>
<p>The above is PHP code, just output this before you output anything else.</p>
<p>EDIT: Just added the space() function in. Many thanks to Michael Wang for spotting this.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=71&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2010/09/04/formatting-json-like-the-facebook-graph-api/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
		<item>
		<title>Is privacy such a major concern?</title>
		<link>http://edmundgentle.wordpress.com/2010/08/25/is-privacy-such-a-major-concern/</link>
		<comments>http://edmundgentle.wordpress.com/2010/08/25/is-privacy-such-a-major-concern/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 21:25:44 +0000</pubDate>
		<dc:creator>Edmund Gentle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Social Networks]]></category>

		<guid isPermaLink="false">http://edmundgentle.wordpress.com/?p=67</guid>
		<description><![CDATA[People are constantly fussing about the privacy Facebook offers. When Facebook launched their new auto-customization services, to customize websites automatically, people went crazy. They didn&#8217;t like the fact that other websites knew what type of books or films they like. If I&#8217;m honest with you, I don&#8217;t mind people knowing that I like the film [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=67&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>People are constantly fussing about the privacy Facebook offers. When Facebook launched their new auto-customization services, to customize websites automatically, people went crazy. They didn&#8217;t like the fact that other websites knew what type of books or films they like.</p>
<p>If I&#8217;m honest with you, I don&#8217;t mind people knowing that I like the film Ocean&#8217;s Eleven or that I listen to Scouting For Girls &#8230; or even that I&#8217;m not too bothered about reading! If I didn&#8217;t want people to know that, I wouldn&#8217;t have filled it out on my Facebook profile.</p>
<p>This made me wonder: <strong>do people really add stuff to their Facebook accounts that is &#8220;secret&#8221;?</strong> If so, how stupid are you to not have changed your privacy settings?</p>
<p>It&#8217;s not like Facebook are giving away actual sensitive information. If Facebook started telling 3rd party sites my email address (without my permission) or the content of private messages I send to my friends, then I&#8217;d start getting worried. But they haven&#8217;t. They are sharing public information. What&#8217;s the big deal?</p>
<p>I suppose other Facebook users aren&#8217;t as familiar with tech stuff as myself though, so maybe they were concerned about the website knowing who they were before they&#8217;d connected. I wouldn&#8217;t know anything about it though, as I tried to use the services but <a href="http://edmundgentle.wordpress.com/2010/06/23/second-class-citizens/">I couldn&#8217;t because I&#8217;m British</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/edmundgentle.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/edmundgentle.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/edmundgentle.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/edmundgentle.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/edmundgentle.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/edmundgentle.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/edmundgentle.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/edmundgentle.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/edmundgentle.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/edmundgentle.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/edmundgentle.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/edmundgentle.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/edmundgentle.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/edmundgentle.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=edmundgentle.wordpress.com&amp;blog=11285057&amp;post=67&amp;subd=edmundgentle&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://edmundgentle.wordpress.com/2010/08/25/is-privacy-such-a-major-concern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fd260b26786ebd9b730902883eaf0657?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">edmundgentle</media:title>
		</media:content>
	</item>
	</channel>
</rss>
