<?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>Terra Informatica &#187; Source code</title>
	<atom:link href="http://www.terrainformatica.com/category/source-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.terrainformatica.com/index.php</link>
	<description>Terra Informatica, home of embeddable html and CSS rendering engines.</description>
	<lastBuildDate>Tue, 07 Feb 2012 04:43:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>The KiTE &#8211; template engine for JavaScript</title>
		<link>http://www.terrainformatica.com/index.php/2011/03/the-kite-template-engine-for-javascript/</link>
		<comments>http://www.terrainformatica.com/index.php/2011/03/the-kite-template-engine-for-javascript/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 04:43:31 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Script]]></category>
		<category><![CDATA[Source code]]></category>
		<category><![CDATA[Web Application Techologies]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=282</guid>
		<description><![CDATA[Preface Modern Web applications frequently use AJAX kind of client/server interaction. They receive data from the server in pure JSON format. That means instead of generating markup on the server such applications are composing HTML inside the browser (on client side). Straightforward approach is to use string concatenation spagetti like : &#34;&#60;b&#62;&#34; + data + [...]]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2011/03/the-kite-template-engine-for-javascript/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>C++0x: Running code in GUI thread from worker threads.</title>
		<link>http://www.terrainformatica.com/index.php/2011/01/c0x-running-code-in-gui-thread-from-worker-threads/</link>
		<comments>http://www.terrainformatica.com/index.php/2011/01/c0x-running-code-in-gui-thread-from-worker-threads/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 07:53:57 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[HTMLayout]]></category>
		<category><![CDATA[Sciter]]></category>
		<category><![CDATA[Source code]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=251</guid>
		<description><![CDATA[One of topics in design of multi-threading GUI applications is to choose method of calling GUI code from so called worker threads &#8211; threads that do some work in background. At some point they need to report results to the GUI. But GUI is a shareable resource so some form of synchronization is required. One [...]]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2011/01/c0x-running-code-in-gui-thread-from-worker-threads/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Behaviors, simple jQuery extension.</title>
		<link>http://www.terrainformatica.com/index.php/2010/11/behaviors-simple-jquery-extension/</link>
		<comments>http://www.terrainformatica.com/index.php/2010/11/behaviors-simple-jquery-extension/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 00:09:52 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[HTML and CSS]]></category>
		<category><![CDATA[Sciter]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Source code]]></category>
		<category><![CDATA[Web Application Techologies]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=237</guid>
		<description><![CDATA[Behaviors as an entity is a declarative way to assign/bind scripting methods to DOM elements. We can think that browsers have following declarations in their default CSS declarations: input[type=text] { binding: TextEditorImpl; } input[type=button] { binding: ButtonImpl; } select { binding: SelectImpl; } ... So when we define &#60;input type=&#34;text&#34; /&#62; in our markup we [...]]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2010/11/behaviors-simple-jquery-extension/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>C++, how to change class of object in runtime.</title>
		<link>http://www.terrainformatica.com/index.php/2010/08/cpp-how-to-change-class-of-object-in-runtime/</link>
		<comments>http://www.terrainformatica.com/index.php/2010/08/cpp-how-to-change-class-of-object-in-runtime/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 00:06:51 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Source code]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=197</guid>
		<description><![CDATA[There is a nice feature in TIScript that allows to change class of already instantiated object. Let&#8217;s say we have two classes: class MyWidget : Behavior { ... } class MyWidgetReadonly : Behavior { ... } that handle user interaction with some widget on the screen. This widget can operate in two distinct modes: normal [...]]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2010/08/cpp-how-to-change-class-of-object-in-runtime/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Generators in C++ revisited.</title>
		<link>http://www.terrainformatica.com/index.php/2008/06/generators-in-c-revisited/</link>
		<comments>http://www.terrainformatica.com/index.php/2008/06/generators-in-c-revisited/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 02:09:21 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Source code]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=98</guid>
		<description><![CDATA[Previous version of generators has a design problem &#8211; it required some special stop value. That is the same kind of problem as with iterators in C++ &#8211; they require special end() value. But in some cases it is not even possible to choose such a value. So is this new version: // generator/continuation for [...]]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2008/06/generators-in-c-revisited/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Generators in C++</title>
		<link>http://www.terrainformatica.com/index.php/2008/05/generators-in-c/</link>
		<comments>http://www.terrainformatica.com/index.php/2008/05/generators-in-c/#comments</comments>
		<pubDate>Tue, 27 May 2008 02:19:14 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Source code]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=97</guid>
		<description><![CDATA[As we know iterators in C++ is a good but not perfect abstraction. Concept of foreach() (D, Python, Ruby, etc.) appears as more generic solution. At least foreach() does not require artificial iterator::end() to be defined for the collection. Abstraction foreach() can be imagined as some function/object that is returning next value of collection/sequence each [...]]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2008/05/generators-in-c/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JavaScript. Private members (instance variables).</title>
		<link>http://www.terrainformatica.com/index.php/2008/03/javascript-private-members-instance-variables/</link>
		<comments>http://www.terrainformatica.com/index.php/2008/03/javascript-private-members-instance-variables/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 21:28:55 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Sciter]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Source code]]></category>
		<category><![CDATA[Web Application Techologies]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=95</guid>
		<description><![CDATA[As you know JavaScript has no concept of private members in objects. Objects there are &#8220;racks of properties&#8221; that anyone can change. Here is a simple way of making &#8220;objects&#8221; in JS that have private instance variables. Such variables can be changed only by [public] methods you provide. Consider following code: function CreateMyObject() { var [...]]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2008/03/javascript-private-members-instance-variables/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Sciter. Working with persistent data (database)</title>
		<link>http://www.terrainformatica.com/index.php/2008/03/sciter-working-with-persistent-data-database/</link>
		<comments>http://www.terrainformatica.com/index.php/2008/03/sciter-working-with-persistent-data-database/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 05:08:23 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Sciter]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Source code]]></category>
		<category><![CDATA[Web Application Techologies]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=94</guid>
		<description><![CDATA[Here is an example of minimalistic application working with DB (persistent data) in Sciter. This sample is using three files: simple-db-form.htm &#8211; main file of our application; db.tis &#8211; open or create database; form.tis &#8211; behavior that handles showing/saving data from list of input elements on the form. db.tis &#8211; open or create database This [...]]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2008/03/sciter-working-with-persistent-data-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML/HTML tokenizer (or pull parser?)</title>
		<link>http://www.terrainformatica.com/index.php/2007/10/xmlhtml-tokenizer-or-pull-parser/</link>
		<comments>http://www.terrainformatica.com/index.php/2007/10/xmlhtml-tokenizer-or-pull-parser/#comments</comments>
		<pubDate>Mon, 08 Oct 2007 07:19:06 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Source code]]></category>
		<category><![CDATA[XML HTML tokenizer parser]]></category>

		<guid isPermaLink="false">http://www.terrainformatica.com/index.php/?p=60</guid>
		<description><![CDATA[Here is source code of my XML/HTML tokenizer: xh_scanner_demo.zip See my article on CodeProject: HTML/XML scanner/tokenizer Does not allocate any memory while parsing, extremely fast and compact.]]></description>
		<wfw:commentRss>http://www.terrainformatica.com/index.php/2007/10/xmlhtml-tokenizer-or-pull-parser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

