<?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"
	>

<channel>
	<title>Martin's Blog</title>
	<atom:link href="http://martingrayson.co.uk/wordpress/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://martingrayson.co.uk/wordpress</link>
	<description>Martin's Technical Ramblings</description>
	<pubDate>Fri, 02 Jan 2009 12:54:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>OS X 10.5.5 with Kalyway</title>
		<link>http://martingrayson.co.uk/wordpress/?p=14</link>
		<comments>http://martingrayson.co.uk/wordpress/?p=14#comments</comments>
		<pubDate>Fri, 02 Jan 2009 12:50:42 +0000</pubDate>
		<dc:creator>martin</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Kalyway]]></category>

		<category><![CDATA[OS X]]></category>

		<category><![CDATA[PC]]></category>

		<guid isPermaLink="false">http://martingrayson.co.uk/wordpress/?p=14</guid>
		<description><![CDATA[Due to the lack of use my iMac gets these days I&#8217;ve decided to put it up for sale on eBay.
However I still want a Mac around in order to develop future iPhone apps, so I decided to try and install Mac OS on my PC.
I started out trying to use the iAkatos disk however [...]]]></description>
			<content:encoded><![CDATA[<p>Due to the lack of use my iMac gets these days I&#8217;ve decided to put it up for sale on eBay.</p>
<p>However I still want a Mac around in order to develop future iPhone apps, so I decided to try and install Mac OS on my PC.</p>
<p>I started out trying to use the iAkatos disk however as with previous attempts using this disk, I couldn&#8217;t even make it to the installer due to a lack of IDE controller support for my motherboard among other things. This forced me to move on to the Kalyway disk which surprisingly worked first time!</p>
<p>I set about installing Mac OS (10.5.2) onto an external 250gb drive, this worked pretty well and I was able to boot into Mac OS within half an hour of putting the disk in. However I didn&#8217;t customize the install and so I didn&#8217;t have multiple monitor support or any sort of decent graphics. I choose to reinstall, selecting the correct driver but later found out i could probably have just dumped the right kext into the system.</p>
<p>Following this i ran the Kalyway 10.5.3 Combo update and successfully upgraded with no problems, there are plenty of guides around but the basic process was to run a task that looped, looking to delete a kext whilst the installer ran.</p>
<p>The next step was to install the 10.5.4 update that I grabbed from the Apple site. No problems with this one i believe - the usual reboot then -v -f -x switches. The same process was carried out in order to install 10.5.5, slow and tedious i know.</p>
<p>I stopped at 10.5.5 as I couldn&#8217;t find any guides on installing 10.5.6 and didn&#8217;t fancy putting all my hard work to waste - I think if i installed 10.5.6 i would run into problems with EFI.</p>
<p>The final step was to get the graphics up and running at full power. After some Googling and playing, I choose to give <a href="http://diabolik1605.com/DHF/">NVKush</a> a try. This worked great and was much easier than trying to hack around with NVInject. Quartz Extreme works fine and so all the animation works great <img src='http://martingrayson.co.uk/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;m loving using Mac OS on my quad core machine and find myself booting into Mac OS every time i boot up! If only Apple would sell Mac OS for other platforms or at least introduce a Live DVD to get people hooked!</p>
]]></content:encoded>
			<wfw:commentRss>http://martingrayson.co.uk/wordpress/?feed=rss2&amp;p=14</wfw:commentRss>
		</item>
		<item>
		<title>Hide and Seek</title>
		<link>http://martingrayson.co.uk/wordpress/?p=12</link>
		<comments>http://martingrayson.co.uk/wordpress/?p=12#comments</comments>
		<pubDate>Sun, 28 Dec 2008 00:34:22 +0000</pubDate>
		<dc:creator>martin</dc:creator>
		
		<category><![CDATA[iPhone]]></category>

		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Appstore]]></category>

		<category><![CDATA[Hide and seek]]></category>

		<guid isPermaLink="false">http://martingrayson.co.uk/wordpress/?p=12</guid>
		<description><![CDATA[I&#8217;m on the search for new ideas for apps to write for the iPhone just for enjoyment - something I can whip up in an afternoon would be nice.
I&#8217;ve just had an idea, but I&#8217;m not sure if there&#8217;s something similar already floating around&#8230;
The basic idea goes something along the lines of hide and seek [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on the search for new ideas for apps to write for the iPhone just for enjoyment - something I can whip up in an afternoon would be nice.</p>
<p>I&#8217;ve just had an idea, but I&#8217;m not sure if there&#8217;s something similar already floating around&#8230;</p>
<p>The basic idea goes something along the lines of hide and seek with strangers. Someone may leave a message (paper or some other physical thing), object or anything, open the app and mark the objects location. The user could then write a few clues and post it to the server. Following this, anyone within a given radius could be sent a clue to where the prize/message is. I think it would be pretty fun to play!</p>
<p>The idea came about when I thought about how Trent Reznor of Nine Inch Nails used Google Maps to mark where he had hidden some concert tickets for fans to find. I believe there&#8217;s some sort of similar concept on an <a href="http://www.tv.com/numb3rs/primacy/episode/1144150/summary.html">episode of Numb3rs</a>.</p>
<p>I think it would be pretty hard to get the idea to take off, and there may be some problems that always come with user submitted content but there&#8217;s opportunity.</p>
]]></content:encoded>
			<wfw:commentRss>http://martingrayson.co.uk/wordpress/?feed=rss2&amp;p=12</wfw:commentRss>
		</item>
		<item>
		<title>Mood Adaptive Playlists</title>
		<link>http://martingrayson.co.uk/wordpress/?p=11</link>
		<comments>http://martingrayson.co.uk/wordpress/?p=11#comments</comments>
		<pubDate>Fri, 31 Oct 2008 09:45:38 +0000</pubDate>
		<dc:creator>martin</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[iPhone]]></category>

		<category><![CDATA[Adaptive]]></category>

		<category><![CDATA[iPod]]></category>

		<category><![CDATA[iTunes]]></category>

		<category><![CDATA[Mood]]></category>

		<category><![CDATA[Music]]></category>

		<category><![CDATA[Playlists]]></category>

		<guid isPermaLink="false">http://martingrayson.co.uk/wordpress/?p=11</guid>
		<description><![CDATA[Whilst listening to my iPod on the train to work today, I had an idea, albeit probably not applicable to the iPod.
The basic story goes that, I&#8217;d say most people like to listen to different genres of music at different times. Unless you have a restricted musical taste, you probably like at least a few [...]]]></description>
			<content:encoded><![CDATA[<p>Whilst listening to my iPod on the train to work today, I had an idea, albeit probably not applicable to the iPod.</p>
<p>The basic story goes that, I&#8217;d say most people like to listen to different genres of music at different times. Unless you have a restricted musical taste, you probably like at least a few genres of music, and usually you like to listen to them on different occasions. I think the genre and mood of the music you like to listen to reflect what&#8217;s going on in your life and how you feel at that particular moment.</p>
<p>Due to the fact that we express how we feel through facial expressions and our actions, a computer could theoretically detect how you&#8217;re feeling. I know this isn&#8217;t the whole story, but nothings black and white.</p>
<p>So my idea is that, through using say a webcam (a Mac with an iSight would be ideal), we could combine facial recognition and emotion detection algorithms to form smart playlists that relates to your mood. This could even be combined with Genius in iTunes to form a set of songs that go well together and express your mood at the same time. I see the emotion detection algorithms being adaptive, relying on the image processing but also user input e.g. if the user chooses to skip a given song.</p>
<p>There are obviously some technical and privacy issues. The first technical issue being that image processing is very processor intensive, however with machines of the future having tens of cores, this may not be such a problem. Many users may also not want a computer detecting how they feel, or attempting to.</p>
<p>Now if only my iTunes COM interface worked properly I&#8217;d start coding it!</p>
]]></content:encoded>
			<wfw:commentRss>http://martingrayson.co.uk/wordpress/?feed=rss2&amp;p=11</wfw:commentRss>
		</item>
		<item>
		<title>Ep Guides Reminder</title>
		<link>http://martingrayson.co.uk/wordpress/?p=10</link>
		<comments>http://martingrayson.co.uk/wordpress/?p=10#comments</comments>
		<pubDate>Mon, 22 Sep 2008 12:35:46 +0000</pubDate>
		<dc:creator>martin</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Ep guides]]></category>

		<category><![CDATA[Screen scraping]]></category>

		<category><![CDATA[TV episodes]]></category>

		<guid isPermaLink="false">http://martingrayson.co.uk/wordpress/?p=10</guid>
		<description><![CDATA[After regularly missing my favourite American TV shows, I decided to write a little script to remind me to watch them.
It scrapes data from epguides.com and forms an RSS feed based on what shows are going to be released in the next week (this can be changed in the parameters). Due to the scraping being [...]]]></description>
			<content:encoded><![CDATA[<p>After regularly missing my favourite American TV shows, I decided to write a little script to remind me to watch them.</p>
<p>It scrapes data from <a href="epguides.com">epguides.com</a> and forms an RSS feed based on what shows are going to be released in the next week (this can be changed in the parameters). Due to the scraping being pretty slow, and not wanting to use too much bandwidth, I setup a cron job and piped the output of the script to a file that I&#8217;ve added to my iGoogle homepage.</p>
<p>Now whenever I open my homepage I can instantly see what shows that I like are going to be aired in the coming weeks!</p>
<p>Screen scraping is never ideal, but it usually works. Rather conveniently the format of epguides pages are very much table like, in order to save writing many regular expressions that may catch the wrong data when information is missing I simply split the data into its columns and rows. I simply match the correct div element and then process each line by splitting it into sub strings. This isn&#8217;t the most efficient way, but since this only runs daily in a cron job, its fine for me.</p>
<div class="geshi php">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$urlPrefix</span> <span class="sy0">=</span> <span class="st0">&quot;http://epguides.com/&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$toFetch</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;Prison Break&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;PrisonBreak&quot;</span><span class="sy0">,</span> <span class="st0">&quot;Dexter&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;Dexter&quot;</span><span class="sy0">,</span> <span class="st0">&quot;Lost&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;Lost&quot;</span><span class="sy0">,</span> <span class="st0">&quot;NUMB3RS&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;NUMB3RS&quot;</span><span class="sy0">,</span> <span class="st0">&quot;House, M.D.&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;House&quot;</span><span class="sy0">,</span> <span class="st0">&quot;Family Guy&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;FamilyGuy&quot;</span><span class="sy0">,</span> <span class="st0">&quot;American Dad&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;AmericanDad&quot;</span><span class="sy0">,</span> <span class="st0">&quot;South Park&quot;</span> <span class="sy0">=&gt;</span> <span class="st0">&quot;SouthPark&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">//the shows for the feed</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$dateFormat</span> <span class="sy0">=</span> <span class="st0">&quot;l jS F Y&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$minAge</span> <span class="sy0">=</span> <span class="kw3">time</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">-</span> <span class="nu0">172800</span><span class="sy0">;</span> <span class="co1">// 2 days ago</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$maxAge</span> <span class="sy0">=</span> &nbsp;<span class="kw3">time</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">+</span> <span class="nu0">604800</span><span class="sy0">;</span> <span class="co1">//one week from today</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">require</span><span class="br0">&#40;</span><span class="st0">&quot;downloader.class.php&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">header</span><span class="br0">&#40;</span><span class="st0">&#39;Content-type: application/xml; charset=&quot;utf-8&quot;&#39;</span><span class="sy0">,</span> <span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$list</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$toFetch</span> <span class="kw1">as</span> <span class="sy0">&amp;</span><span class="re1">$url</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$url</span> <span class="sy0">=</span> <span class="re1">$urlPrefix</span> <span class="sy0">.</span> <span class="re1">$url</span> <span class="sy0">.</span> <span class="st0">&#39;/&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">set_time_limit</span><span class="br0">&#40;</span><span class="nu0">20</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$file</span> <span class="sy0">=</span> getFile<span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$arr</span> <span class="sy0">=</span> performMatch<span class="br0">&#40;</span><span class="re1">$file</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$show</span> <span class="sy0">=</span> <span class="re1">$arr</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$arr</span> <span class="sy0">=</span> filter_old<span class="br0">&#40;</span><span class="re1">$arr</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$list</span> <span class="br0">&#91;</span><span class="re1">$show</span><span class="br0">&#93;</span><span class="sy0">=</span> <span class="re1">$arr</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$dom</span> <span class="sy0">=</span> <span class="kw2">new</span> domDocument<span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$dom</span><span class="sy0">-&gt;</span><span class="me1">loadXML</span><span class="br0">&#40;</span><span class="st0">&#39;&lt;rss version=&quot;0.92&quot;&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;channel&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;title&gt;Upcoming TV Shows&lt;/title&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;description&gt;The latest TV shows from epguides.com&lt;/description&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;link&gt;http://epguides.com&lt;/link&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;/channel&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&lt;/rss&gt;&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="sy0">!</span><span class="re1">$dom</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw3">echo</span> <span class="st0">&#39;Error while parsing the document&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="kw3">exit</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$mainRoot</span> <span class="sy0">=</span> simplexml_import_dom<span class="br0">&#40;</span><span class="re1">$dom</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$root</span> <span class="sy0">=</span> <span class="re1">$mainRoot</span><span class="sy0">-&gt;</span><span class="me1">channel</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$byDate</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$list</span> <span class="kw1">as</span> <span class="re1">$id</span> <span class="sy0">=&gt;</span> <span class="re1">$show</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="kw3">count</span><span class="br0">&#40;</span><span class="re1">$show</span><span class="br0">&#41;</span> <span class="sy0">&gt;</span> <span class="nu0">0</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$show</span> <span class="kw1">as</span> <span class="re1">$ep</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$ep</span> <span class="br0">&#91;</span><span class="st0">&quot;show&quot;</span><span class="br0">&#93;</span><span class="sy0">=</span> <span class="re1">$id</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$byDate</span> <span class="br0">&#91;</span><span class="re1">$ep</span><span class="br0">&#91;</span><span class="st0">&#39;air-date&#39;</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$ep</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$byDate</span> <span class="kw1">as</span> <span class="re1">$id</span> <span class="sy0">=&gt;</span> <span class="re1">$date</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$showElement</span> <span class="sy0">=</span> <span class="re1">$root</span><span class="sy0">-&gt;</span><span class="me1">addChild</span><span class="br0">&#40;</span><span class="st0">&#39;item&#39;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$showElement</span><span class="sy0">-&gt;</span><span class="me1">addChild</span><span class="br0">&#40;</span><span class="st0">&#39;title&#39;</span><span class="sy0">,</span> <span class="kw3">date</span><span class="br0">&#40;</span><span class="re1">$dateFormat</span><span class="sy0">,</span> <span class="re1">$id</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$showElement</span><span class="sy0">-&gt;</span><span class="me1">addChild</span><span class="br0">&#40;</span><span class="st0">&#39;pubDate&#39;</span><span class="sy0">,</span> <span class="kw3">date</span><span class="br0">&#40;</span>DATE_RFC822<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$desStr</span> <span class="sy0">=</span> <span class="st0">&quot;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$date</span> <span class="kw1">as</span> <span class="re1">$ep</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="kw3">preg_match</span><span class="br0">&#40;</span><span class="st0">&quot;/([0-9]*)<span class="es0">\-</span>([0-9]*)/&quot;</span><span class="sy0">,</span> <span class="re1">$ep</span><span class="br0">&#91;</span><span class="st0">&#39;ep-season&#39;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re1">$epSeasonSplit</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$season</span> <span class="sy0">=</span> <span class="kw3">sprintf</span><span class="br0">&#40;</span><span class="st0">&quot;%02s&quot;</span><span class="sy0">,</span> <span class="re1">$epSeasonSplit</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$episode</span> <span class="sy0">=</span> <span class="kw3">sprintf</span><span class="br0">&#40;</span><span class="st0">&quot;%02s&quot;</span><span class="sy0">,</span> <span class="re1">$epSeasonSplit</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$seString</span> <span class="sy0">=</span> <span class="st0">&#39; S&#39;</span><span class="sy0">.</span><span class="re1">$season</span><span class="sy0">.</span><span class="st0">&#39;E&#39;</span><span class="sy0">.</span><span class="re1">$episode</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$desStr</span> <span class="sy0">.=</span> <span class="re1">$seString</span> <span class="sy0">.</span> <span class="st0">&quot; - &quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$desStr</span> <span class="sy0">.=</span> <span class="re1">$ep</span><span class="br0">&#91;</span><span class="st0">&#39;ep-season&#39;</span><span class="br0">&#93;</span> <span class="sy0">.</span> <span class="st0">&quot; - &quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$desStr</span> <span class="sy0">.=</span> &nbsp;<span class="st0">&#39;&lt;a href=&quot;&#39;</span><span class="sy0">.</span><span class="re1">$toFetch</span><span class="br0">&#91;</span><span class="re1">$ep</span><span class="br0">&#91;</span><span class="st0">&#39;show&#39;</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&quot;&gt;&#39;</span><span class="sy0">.</span><span class="re1">$ep</span><span class="br0">&#91;</span><span class="st0">&#39;show&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&lt;/a&gt; - &lt;a href=&quot;&#39;</span><span class="sy0">.</span><span class="re1">$ep</span><span class="br0">&#91;</span><span class="st0">&#39;link&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&#39;&quot;&gt;&#39;</span><span class="sy0">.</span><span class="re1">$ep</span><span class="br0">&#91;</span><span class="st0">&#39;title&#39;</span><span class="br0">&#93;</span><span class="sy0">.</span><span class="st0">&quot;&lt;/a&gt;&lt;br /&gt;&quot;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$showElement</span><span class="sy0">-&gt;</span><span class="me1">addChild</span><span class="br0">&#40;</span><span class="st0">&#39;description&#39;</span><span class="sy0">,</span> <span class="re1">$desStr</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">echo</span><span class="br0">&#40;</span><span class="re1">$mainRoot</span><span class="sy0">-&gt;</span><span class="me1">asXML</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> getFile<span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$downloader</span> <span class="sy0">=</span> <span class="kw2">new</span> downloader<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$downloader</span><span class="sy0">-&gt;</span><span class="me1">clearCache</span><span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span> <span class="re1">$downloader</span><span class="sy0">-&gt;</span><span class="me1">get</span><span class="br0">&#40;</span><span class="re1">$url</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> filter_old<span class="br0">&#40;</span><span class="re1">$arr</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">global</span> <span class="re1">$maxAge</span><span class="sy0">,</span> <span class="re1">$minAge</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$ret</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$time</span> <span class="sy0">=</span> <span class="re1">$minAge</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$nextWeek</span> <span class="sy0">=</span> <span class="re1">$maxAge</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$arr</span> <span class="kw1">as</span> <span class="re1">$row</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="br0">&#40;</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;air-date&#39;</span><span class="br0">&#93;</span> <span class="sy0">&gt;=</span> <span class="re1">$time</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&#39;air-date&#39;</span><span class="br0">&#93;</span> <span class="sy0">&lt;=</span> <span class="re1">$nextWeek</span><span class="br0">&#41;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$ret</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">=</span> <span class="re1">$row</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span> <span class="re1">$ret</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">function</span> performMatch<span class="br0">&#40;</span><span class="re1">$file</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$matches</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$epTableRegex</span> <span class="sy0">=</span> <span class="st0">&#39;/&lt;div id=&quot;eplist&quot;&gt;.*&lt;pre&gt;(.*)&lt;<span class="es0">\/</span>pre&gt;.*&lt;<span class="es0">\/</span>div&gt;/isU&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$hLinkRegex</span> <span class="sy0">=</span> <span class="st0">&#39;/&lt;a target=&quot;[^&quot;]*&quot; href=&quot;([^&quot;]*)&quot;&gt;([^&lt;]*)&lt;<span class="es0">\/</span>a&gt;/&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$titleRegex</span> <span class="sy0">=</span> <span class="st0">&#39;/&lt;h1&gt;&lt;a href=&quot;([^&quot;]*)&quot;&gt;([^&lt;]*)&lt;<span class="es0">\/</span>a&gt;&lt;<span class="es0">\/</span>h1&gt;/&#39;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">preg_match</span><span class="br0">&#40;</span><span class="re1">$titleRegex</span><span class="sy0">,</span> <span class="re1">$file</span><span class="sy0">,</span> <span class="re1">$titleMatches</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw3">preg_match</span><span class="br0">&#40;</span><span class="re1">$epTableRegex</span><span class="sy0">,</span> <span class="re1">$file</span><span class="sy0">,</span> <span class="re1">$matches</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$showTitle</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="re1">$titleMatches</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$ep_table</span> <span class="sy0">=</span> <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$matches</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$ep_arr</span> <span class="sy0">=</span> <span class="kw3">split</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\n</span>&quot;</span><span class="sy0">,</span> <span class="re1">$ep_table</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$episodes</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$split_line</span> <span class="sy0">=</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$ep_arr</span> <span class="kw1">as</span> <span class="re1">$ep</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$e</span> <span class="sy0">=</span> <span class="kw3">str_replace</span><span class="br0">&#40;</span><span class="st0">&quot; &quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="re1">$ep</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="kw3">strlen</span><span class="br0">&#40;</span><span class="re1">$e</span><span class="br0">&#41;</span> <span class="sy0">==</span> <span class="kw3">count</span><span class="br0">&#40;</span><span class="kw3">split</span><span class="br0">&#40;</span><span class="st0">&quot;_&quot;</span><span class="sy0">,</span> <span class="re1">$e</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$split_line</span> <span class="sy0">=</span> <span class="re1">$ep</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">break</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="re1">$col_lengths</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re1">$split_line</span> <span class="sy0">!=</span><span class="kw2">null</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$split_arr</span> <span class="sy0">=</span> <span class="kw3">split</span> <span class="br0">&#40;</span><span class="st0">&quot; &quot;</span><span class="sy0">,</span> <span class="re1">$split_line</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$split_arr</span> <span class="kw1">as</span> <span class="re1">$split_len</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$len</span> <span class="sy0">=</span> <span class="kw3">strlen</span><span class="br0">&#40;</span><span class="re1">$split_len</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re1">$len</span> <span class="sy0">&gt;</span> <span class="nu0">0</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$col_lengths</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">=</span> <span class="re1">$len</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="re1">$i</span> <span class="sy0">=</span><span class="nu0">1</span><span class="sy0">;</span> <span class="re1">$i</span><span class="sy0">&lt;</span>count<span class="br0">&#40;</span><span class="re1">$col_lengths</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="re1">$i</span><span class="sy0">++</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$currentCol</span> <span class="sy0">=</span> <span class="re1">$col_lengths</span><span class="br0">&#91;</span><span class="re1">$i</span><span class="br0">&#93;</span> <span class="sy0">+</span> <span class="re1">$col_lengths</span><span class="br0">&#91;</span><span class="re1">$i</span><span class="nu0">-1</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$col_lengths</span><span class="br0">&#91;</span><span class="re1">$i</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$currentCol</span> <span class="nu0">+1</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$part_arr</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;ep-num&quot;</span><span class="sy0">,</span> <span class="st0">&quot;ep-season&quot;</span><span class="sy0">,</span> <span class="st0">&quot;prod-num&quot;</span><span class="sy0">,</span> <span class="st0">&quot;air-date&quot;</span><span class="sy0">,</span> <span class="st0">&quot;title&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="re1">$table_arr</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$ep_arr</span> <span class="kw1">as</span> <span class="re1">$line</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$line_arr</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">for</span> <span class="br0">&#40;</span><span class="re1">$i</span> <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span> <span class="re1">$i</span><span class="sy0">&lt;</span>count<span class="br0">&#40;</span><span class="re1">$col_lengths</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="re1">$i</span><span class="sy0">++</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$start</span> <span class="sy0">=</span> <span class="re1">$col_lengths</span><span class="br0">&#91;</span><span class="re1">$i</span><span class="nu0">-1</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$end</span> <span class="sy0">=</span> <span class="br0">&#40;</span><span class="re1">$col_lengths</span><span class="br0">&#91;</span><span class="re1">$i</span><span class="br0">&#93;</span><span class="sy0">-</span><span class="re1">$start</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re1">$i</span> <span class="sy0">==</span> <span class="br0">&#40;</span><span class="kw3">count</span><span class="br0">&#40;</span><span class="re1">$col_lengths</span><span class="br0">&#41;</span><span class="nu0">-1</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="re1">$end</span> <span class="sy0">=</span> <span class="kw3">strlen</span><span class="br0">&#40;</span><span class="re1">$line</span><span class="br0">&#41;</span><span class="sy0">-</span><span class="re1">$start</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$str</span> <span class="sy0">=</span> <span class="kw3">substr</span><span class="br0">&#40;</span><span class="re1">$line</span><span class="sy0">,</span> <span class="re1">$start</span><span class="sy0">,</span> <span class="re1">$end</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$line_arr</span> <span class="br0">&#91;</span><span class="re1">$part_arr</span><span class="br0">&#91;</span><span class="re1">$i</span><span class="nu0">-1</span><span class="br0">&#93;</span><span class="br0">&#93;</span><span class="sy0">=</span> <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$str</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$table_arr</span> <span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re1">$line_arr</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re1">$table_arr</span> <span class="kw1">as</span> <span class="re1">$row</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$airdate</span> <span class="sy0">=</span> <span class="kw3">strtotime</span> <span class="br0">&#40;</span><span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&quot;air-date&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">preg_match</span><span class="br0">&#40;</span><span class="re1">$hLinkRegex</span><span class="sy0">,</span> <span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&quot;title&quot;</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re1">$matches</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$title</span> <span class="sy0">=</span> <span class="re1">$matches</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$link</span> <span class="sy0">=</span> <span class="re1">$matches</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$epNum</span> <span class="sy0">=</span> <span class="kw3">str_replace</span><span class="br0">&#40;</span><span class="st0">&quot;.&quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&quot;ep-num&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$epSeasonNum</span> <span class="sy0">=</span> <span class="kw3">str_replace</span><span class="br0">&#40;</span><span class="st0">&quot; &quot;</span><span class="sy0">,</span> <span class="st0">&quot;&quot;</span><span class="sy0">,</span> <span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&quot;ep-season&quot;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="re1">$prodNum</span> <span class="sy0">=</span> <span class="re1">$row</span><span class="br0">&#91;</span><span class="st0">&quot;prod-num&quot;</span><span class="br0">&#93;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="re1">$epNum</span> <span class="sy0">!=</span> <span class="kw2">null</span><span class="br0">&#41;</span> <span class="sy0">&amp;&amp;</span> <span class="br0">&#40;</span><span class="re1">$airdate</span> <span class="sy0">!=</span> <span class="kw2">null</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re1">$episodes</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="st0">&quot;ep-num&quot;</span> <span class="sy0">=&gt;</span> <span class="re1">$epNum</span><span class="sy0">,</span> <span class="st0">&quot;ep-season&quot;</span> <span class="sy0">=&gt;</span> <span class="re1">$epSeasonNum</span><span class="sy0">,</span> <span class="st0">&quot;prod-num&quot;</span><span class="sy0">=&gt;</span><span class="re1">$prodNum</span><span class="sy0">,</span> <span class="st0">&quot;air-date&quot;</span><span class="sy0">=&gt;</span><span class="re1">$airdate</span><span class="sy0">,</span> <span class="st0">&quot;title&quot;</span><span class="sy0">=&gt;</span><span class="re1">$title</span><span class="sy0">,</span> <span class="st0">&quot;link&quot;</span><span class="sy0">=&gt;</span><span class="re1">$link</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">return</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="re1">$showTitle</span><span class="sy0">,</span> <span class="re1">$episodes</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
<p>The downloader class simply grabs and manages files for local scraping.</p>
]]></content:encoded>
			<wfw:commentRss>http://martingrayson.co.uk/wordpress/?feed=rss2&amp;p=10</wfw:commentRss>
		</item>
		<item>
		<title>My Summer</title>
		<link>http://martingrayson.co.uk/wordpress/?p=9</link>
		<comments>http://martingrayson.co.uk/wordpress/?p=9#comments</comments>
		<pubDate>Tue, 19 Aug 2008 10:05:34 +0000</pubDate>
		<dc:creator>martin</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[iPhone]]></category>

		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Coding]]></category>

		<category><![CDATA[Summer]]></category>

		<guid isPermaLink="false">http://martingrayson.co.uk/wordpress/?p=9</guid>
		<description><![CDATA[Much has happened since my last post, and I didn’t keep up the blogging – no shock there.
I managed to get my hands on a mint condition iMac for a very good price, it’s the model just before they made them silver. Nice little thing, the iMac, it would be nice to ditch the PC [...]]]></description>
			<content:encoded><![CDATA[<p>Much has happened since my last post, and I didn’t keep up the blogging – no shock there.</p>
<p>I managed to get my hands on a mint condition iMac for a very good price, it’s the model just before they made them silver. Nice little thing, the iMac, it would be nice to ditch the PC but it would be too expensive to replace with the equivalent Mac.</p>
<p>The first day of getting the Mac up and running saw me install <a title="Synergy" href="http://synergy2.sourceforge.net/">Synergy </a>and the iPhone SDK, everything I shall ever need for the Mac! Synergy is a pretty handy app, albeit a little painful to setup and install. This allows me to keep my desk clear and use the keyboard on my Windows machine to develop on the Mac too.</p>
<p>Within a few days development had begun on MovieStar (checkout my project page) – my native IMDb search tool. Prior this point I had no experience with Cocoa or Objective-C, besides the fact that I’d only used Mac’s occasionally. The first few weeks of getting to grips with the new language and development environment were hard, but the odd syntax gradually came to me.</p>
<p>The link between the Interface Builder and the code was a little hard to fathom at first, where if you accidently connect the wrong components or outlets the app just crashes with little clue as to why. This brings me on to XCode’s error handling – what’s going on there? The majority of crashes give you NO error message at all, XCode just starts up GDB and shrugs.</p>
<p>XCode isn’t all bad though, if you look past the fact you can’t rename a project easily. The API look up tool is pretty handy and I do like the code auto completion, although it’s a little hard to get used to coming from Netbeans and similar tools.</p>
<p>Expect to see MovieStar on the AppStore at the end of September of sometime in October – I hope!</p>
]]></content:encoded>
			<wfw:commentRss>http://martingrayson.co.uk/wordpress/?feed=rss2&amp;p=9</wfw:commentRss>
		</item>
		<item>
		<title>I need a Mac</title>
		<link>http://martingrayson.co.uk/wordpress/?p=8</link>
		<comments>http://martingrayson.co.uk/wordpress/?p=8#comments</comments>
		<pubDate>Mon, 09 Jun 2008 21:08:25 +0000</pubDate>
		<dc:creator>martin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://martingrayson.co.uk/wordpress/?p=8</guid>
		<description><![CDATA[In light of the Apple WWDC, I have concluded the following.
There are so many applications I want to develop for the iPhone, but it just sucks not having an Intel Mac or a Mac at all to develop them on! If anyone wants to donate me a Mac, I would be eternally grateful!
]]></description>
			<content:encoded><![CDATA[<p>In light of the Apple WWDC, I have concluded the following.</p>
<p>There are so many applications I want to develop for the iPhone, but it just sucks not having an Intel Mac or a Mac at all to develop them on! If anyone wants to donate me a Mac, I would be eternally grateful!</p>
]]></content:encoded>
			<wfw:commentRss>http://martingrayson.co.uk/wordpress/?feed=rss2&amp;p=8</wfw:commentRss>
		</item>
		<item>
		<title>Ebay Madness</title>
		<link>http://martingrayson.co.uk/wordpress/?p=7</link>
		<comments>http://martingrayson.co.uk/wordpress/?p=7#comments</comments>
		<pubDate>Fri, 06 Jun 2008 20:31:49 +0000</pubDate>
		<dc:creator>martin</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Ebay]]></category>

		<category><![CDATA[Lens]]></category>

		<category><![CDATA[Sale]]></category>

		<guid isPermaLink="false">http://martingrayson.co.uk/wordpress/?p=7</guid>
		<description><![CDATA[Over the past few weeks I&#8217;ve been listing a lot of stuff on ebay in an effort to make some money to finance myself untill a summer job comes along. But to be honest - I&#8217;d love to not need a summer job, if I could get paid to write some iPhone applications that would [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few weeks I&#8217;ve been listing a lot of stuff on ebay in an effort to make some money to finance myself untill a summer job comes along. But to be honest - I&#8217;d love to not need a summer job, if I could get paid to write some iPhone applications that would be nice!</p>
<p>Today saw the listing of my favourite lens on ebay <img src='http://martingrayson.co.uk/wordpress/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><a href="The Canon 70-200mm f2.8 L IS" target="_blank">The Canon 70-200mm f2.8 L IS</a> is an amazing piece of kit, but with my lack of money and the amount of use I get from it, I just cant justify keeping it. One day I&#8217;ll buy you back !</p>
<p>Check out the auction <a title="Ebay" href="http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&amp;rd=1&amp;item=220243451943" target="_blank">here</a></p>
<p>I&#8217;m off to sob myself to sleep now, lol</p>
]]></content:encoded>
			<wfw:commentRss>http://martingrayson.co.uk/wordpress/?feed=rss2&amp;p=7</wfw:commentRss>
		</item>
	</channel>
</rss>
