<?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>blogging on Base16b</title>
	<atom:link href="http://www.base16b.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.base16b.org/blog</link>
	<description>Efficient, standards-compliant binary encoding</description>
	<lastBuildDate>Sat, 22 Aug 2009 01:57:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Types of corruption</title>
		<link>http://www.base16b.org/blog/2009/08/types-of-corruption/</link>
		<comments>http://www.base16b.org/blog/2009/08/types-of-corruption/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 00:20:50 +0000</pubDate>
		<dc:creator>henchan</dc:creator>
				<category><![CDATA[trouble-shooting]]></category>

		<guid isPermaLink="false">http://www.base16b.org/blog/?p=200</guid>
		<description><![CDATA[There are  various ways in which the Asyntactic script may (appear to) be corrupted by an application or its environment. This post is an atempt to place the variable symptoms of script corruption into a classification system. R &#8211; Rendering Asyntactic script characters are rendered : as expected no characters visible unrecognisable characters, (mostly) all [...]]]></description>
			<content:encoded><![CDATA[<p>There are  various ways in which the Asyntactic script may (appear to) be corrupted by an application or its environment. This post is an atempt to place the variable symptoms of script corruption into a classification system.</p>
<h3>R &#8211; Rendering</h3>
<p>Asyntactic script characters are rendered :</p>
<ol>
<li>as expected</li>
<li>no characters visible</li>
<li>unrecognisable characters, (mostly) all the same
<ol>
<li>BMP plane (2 byte) characters OK, multi-byte characters no good</li>
<li>all planes NG</li>
</ol>
</li>
<li>unrecognisable characters, (mostly) all different. (sub-categories same as 3.)</li>
<li>recognisable but unexpected characters. (sub-categories same as 3.)</li>
</ol>
<p>e.g. rendering in the two images in the <a href="http://www.base16b.org/blog/2009/08/lastresort-font/">previous post</a> would be classified respectively as R3.2 and R1.</p>
<h3>C -Code Points</h3>
<p>Each Asyntactic script code point :</p>
<ol>
<li>maintains integrity through input / storage / communication / output</li>
<li>gets translated into an incorrect code point
<ol>
<li>each one into the same character</li>
<li>each one into different characters in the BMP only</li>
<li>each one into different characters in the BMP and other planes</li>
</ol>
</li>
</ol>
<p>e.g. corruption in the <a href="http://www.base16b.org/samples_twitter">modified Spaz Twitter client sample</a> would be classified as R.3.1 C.1. Although Spaz (AIR) did not render most characters correctly, the destination site  Twitter demonstrates that data integrity was preserved in the Spaz client.</p>
<h3>L &#8211; Length of character string</h3>
<p>Strings encoded in the Asyntactic script  are  :</p>
<ol>
<li>the expected length</li>
<li>shorter than expected
<ol>
<li>approximately half of the length</li>
<li>other</li>
</ol>
</li>
<li> longer than expected</li>
</ol>
<p>e.g. the Twitter web client and the standard Spaz client both use the Javascript String.length method to count characters in a message. Because this method is broken for higher plane Unicode, they both corrupt data by classification R.2.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.base16b.org/blog/2009/08/types-of-corruption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LastResort font</title>
		<link>http://www.base16b.org/blog/2009/08/lastresort-font/</link>
		<comments>http://www.base16b.org/blog/2009/08/lastresort-font/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 23:37:58 +0000</pubDate>
		<dc:creator>henchan</dc:creator>
				<category><![CDATA[environment]]></category>

		<guid isPermaLink="false">http://www.base16b.org/blog/2009/08/lastresort-font/</guid>
		<description><![CDATA[The LastResort font was created by Apple Inc. It can be downloaded for free from the Unicode.org web site. If you have it installed, LastResort ensures that any code point in the Unicode range has a representative glyph. Each glyph is different in that the code point&#8217;s numeric value is displayed. Apart from this, code [...]]]></description>
			<content:encoded><![CDATA[<p>The LastResort font was created by <a href="http://developer.apple.com/textfonts/lastresortfont/">Apple Inc</a>.  It can be <a href="http://www.unicode.org/policies/lastresortfont_eula.html">downloaded</a> for free from the <a href="http://unicode.org">Unicode.org</a> web site.</p>
<p>If you have it installed, LastResort ensures that any code point in the Unicode range has a representative glyph. Each glyph is different in that the code point&#8217;s numeric value is displayed. Apart from this, code points are also classified by script (if known), whether valid or invalid and more.</p>
<h3>Font priority</h3>
<p>Wherever an existing font already covers a particular code point, LastResort should leave it alone. That code point would be represented using the other font. Only when no other font is available for a code point does LastResort&#8217;s glyph get used. Hence the name.</p>
<h3>Examples</h3>
<p>Here&#8217;s a couple of screen prints of an earlier <a href="http://www.base16b.org/blog/2009/08/playing-with-base16b/">post</a> demonstrating the Base16b Plugin; with and without LastResort installed.</p>

<a href='http://www.base16b.org/blog/2009/08/lastresort-font/lastresort_not_installed/' title='lastresort_not_installed'><img width="150" height="150" src="http://www.base16b.org/blog/wp-content/uploads/2009/08/lastresort_not_installed-150x150.png" class="attachment-thumbnail" alt="LastResort not installed" title="lastresort_not_installed" /></a>
<a href='http://www.base16b.org/blog/2009/08/lastresort-font/lastresort_installed/' title='lastresort_installed'><img width="150" height="150" src="http://www.base16b.org/blog/wp-content/uploads/2009/08/lastresort_installed-150x150.png" class="attachment-thumbnail" alt="LastResort installed" title="lastresort_installed" /></a>

<p>Note the empty boxes, which are how this particular OS (Windows XP Japanese) happens to display code points for which no suitable font is installed.</p>
<h3>Asyntactic script</h3>
<p>The Asyntactic script, used by Base16b for encoding, is in a code point range little used by other mainstream Unicode scripts. Therefore it is likely that, without LastResort or a similar font installed, Base16b encoded characters would not be represented coherently on the screen.</p>
<h3>Encoding functionality</h3>
<p>Whether or not a suitable font is installed  should in no way affect the functionality of the Base16b encoding. The font is merely a visual convenience.</p>
<p>If you have any example to the contrary, please <a href="http://www.base16b.org/contact">let us know</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.base16b.org/blog/2009/08/lastresort-font/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Commenting on the spec</title>
		<link>http://www.base16b.org/blog/2009/08/commenting-on-the-spec/</link>
		<comments>http://www.base16b.org/blog/2009/08/commenting-on-the-spec/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 23:58:31 +0000</pubDate>
		<dc:creator>henchan</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://www.base16b.org/blog/?p=125</guid>
		<description><![CDATA[This blog&#8217;s main site provides a method to privately suggest changes to the specification (or reference implementation). This blog post is an alternate, public, forum for suggesting changes to the spec. We welcome any suggestions, typos, errors, mistakes, improvements or clarifications. Please feel free to comment below.]]></description>
			<content:encoded><![CDATA[<p>This blog&#8217;s <a href="http://base16b.org/">main site</a> provides a <a href="http://base16b.org/contact">method</a> to privately suggest changes to the <a href="http://base16b.org/specification">specification</a> (or <a href="http://base16b.org/reference_implementation">reference implementation</a>).</p>
<p>This blog post is an alternate, public, forum for suggesting changes to the spec. We welcome any suggestions, typos, errors, mistakes, improvements or clarifications. Please feel free to comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.base16b.org/blog/2009/08/commenting-on-the-spec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing with Base16b</title>
		<link>http://www.base16b.org/blog/2009/08/playing-with-base16b/</link>
		<comments>http://www.base16b.org/blog/2009/08/playing-with-base16b/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 10:04:13 +0000</pubDate>
		<dc:creator>henchan</dc:creator>
				<category><![CDATA[Code Sample]]></category>
		<category><![CDATA[WordPress plugin]]></category>

		<guid isPermaLink="false">http://www.base16b.org/blog/?p=93</guid>
		<description><![CDATA[The previous post showed base64 encoding of part of a WordPress post. Base64 encoded 148 characters (a few of which were due to htmlentity expansion). Now let&#8217;s do the same thing using a version of the plugin modified for Base16b encoding. After hitting Encode, if you see only empty boxes, you might want to install [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://base16b.org/blog/2009/08/playing-with-base64/">previous post</a> showed base64 encoding of part of a WordPress post. Base64 encoded 148 characters (a few of which were due to htmlentity expansion).</p>
<p>Now let&#8217;s do the same thing using a <a href="http://www.base16b.org/plugins/wordpress/">version of the plugin</a> modified for Base16b encoding.<br />
After hitting Encode, if you see only empty boxes, you might want to install a font such as <a href="http://www.base16b.org/blog/2009/08/lastresort-font/">LastResort</a>.</p>
<p><div id='b16bblock-93-1'><blockquote><p>&lt;img<br />
src=&quot;http://base16b.org/doc/specification/version/<br />
0.1/larry.gif&quot; alt=&quot;Larry&quot; /&gt;</p></blockquote><input type="button" value="Base16b Encode" id="theButton" name="send" onClick="replaceb16bEncodeText('b16bblock-93-1', '&lt;img src=&quot;http://base16b.org/doc/specification/version/0.1/larry.gif&quot; alt=&quot;Larry&quot; /&gt;', '16', 'Base16b Decode');"></p>
<p>This plug-in is now available from the <a href="http://wordpress.org/extend/plugins/search.php?q=base16b">WordPress Plugin site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.base16b.org/blog/2009/08/playing-with-base16b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Playing with base64</title>
		<link>http://www.base16b.org/blog/2009/08/playing-with-base64/</link>
		<comments>http://www.base16b.org/blog/2009/08/playing-with-base64/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 16:55:12 +0000</pubDate>
		<dc:creator>henchan</dc:creator>
				<category><![CDATA[Code Sample]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WordPress plugin]]></category>

		<guid isPermaLink="false">http://www.base16b.org/blog/?p=19</guid>
		<description><![CDATA[This is a WordPress blog, so let&#8217;s start by using a WordPress plugin which encodes and decodes base64. This original script comes from MrAndersonMD Note: the image tag comprising a URL of 84 characters (not the actual binary image) is encoded. See the next post for the encoded img tag. Note2: the original text is [...]]]></description>
			<content:encoded><![CDATA[<p>This is a WordPress blog, so let&#8217;s start by using a WordPress plugin which encodes and decodes base64. </p>
<p>This original script comes from <a href="http://www.mrandersonmd.com/wordpress-plugins/base64-encoderdecoder-plugin-for-wordpress/">MrAndersonMD </a>
</p>
<p>Note: the image tag comprising a URL of 84 characters (not the actual binary image) is encoded. See the <a href="http://www.base16b.org/blog/2009/08/playing-with-base16b">next post</a> for the encoded img tag.<br />
Note2: the original text is additionally altered when encoded, through htmlentity substitution. e.g double quote &#8221; is encoded in base64 as & quot; (no space)</p>
<ul>Base64 = 148 characters</ul>
<p><div id='b64block-19-1'><blockquote><p>Jmx0O2ltZyBzcmM9ICZxdW90O2h0dHA6Ly9iYXNlMTZiLm9yZy9kb2M<br />
vc3BlY2lmaWNhdGlvbi92ZXJzaW9uLzAuMS9sYXJyeS5naWYmcXVvdD<br />
sgYWx0PSZxdW90O0xhcnJ5JnF1b3Q7LyZndDs=</p></blockquote><input type="button" value="Decode" name="send" onClick="javascript:replaceb64Text('b64block-19-1', 'Jmx0O2ltZyBzcmM9ICZxdW90O2h0dHA6Ly9iYXNlMTZiLm9yZy9kb2Mvc3BlY2lmaWNhdGlvbi92ZXJzaW9uLzAuMS9sYXJyeS5naWYmcXVvdDsgYWx0PSZxdW90O0xhcnJ5JnF1b3Q7LyZndDs=');"></div></p>
<p>Pressing <em>Decode </em> reveals the URL and the page subsequently displays the linked resource.</p>
<p>See the <a href="http://www.base16b.org/blog/2009/08/playing-with-base16b">next post</a> for equivalent encoding in Base16b.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.base16b.org/blog/2009/08/playing-with-base64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prime motivation</title>
		<link>http://www.base16b.org/blog/2009/08/prime_motivation/</link>
		<comments>http://www.base16b.org/blog/2009/08/prime_motivation/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 05:51:41 +0000</pubDate>
		<dc:creator>henchan</dc:creator>
				<category><![CDATA[Purpose]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[discussion]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[standardisation]]></category>
		<category><![CDATA[use case]]></category>

		<guid isPermaLink="false">http://www.base16b.org/blog/?p=3</guid>
		<description><![CDATA[The base16b.org web site was started both as a means to an end and as an end in itself. There is a particular use case for a binary encoding method which I have in mind: structured binary data  between 0.1Kib to over 100Kib, communicated over web transport layers, for semantic tagging. That data format is [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://base16b.org">base16b.org</a> web site was started both as a means to an end and as an end in itself.</p>
<p>There is a particular use case for a binary encoding method which I have in mind: structured binary data  between 0.1<a href="http://en.wikipedia.org/wiki/Kibibit">Kib</a> to over 100Kib, communicated over web transport layers, for semantic tagging. That data format is itself new and I hope to announce it here some time soon.</p>
<p>In the mean time, base16b seems like it could be a good generic solution to the problem of more efficient, standards-compliant binary data encoding in Unicode. So I decided to spin it off as a separate project. Should this encoding method gain general acceptance, it seems likely that others may step-in to contribute with their improvements to the design. Eventually we can get into standardisation.</p>
<p>This eponymous web site and its blog are intended to become a focus of discussion for interested developers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.base16b.org/blog/2009/08/prime_motivation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

