<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Runetwister</title>
	<atom:link href="http://runetwister.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://runetwister.com</link>
	<description>The Blog of Freelance Writer and Game Designer Matt Thomason</description>
	<lastBuildDate>Sun, 27 Nov 2011 00:38:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Safety</title>
		<link>http://runetwister.com/2011/11/safety/</link>
		<comments>http://runetwister.com/2011/11/safety/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 00:31:25 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Fiction]]></category>
		<category><![CDATA[fiction]]></category>
		<category><![CDATA[nuclear holocaust]]></category>
		<category><![CDATA[short story]]></category>

		<guid isPermaLink="false">http://runetwister.warpedcore.net/?p=47</guid>
		<description><![CDATA[A short story inspired by watching far too many episodes of The Twilight Zone]]></description>
			<content:encoded><![CDATA[<p>“This was once a busy marketplace, remember?”</p>
<p>He looked down at the slender hand he held in his own, smiled, and gave it a squeeze.  He leaned back on the steel bench, and took in the scene around him.</p>
<p>Corners of ruined buildings thrust their way into the dust-filled sky.  Crumbling walls exposed the remnants of floors that looked as if they may still support the weight of a man, but would more than likely crumble under him.</p>
<p>“That was a shoe store, just over there &#8211; next to the greengrocers &#8211; and then there was… I think it was a hardware store.  Most of the grocery store is still standing.  We should go check later for tinned food, it’s probably still edible.”</p>
<p>“Five years ago &#8211; is it really that long?  I remember my last day at the office, when the news came in.  When they told us about the war.  I ran straight to my car, and went to get you.  The roads were in utter chaos, but somehow I made it home in time.  Remember how you screamed at me for not letting you pack a bag first?  I just dragged you into the car and headed straight for the mountains.  You were crying because I’d made you leave your jewellery behind.”</p>
<p>“Then we hit the freeway.  The traffic just wasn’t moving at all.  Couldn’t even drive around it, everyone else was already trying that.  So we left the car and started running.  I suppose they had us down as a secondary target, because if they’d launched at us at the beginning we’d never have gotten even that far.”</p>
<p>The wind whistled eerily through the broken buildings.  For a moment, there was a glint of sunlight through a crack in the overcast sky, but it disappeared a second later.</p>
<p>“You always told me I should have quit my job.  Taken something in a big corporation instead.  Told me your parents had always warned you about marrying a public servant.  But then we wouldn’t have been on the list, we’d have been left outside with everyone else.  All those rich families living in their big houses, we’d have died along with them.”</p>
<p>“I half-carried, half-dragged you that last mile to the shelter.  Remember how you asked me why it was so far out there?”  He laughed.  “You said ‘why couldn’t they have put it in the middle of town where we could get to it in time’, and I told you it was because of the minerals in the mountains, something in there made a natural radiation shield, and the tunnels were there already.  All they really had to do was build a door on the front, and they had a ready-made shelter.”</p>
<p>He glanced over to a stone plinth surrounded by rubble.  A pair of feet marked all that remained of a statue.  “Poor old General Carlton.  He stood there all through the rain and storms, through snow and sleet, through the protests and the riots.  Then he gets blown up by the very people he fought to liberate all those years ago.”</p>
<p>Scattered debris flew across the ruined town square as the wind picked up again.  A street sign finally fell from its crooked post as the final rivet gave up after holding on for so long.</p>
<p>“We assumed we would be living down there for ten years.  That’s what they told us, at least.  Enough food for the first five years, and everything we would need to start growing crops outside after that, assuming they hadn’t targeted the mountains themselves.  Such perfect planning.”</p>
<p>“Pity it all got ruined by a defective reactor.  Most of them didn’t know what that siren even meant, they just assumed whatever it was they’d be safe in the bunker.  Good job I’d read the safety manual.  I knew we had about ninety seconds to get clear before the blast doors came down.”</p>
<p>“So I grabbed you and ran, just like all those years before.  This time running in the opposite direction!”  He started to laugh again.  “Oh, everyone was looking and staring as I screamed at them to run, but we just didn’t have time to stop and explain it if we were going to get out in time.”</p>
<p>“We reached the entrance just as the door started coming down.  I wasn’t sure we were going to make it, but that last sprint got us clear.  I rolled under with only inches to spare, and pulled you to safety.”</p>
<p>Above, the sky started to creep ever darker.  It was near impossible to tell the time of day with the sun hidden as it was behind the smoke-filled stratosphere.</p>
<p>“I guess we had better get moving, before it gets too dark to see what we’re doing.  Let’s go see if we can find something for dinner, eh?”</p>
<p>He rose from the bench, looking towards the ruined grocery store again, and lifted the severed arm that had lay next to him.</p>
]]></content:encoded>
			<wfw:commentRss>http://runetwister.com/2011/11/safety/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Domain Change</title>
		<link>http://runetwister.com/2011/10/domain-change/</link>
		<comments>http://runetwister.com/2011/10/domain-change/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 23:51:40 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Site News]]></category>
		<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://runetwister.warpedcore.net/?p=34</guid>
		<description><![CDATA[An aborted attempt at integrating facebook logins.]]></description>
			<content:encoded><![CDATA[<p>Actually, sod all that.  Removed facebook logins for now because they&#8217;re causing other problems, and Runetwister.com is back.</p>
<p><del><a href="http://runetwister.com">http://runetwister.com</a> is now <a href="http://runetwister.com">http://runetwister.com</a></del></p>
<p><del>This was necessary due to wanting to integrate all the Warpedcore sites with Facebook logins &#8211; unfortunately Facebook require everything to sit under the same subdomain to be treated as a single app.</p>
<p>On the plus side, this also means once you&#8217;re logged in, you&#8217;re logged in across all warpedcore sites as they can now share login cookies!</p>
<p></del></p>
<p><del>For the time being, runetwister.com will redirect to the new site.  Maybe I&#8217;ll find another use for it later <img src='http://runetwister.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </del></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://runetwister.com/2011/10/domain-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating MyBB and WordPress</title>
		<link>http://runetwister.com/2011/10/integrating-mybb-and-wordpress/</link>
		<comments>http://runetwister.com/2011/10/integrating-mybb-and-wordpress/#comments</comments>
		<pubDate>Sun, 16 Oct 2011 16:38:14 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[MyBB]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Stream Wrappers]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://runetwister.com/?p=27</guid>
		<description><![CDATA[Adventures with WordPress, MyBB, and Stream Wrappers]]></description>
			<content:encoded><![CDATA[<p>Trying to make two disparate PHP applications work together can be a pain.  Especially when both have their own membership systems, and various functions using the same names.</p>
<p>On the other hand, having a website with different themes all over and users having to sign up twice is worse.</p>
<p>I tried to find an integrated forum solution for WordPress.  I really did.  Problem is, I&#8217;m used to something that works like phpBB, and none of the solutions I could find were similar enough.</p>
<p>bbPress isn&#8217;t mature enough.  On the integration side it&#8217;s perfect, but it just doesn&#8217;t do enough.  I don&#8217;t want to have to rely on a dozen plugins just to get basic things like security and user rights.</p>
<p>Simple:Press is just too darned ugly. Sorry, but it just looks like a forum crammed inside a wordpress page.</p>
<p>So looks like I was stuck with having to integrate an existing standalone forum into WordPress.  I&#8217;d done some work in the past integrating MediaWiki so it didn&#8217;t look like an impossible task.  Mostly its a case of editing the forum theme to strip out extraneous formatting and then wrapping the WordPress header and footer around it.</p>
<p>The next issue was phpBB itself.  Every modification requires hacking the core files &#8211; there&#8217;s no plugin/hook system.  So instead I looked around for a forum that actually had a plugin system.  MyBB stood out as one of the more progressive ones, with a plugin/hook system much like WordPress&#8217;s own.</p>
<p>So, I had my forum, and just had to make a plugin to make it work inside WordPress.  Right?</p>
<p>Wrong.</p>
<p>Had MyBB not used the exact same function names as WordPress in a few places, I could have pulled it off relatively easily.  Unfortunately, not the case.</p>
<p>(note to anyone reading this, if you ever write anything in PHP and want people to actually use it, for gods sake use <a href="http://php.net/manual/en/language.namespaces.php" target="_blank">Namespaces</a>)</p>
<p>In the interests of making no real code changes, I thought perhaps it would be enough to throw a namespace declaration at the beginning of each MyBB file.  Not that simple &#8211; MyBB references objects by name internally, and if you start namespacing them it expects the references to use the namespace too.  Way too much core hacking involved, and required far too much messing around working out how MyBB actually works to figure out what to change and where.</p>
<p>I was still resisting making any changes to MyBB core files, but really needed to rename those duplicate functions.  I thought about abandoning my stance on core hacking and just hoping <a href="http://subversion.apache.org/" target="_blank">Subversion</a> could help me merge future releases with my changes, but wanted one last shot with a wild idea.</p>
<p>What if it were possible to make on-the-fly edits to PHP files as they were read by the server? This would leave them unchanged on disc, and just rename the functions in memory before executing them.  Sounds perfect, doesn&#8217;t it?  Pity I didn&#8217;t have a clue how to start.</p>
<p>I began by trying to use an Apache filter, but it got far too complicated.  And besides, I wasn&#8217;t sure it was even the right approach.  Then I managed to stray across <a href="http://pollinimini.net/blog/solution-php-namespace-separator-moaning/" target="_blank">this post</a>.</p>
<p>Yes, you&#8217;re reading that post right (you did click the link, didn&#8217;t you? If not go click it now, I promise you if you&#8217;re a PHP coder it&#8217;ll rip apart your whole idea of how things work, and start making your creativity do loop-the-loops coming up with new and interesting things to do with the idea) &#8211; thats a PHP script that intercepts file access and makes on-the-fly changes as they are read (and could make them as they are written, if you wanted it to).  It&#8217;s called a Stream Wrapper, and is quite possibly the coolest thing you can possibly do in PHP.</p>
<p>So I used that as a base, and wrote a similar one.  Mine performs search/replace on those duplicate function names in MyBB (mostly just prefixing them with &#8220;mybb_&#8221;) so it can coexist with WordPress.  Then I do some magic with injecting my own functions into certain places to check the logged-on WordPress user and log them into MyBB, creating a user with the same name where necessary.</p>
<p>Its mostly working now, in testing on the new Warpedcore Community site, and I&#8217;ll upload it here when I&#8217;ve finished testing it out.  It&#8217;s got a few things specific to this site in it, but it should be helpful for anyone else trying to integrate WordPress and MyBB.</p>
<p>You know, what the hell, lets do one for phpBB too.</p>
]]></content:encoded>
			<wfw:commentRss>http://runetwister.com/2011/10/integrating-mybb-and-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progress</title>
		<link>http://runetwister.com/2011/10/progress/</link>
		<comments>http://runetwister.com/2011/10/progress/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 16:58:27 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://runetwister.com/?p=23</guid>
		<description><![CDATA[Seem to be getting the writing itch back.  Fired off a couple of quick articles over the past 24 hours.  May even try to get back to the book soon. &#160;]]></description>
			<content:encoded><![CDATA[<p>Seem to be getting the writing itch back.  Fired off a couple of quick articles over the past 24 hours.  May even try to get back to the book soon.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://runetwister.com/2011/10/progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personal Update</title>
		<link>http://runetwister.com/2011/10/personal-update/</link>
		<comments>http://runetwister.com/2011/10/personal-update/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 03:25:18 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Diary]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://runetwister.com/?p=10</guid>
		<description><![CDATA[So I&#8217;ve been a bit more messed up than usual recently.  When stuff like this happens I end up just retreating away from civilisation until things clear up in my head.  Same old pattern, same old mistakes. Threw myself back into WoW with a passion.  Probably not the best solution, but it keeps me occupied [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been a bit more messed up than usual recently.  When stuff like this happens I end up just retreating away from civilisation until things clear up in my head.  Same old pattern, same old mistakes.</p>
<p>Threw myself back into WoW with a passion.  Probably not the best solution, but it keeps me occupied and gives me a reason to get up in the mornings at the moment.  Am currently solo-achievement-whoring my way through the list.</p>
<p>Can&#8217;t really face anything more community-orientated than that at the moment.  Sorry to everyone I&#8217;ve let down yet again&#8230; I just need a bit of time.  Deep down I know retreating isn&#8217;t the answer, but it&#8217;s difficult to do anything else.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://runetwister.com/2011/10/personal-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Working. Please Wait.</title>
		<link>http://runetwister.com/2011/10/working-please-wait/</link>
		<comments>http://runetwister.com/2011/10/working-please-wait/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 02:29:59 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Diary]]></category>

		<guid isPermaLink="false">http://runetwister.com/?p=7</guid>
		<description><![CDATA[You can ignore this post - pretty much everything from the old site is now uploaded once more.]]></description>
			<content:encoded><![CDATA[<p><del>Those two dreaded words.</del></p>
<p><del>&#8220;Under Construction&#8221;.</del></p>
<p><del>Unfortunately they apply here.  Content needs to be imported from the old site over the next few days, so for now there&#8217;s not really anything to see here.</del></p>
<p>&nbsp;</p>
<p><del>You may wish to check out <a href="http://warpedcore.net">warpedcore.net</a> though.</del></p>
<p>Pretty much everything from the old site is now uploaded once more.</p>
]]></content:encoded>
			<wfw:commentRss>http://runetwister.com/2011/10/working-please-wait/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stroppy Homicidal Mermaid</title>
		<link>http://runetwister.com/2011/05/stroppy-homicidal-mermaid/</link>
		<comments>http://runetwister.com/2011/05/stroppy-homicidal-mermaid/#comments</comments>
		<pubDate>Mon, 02 May 2011 20:53:51 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[Gallery]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[mermaid]]></category>
		<category><![CDATA[render]]></category>

		<guid isPermaLink="false">http://runetwister.com/?p=14</guid>
		<description><![CDATA[<p><img width="160" height="120" src="http://runetwister.com/files/2011/10/Stroppy-Homicidal-Mermaid-160x120.jpg" class="attachment-post-thumbnail wp-post-image" alt="Stroppy Homicidal Mermaid" title="Stroppy Homicidal Mermaid" /></p>3D Rendered Image]]></description>
			<content:encoded><![CDATA[<p><img width="160" height="120" src="http://runetwister.com/files/2011/10/Stroppy-Homicidal-Mermaid-160x120.jpg" class="attachment-post-thumbnail wp-post-image" alt="Stroppy Homicidal Mermaid" title="Stroppy Homicidal Mermaid" /></p>Created and rendered with <a href="\&quot;http://poser.smithmicro.com/\&quot;" target="\&quot;_blank\&quot;">Poser 8</a>, using various assets from <a href="\&quot;http://daz3d.com\&quot;" target="\&quot;_blank\&quot;">Daz3D</a>

With a big thank you to Tiffany for reminding me the phrase was from the latest Doctor Who trailer]]></content:encoded>
			<wfw:commentRss>http://runetwister.com/2011/05/stroppy-homicidal-mermaid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

