<?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>mudpy &#187; Code</title>
	<atom:link href="http://mudpy.org/category/code/feed/" rel="self" type="application/rss+xml" />
	<link>http://mudpy.org</link>
	<description>Now with more filth!</description>
	<lastBuildDate>Fri, 18 Jun 2010 02:40:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Password Hash Format Change</title>
		<link>http://mudpy.org/20100618/password-hash-format-change/</link>
		<comments>http://mudpy.org/20100618/password-hash-format-change/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 02:40:11 +0000</pubDate>
		<dc:creator>fungi</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://mudpy.org/?p=130</guid>
		<description><![CDATA[I&#8217;ve committed code changes which break backward compatibility with old data&#8230; specifically the passhash facet of account elements. As of the 2010-06-17 23:49:58 UTC commit, passhash now uses a BSD-Unix-passwd-like encoding which embeds a hash algorithm index, ability to specify multiple iteration rounds, and a randomly-generated salt. The old format, a simple, one-round MD5 hexdigest [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve committed code changes which break backward compatibility with old data&#8230; specifically the passhash facet of account elements. As of the <a href="/gitweb?p=mudpy;a=commit;h=660cb2e0a13ee01318dd90f77f6a83c4adefdf74">2010-06-17 23:49:58 UTC commit</a>, passhash now uses a BSD-Unix-passwd-like encoding which embeds a hash algorithm index, ability to specify multiple iteration rounds, and a randomly-generated salt. The old format, a simple, one-round MD5 hexdigest with an implicit salt of the account&#8217;s name facet, can be converted to the new format using the <a href="/res/epydoc/mudpy.password-module.html#upgrade_legacy_hash">password.upgrade_legacy_hash function</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mudpy.org/20100618/password-hash-format-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Version Control and History</title>
		<link>http://mudpy.org/20100126/version-control-and-history/</link>
		<comments>http://mudpy.org/20100126/version-control-and-history/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 23:48:19 +0000</pubDate>
		<dc:creator>fungi</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Documentation]]></category>

		<guid isPermaLink="false">http://mudpy.org/?p=106</guid>
		<description><![CDATA[In an effort to step up development and encourage community collaboration, I&#8217;ve invested considerable time combing through half a decade of archived preview releases and importing them accurately into a version-controlled repository complete with detailed commit logs.
I&#8217;m using Git for version control on the project from this point forward. The archive can be cloned anonymously [...]]]></description>
			<content:encoded><![CDATA[<p>In an effort to step up development and encourage community collaboration, I&#8217;ve invested considerable time combing through half a decade of archived preview releases and importing them accurately into a version-controlled repository complete with detailed commit logs.</p>
<p>I&#8217;m using <a href="http://git-scm.com/">Git</a> for version control on the project from this point forward. The archive can be cloned anonymously from <a href="/git/mudpy">http://mudpy.org/git/mudpy</a> if desired. For now, detailed commits can be E-mailed to <a href="mailto:fungi@yuggoth.org">fungi@yuggoth.org</a>, but I&#8217;ll be setting up a developer mailing list for more open presentation and discussion of patches soon (and putting together a submission guideline document with additional, pertinent information).</p>
<p>I&#8217;ve set up a <a href="http://git.wiki.kernel.org/index.php/Gitweb">Gitweb</a> interface to make the change history easier to browse. This can be found at <a href="/gitweb/mudpy/">http://mudpy.org/gitweb/mudpy/</a> (also linked from the <a href="/documentation/">documentation</a> page). The interface should be fairly self-explanatory.</p>
<p>I&#8217;ve also started including a <a href="http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html#Style-of-Change-Logs">GNU-format</a> <a href="/res/src/mudpy/doc/ChangeLog">ChangeLog</a> file (linked from the <a href="/documentation/">documentation</a> page as well), generated automatically from repository <a href="/gitweb?p=mudpy;a=log">commit logs</a>. It will be included in all future tarball/zip files, since these will begin to be exported automatically after each new commit.</p>
]]></content:encoded>
			<wfw:commentRss>http://mudpy.org/20100126/version-control-and-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6 Support</title>
		<link>http://mudpy.org/20091226/ipv6-support/</link>
		<comments>http://mudpy.org/20091226/ipv6-support/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 04:41:39 +0000</pubDate>
		<dc:creator>fungi</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://mudpy.org/?p=98</guid>
		<description><![CDATA[The Universe.initialize_server_socket() method has been adjusted to support IPv6 addresses specified in the host facet of the internal:network element. The default for this, if unset, is now dependent on the local system&#8217;s support for IPv6 (u&#8221;::&#8221; with, or u&#8221;0.0.0.0&#8243; without). The example configuration has been modified to recommend the IPv6 localhost address of ::1 now [...]]]></description>
			<content:encoded><![CDATA[<p>The Universe.initialize_server_socket() method has been adjusted to support IPv6 addresses specified in the <em>host</em> facet of the <em>internal:network</em> element. The default for this, if unset, is now dependent on the local system&#8217;s support for IPv6 (u&#8221;::&#8221; with, or u&#8221;0.0.0.0&#8243; without). The example configuration has been modified to recommend the IPv6 localhost address of ::1 now instead of the old IPv4 localhost 127.0.0.1 address, but this will obviously fail on systems without IPv6 support (these should hopefully be few and far between any longer?).</p>
<p>Additional tweaks in this release include changing the shebang line in bin/mudpy to source the interpreter&#8217;s path from /usr/bin/env, and adding a feature to rename the MUD process to that of the script itself if the <em>daemon</em> facet of the <em>internal:process</em> element is set to <em>yes</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mudpy.org/20091226/ipv6-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exception in command_say()</title>
		<link>http://mudpy.org/20091203/exception-in-command_say/</link>
		<comments>http://mudpy.org/20091203/exception-in-command_say/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 14:15:55 +0000</pubDate>
		<dc:creator>fungi</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://mudpy.org/?p=94</guid>
		<description><![CDATA[Many thanks to Mark Kolloros (a.k.a. Colourful) for pointing out a problem with the command_say() function, where a type exception could be triggered if an actor provided parameters to the say command which evaluated to an empty string. This is fixed in today&#8217;s release, along with some cleanup and a couple of additional improvements to [...]]]></description>
			<content:encoded><![CDATA[<p>Many thanks to Mark Kolloros (a.k.a. Colourful) for pointing out a problem with the command_say() function, where a type exception could be triggered if an actor provided parameters to the say command which evaluated to an empty string. This is fixed in today&#8217;s release, along with some cleanup and a couple of additional improvements to command_say():</p>
<ul>
<li>Now, instead of denying parameters which look like replacement macros, they are simply escaped before being processed.</li>
<li>If you want to avoid having the language fix-ups (capitalization, punctuation, typo corrections) applied, simply enclose your string in quotation marks.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mudpy.org/20091203/exception-in-command_say/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Significant Reorganization</title>
		<link>http://mudpy.org/20091117/significant-reorganization/</link>
		<comments>http://mudpy.org/20091117/significant-reorganization/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 03:21:50 +0000</pubDate>
		<dc:creator>fungi</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://mudpy.org/?p=91</guid>
		<description><![CDATA[The beginnings of reorganization are present in today&#8217;s release. The original mudpy.py Python module has been renamed to misc.py in a new mudpy package under a lib subdirectory, and will start to be split up into multiple separate modules over time. Data files (with the exception of the root mudpy.conf) now have .mpy or .txt [...]]]></description>
			<content:encoded><![CDATA[<p>The beginnings of reorganization are present in today&#8217;s release. The original <em>mudpy.py</em> Python module has been renamed to <em>misc.py</em> in a new <em>mudpy</em> package under a <em>lib</em> subdirectory, and will start to be split up into multiple separate modules over time. Data files (with the exception of the root <em>mudpy.conf</em>) now have <em>.mpy</em> or <em>.txt</em> extensions appended to designate their formats. Further, all files have been grouped into subdirectories based on their status and functionality (executable, Python modules, configuration data vs. global read-only data vs. modular add-on data vs. volatile/variable data vs. &#8230;). To deal with this scattering, a new <em>find_file()</em> function, <em>internal:storage</em> configuration element and <em>include_dirs</em> __control__ meta-facet have been implemented, which allow arbitrarily location of data files from relative or absolute paths out of a prioritized series of potential directory trees.</p>
]]></content:encoded>
			<wfw:commentRss>http://mudpy.org/20091117/significant-reorganization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
