<?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>Neural Network Design blog &#187; General</title>
	<atom:link href="http://janbogaerts.name/index.php/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://janbogaerts.name</link>
	<description>My take on neural networks, AI and more</description>
	<lastBuildDate>Wed, 28 Jul 2010 18:21:17 +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>Parsing complex sentences</title>
		<link>http://janbogaerts.name/index.php/2010/07/10/parsing-complex-sentences/</link>
		<comments>http://janbogaerts.name/index.php/2010/07/10/parsing-complex-sentences/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 13:54:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AICI]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[parsing]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2010/07/10/parsing-complex-sentences/</guid>
		<description><![CDATA[I wonder how many general purpose parsers are able to handle a sentence like:
I feel you and you feel me

The difficulty here is 2 folded: the you and the and. Is you a personal object or subject pronoun and what does the and combine. Basically, do we mean ‘I feel you’ and ‘you feel me’ [...]]]></description>
			<content:encoded><![CDATA[<p>I wonder how many general purpose parsers are able to handle a sentence like:</p>
<blockquote><p>I feel you and you feel me</p>
</blockquote>
<p>The difficulty here is 2 folded: the <em>you</em> and the <em>and. </em>Is <em>you</em> a personal object or subject pronoun and what does the <em>and </em>combine. Basically, do we mean ‘I feel you’ and ‘you feel me’ or ‘I feel’ and ‘you and you feel me’. </p>
<p>Here’s what aici currently makes of it:</p>
<p><a href="http://janbogaerts.name/wp-content/uploads/2010/07/image.png"><img style="border-right-width: 0px; margin: 0px auto; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://janbogaerts.name/wp-content/uploads/2010/07/image_thumb.png" width="378" height="258" /></a> </p>
<p><img alt="" src="http://www.zu14.cn/coolemotion/emotions/tu_11.gif" /><img alt="" src="http://www.zu14.cn/coolemotion/emotions/tu_21.gif" /><img alt="" src="http://www.zu14.cn/coolemotion/emotions/tu_3.gif" /> </p>
</p>
<p>Oh, and it’s melting hot at the moment<img alt="" src="http://www.zu14.cn/coolemotion/emotions/ad_1.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2010/07/10/parsing-complex-sentences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neural network designer 0.4.6</title>
		<link>http://janbogaerts.name/index.php/2010/06/09/neural-network-designer-0-4-6/</link>
		<comments>http://janbogaerts.name/index.php/2010/06/09/neural-network-designer-0-4-6/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 12:56:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2010/06/09/neural-network-designer-0-4-6/</guid>
		<description><![CDATA[Perhaps a mid-dev cycle release would be appropriate this time round, since some changes were done to the core and some people might be interested in taking a peek under the hood. Here’s roughly what’s changed:

There’s a new expression: the LockExpression, which does what you would expect: lock 1 or more neurons and/or 1 or [...]]]></description>
			<content:encoded><![CDATA[<p>Perhaps a mid-dev cycle release would be appropriate this time round, since some changes were done to the core and some people might be interested in taking a peek under the hood. Here’s roughly what’s changed:</p>
<ul>
<li>There’s a new expression: the LockExpression, which does what you would expect: lock 1 or more neurons and/or 1 or more links for a short period of time so that other threads can’t get to them during the lock. Watch out with this one, try avoiding to use this with split or duplicate instructions since that combination can easily create deadlock situations.</li>
<li>A new instruction: SplitWeighted, which is the same as the normal split, but gives each processor a weight, based on the position of the split variable that the processor received and the accumulator value. Example, if you were to split over 3 vars, which an accumulator of 1, the first processor would get a weight of 0, the next 1, an the last would get 2. This is an easy shortcut for search routines.</li>
<li>I have began work on the new flow editor, but this is still a work in progress.</li>
<li>Lots of bugfixes.</li>
<li>Cleaned up the interface a bit.</li>
</ul>
<p>As usual, you can get the download from <a href="http://janbogaerts.name/index.php/downloads/" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2010/06/09/neural-network-designer-0-4-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deadlocks, again</title>
		<link>http://janbogaerts.name/index.php/2010/05/31/deadlocks-again/</link>
		<comments>http://janbogaerts.name/index.php/2010/05/31/deadlocks-again/#comments</comments>
		<pubDate>Mon, 31 May 2010 13:11:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[deadlocks]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2010/05/31/deadlocks-again/</guid>
		<description><![CDATA[I just spent the last 3 days chasing down 3 deadlocks that were teaming up against me. Man, I hate deadlocks. They were definitely the biggest obstacles so far in the development process. Simply because their origins are so hard to locate. And that, even though they are always caused by the same type of [...]]]></description>
			<content:encoded><![CDATA[<p>I just spent the last 3 days chasing down 3 deadlocks that were teaming up against me. Man, I hate deadlocks. They were definitely the biggest obstacles so far in the development process. Simply because their origins are so hard to locate. And that, even though they are always caused by the same type of situation: 2 threads intertwining with their locking scheme.</p>
<p>Put into sequence:</p>
<ol>
<li>Thread 1 locks x and continues execution (no waiting) </li>
<li>Thread 2 locks y and continues execution (no waiting) </li>
<li>Thread 1 requests y and waits </li>
<li>Thread 2 requests x and waits,… oeps </li>
</ol>
<p>The most often way to locate this situation is by examining the execution stack of the CPU. But what if you do out of sync locking: the request in function 1 and the release in function 2, without any relationship between the 2 functions. As an example, take the network-core’s lock expression, which is new. This locks the items when the statement is called, but releases them only after all the child statements were called. The interpreter obviously can’t do this in the same function call. </p>
<p> So how do you trace this type of bug? Well, slowly, painfully and with lots of debug code to generate application dumps. here’s the smallest dump that I generated for the core (usually it was several 100 lines longer):</p>
<p> <code>Links in    <br />ID: 7461 ReadCount: 2&#160; WriteCount: 0, Waiting: 0     <br />Links out     <br />ID: 7461 ReadCount: 2&#160; WriteCount: 0, Waiting: 0     <br />Values     <br />ID: 7461 ReadCount: 2&#160; WriteCount: 0, Waiting: 0     <br />Processors     <br />Parents     <br />ID: 7461 ReadCount: 0&#160; WriteCount: 0, Waiting: 2     <br />Children     <br />ID: 7432 ReadCount: 0&#160; WriteCount: 1, Waiting: 0     <br />ID: 7461 ReadCount: 2&#160; WriteCount: 0, Waiting: 0     <br />ID: 7288 ReadCount: 0&#160; WriteCount: 1, Waiting: 0     <br />LockExpressionCounter: 2     <br />Single lock count: 0</code>
<p>Basically, it allows me to check all the locks that are still active (in order of age) when the deadlock occurred. From then it’s simply a matter of figuring out who has the oldest lock and why it wasn’t released. To do this, it’s best to keep track somehow of the threads that do the locking and make certain that they are named, so you can find them again in the execution stack of the debugger.</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2010/05/31/deadlocks-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF is getting under my skin</title>
		<link>http://janbogaerts.name/index.php/2010/02/24/wpf-is-getting-under-my-skin/</link>
		<comments>http://janbogaerts.name/index.php/2010/02/24/wpf-is-getting-under-my-skin/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 12:58:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[N²D]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2010/02/24/wpf-is-getting-under-my-skin/</guid>
		<description><![CDATA[I have been fighting the WPF model all the way during the development of NND. And it is wearing me down. Latest problem: the updated selection box for frame element filters doesn’t want to get focus, making it impossible to use the keyboard. I guess the new release will have to wait until I can [...]]]></description>
			<content:encoded><![CDATA[<p>I have been fighting the WPF model all the way during the development of NND. And it is wearing me down. Latest problem: the updated selection box for frame element filters doesn’t want to get focus, making it impossible to use the keyboard. I guess the new release will have to wait until I can get this fixed. Bummer.</p>
<p><a href="http://janbogaerts.name/wp-content/uploads/2010/02/image1.png"><img style="margin: 0px; display: inline; border-width: 0px;" title="image" src="http://janbogaerts.name/wp-content/uploads/2010/02/image_thumb1.png" border="0" alt="image" width="758" height="728" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2010/02/24/wpf-is-getting-under-my-skin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aici&#8217;s first words</title>
		<link>http://janbogaerts.name/index.php/2010/01/19/aicis-first-words/</link>
		<comments>http://janbogaerts.name/index.php/2010/01/19/aicis-first-words/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 19:08:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2010/01/19/aicis-first-words/</guid>
		<description><![CDATA[ 
   
New release coming shortly.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://janbogaerts.name/wp-content/uploads/2010/01/image.png"><img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://janbogaerts.name/wp-content/uploads/2010/01/image_thumb.png" width="842" height="509" /></a> </p>
<p><img alt="" src="http://www.zu14.cn/coolemotion/emotions/round_2.gif" /> <img alt="" src="http://www.zu14.cn/coolemotion/emotions/round_6.gif" /> <img alt="" src="http://www.zu14.cn/coolemotion/emotions/round_2.gif" /> </p>
<p>New release coming shortly.</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2010/01/19/aicis-first-words/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Lightning fast</title>
		<link>http://janbogaerts.name/index.php/2009/10/03/lightning-fast/</link>
		<comments>http://janbogaerts.name/index.php/2009/10/03/lightning-fast/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 18:53:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/10/03/lightning-fast/</guid>
		<description><![CDATA[The new thread locking algorithm is beginning to work and it looks fast, real fast. Yes 
]]></description>
			<content:encoded><![CDATA[<p>The new thread locking algorithm is beginning to work and it looks fast, real fast. Yes <img alt="" src="http://www.zu14.cn/coolemotion/emotions/round_2.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/10/03/lightning-fast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roadmap</title>
		<link>http://janbogaerts.name/index.php/2009/09/14/roadmap/</link>
		<comments>http://janbogaerts.name/index.php/2009/09/14/roadmap/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 13:22:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Roadmap]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/09/14/roadmap/</guid>
		<description><![CDATA[I thought I’d write something down on how I see things progress from here on. No dates and times, just a general idea of what I have planned for the next release (version 0.3), so here goes.
Thread sync system
There still is a major hiccup in the execution core: some instructions aren’t guaranteed to be uninterruptable, [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I’d write something down on how I see things progress from here on. No dates and times, just a general idea of what I have planned for the next release (version 0.3), so here goes.</p>
<h5>Thread sync system</h5>
<p>There still is a major hiccup in the execution core: some instructions aren’t guaranteed to be uninterruptable, that is to say, some, like the instructions that change links, can be interrupted by other processors before finishing. This could result in data corruption.&#160; </p>
<p>The current protection mechanism against data corruption also appears to slow down the core way to much (most time is actually spend waiting on a sync object here or there).&#160; While trying to fix this, I pushed a bit to far, which resulted in the occasional loss of recycled id’s, in other words, deleted neurons are dropped incorrectly (you can usually see this in version 0.2 after a large input stream has been processed, the explorer might show some red slots).</p>
<p>The fix is a new thread syncing system on top of that provided by the OS, instead of trying to rely on the slower, clumsier locks&#160; provided by the system, I need to create something new.&#160; The design is mostly done, it just needs implementing, which requires some work.</p>
<h5>AICI 1</h5>
<p>I really like to get this demo working as soon as possible, so I will probably do a lot of work here.&#160; There are some updates required to the system though, before this is possible:</p>
<ul>
<li>The wordnet importer needs some work. It currently doesn’t do a good job with respect to verbs, that is to say, their conjugations aren’t imported and linked properly.&#160; This needs to be corrected so that it’s easier to determine the part of speech of a word in a sentence.</li>
<li>Verbnet needs some serious work.&#160; Not all the data gets imported or can be edited. I also need to write the neural network code to compare the data that was found against the <em>known(imported)</em> verbnet frames. And finally, I need to attach some action code to the frames, so that they actually do something.</li>
<li>I also decided to rebuild the English grammar used by the AICI example, so this needs finishing.&#160; I did this to force me to take a closer look at each and every flow item as to better understand later on where the filter code needs to be attached and where to attach the code that will build the result.</li>
</ul>
<p>I guess by the time I have gotten this far, a lot more, currently unforeseen stuff will have been added, so for now, lets make this all for version 0.3. After that, I plan to do some more work on the visual side of things (not how the UI looks, but the image sensory interfaces and their UIs).</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/09/14/roadmap/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>NND 0.2 released</title>
		<link>http://janbogaerts.name/index.php/2009/09/12/nnd-0-2-released/</link>
		<comments>http://janbogaerts.name/index.php/2009/09/12/nnd-0-2-released/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 17:43:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[N²D]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[releases]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/09/12/nnd-0-2-released/</guid>
		<description><![CDATA[I sort of blew out all the cylinders while attempting a first run directly from numbers to the English grammar: memory usage went up to +1.5 gig, thread count was +800 and a gazillion temporary neurons had been created before it all came to a grinding halt. Some redesign was required. So I beefed up [...]]]></description>
			<content:encoded><![CDATA[<p>I sort of blew out all the cylinders while attempting a first run directly from numbers to the English grammar: memory usage went up to +1.5 gig, thread count was +800 and a gazillion temporary neurons had been created before it all came to a grinding halt. Some redesign was required. So I beefed up the execution engine so that you are now able to throttle the maximum amount of simultaneous system threads that are used, which saves an incredible amount of resources and it prevents the app from grinding to a halt (well, that and the removal of a small army of bugs).</p>
<p>I also realized that the flow recognition algorithm simply was not yet mature enough to be used in even the most basic situations. Not just because it was not yet able to process the more complex flow structures, but also because I made a basic design error that I did not yet know off: <em>always put the result cluster on the stack (‘from’ part of link) and the item-to-search in the ‘to’ part</em>. Getting this algorithm ready definitely took the most effort, but it was a grate catalyst to improve the debugger and the execution core. Here’s a (non exhaustive) list of new/changed things:</p>
<ul>
<li>New instructions: GetClustersFiltered, GetChildrenFiltered, Freeze</li>
<li>Added ‘Stop all processors’&#160; and ‘kill single processor’&#160; commands</li>
<li>Added import of VerbNet data</li>
<li>Updated Frame editor so that it is able to edit VerbNet data, this is a work in progress, not all data items found in verbnet can already be edited.</li>
<li>major update to the scanner demo</li>
<li>Added the start of the AICI 1 demo, which will/should soon become able to parse the English grammar (it’s already able to parse the verb ‘to be’ ex: you are, I am, is he, he is, they were,.. (silly I know, but a start is a start!)</li>
<li>Updated flow editor with overlay items, which display the presence of certain (useful) links, like code that is attached to the flow item.</li>
<li>Added a new dialog: ‘Overlay editor’ in the Tools menu for editing the overlays that are defined in a project. This means that overlays can eventually be used everywhere.</li>
<li>new debug feature: split paths, which allow you to track previously recorded paths of processors.</li>
<li>new debug feature: attached neurons, which allow you to track down data changes in threads that should not be allowed to change the data.</li>
<li>Extra info about the static neurons (like the display title and the description) is now stored globally, outside of the project so that I only have to update 1 thing, and not all the projects whenever some documentation needs to be updated. This does mean that you can no longer store any description info for these statically defined neurons.</li>
<li>Updated the <a href="http://www.ebswift.com/OpenSource/WordNetSQLServer/" target="_blank">WordNet</a> sensory interface so that it generates POSGroup objects, which ‘group’ all objects together, that have the same text and part of speech. This saves a grate number of unneeded splits while processing the English grammar.</li>
<li>Made project saving/opening multi threaded so that the UI doesn’t appear frozen.</li>
<li>Many, many small bug fixes all over the place.</li>
</ul>
<p>Perhaps a final note, best to uninstall any previous versions.&#160; I haven’t yet tested how the installer works when it overwrites a previous installation, so it might screw things up.&#160; And off course, you can get the new installer from <a href="http://www.janbogaerts.name/files/setup.exe" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/09/12/nnd-0-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finally</title>
		<link>http://janbogaerts.name/index.php/2009/09/06/finally/</link>
		<comments>http://janbogaerts.name/index.php/2009/09/06/finally/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 18:09:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[flows]]></category>
		<category><![CDATA[output]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/09/06/finally/</guid>
		<description><![CDATA[Man, this was a tough nut to crack, but it’s done, it’s finally done. The flow recognition algorithm is working.&#160; 
 
To find some of the more tedious bugs, I had to create 2 new debugging techniques: attached neurons and split paths, which I will explain shortly. The whole algorithm eventually became seriously elaborate to [...]]]></description>
			<content:encoded><![CDATA[<p>Man, this was a tough nut to crack, but it’s done, it’s finally done. The <em>flow recognition algorithm</em> is working.&#160; </p>
<p><a href="http://janbogaerts.name/wp-content/uploads/2009/09/image1.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px; border-left: 0px; border-bottom: 0px" height="65" alt="image" src="http://janbogaerts.name/wp-content/uploads/2009/09/image_thumb1.png" width="121" border="0" /></a> </p>
<p>To find some of the more tedious bugs, I had to create 2 new debugging techniques: attached neurons and split paths, which I will explain shortly. The whole algorithm eventually became seriously elaborate to deal with some of the more complicated situations. I need to document this very soon before I forget myself (I guess the <a href="http://janbogaerts.name/index.php/2009/06/11/radio-silence/" target="_blank">radio silence</a> is out of the window, dev time simply took to long for 1 algorithm, I need to do at least 3 more of these which would take far to long). I’m pretty convinced there are still some caveats to work out, but, as far as I have been able to test, all the situations using a <em>scanner</em> flow definition seem to work. The core still shows some hick-ups at times, which can still result in bogus results, but this has also been improving considerably. Expect a new update very shortly (like in a week or so).</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/09/06/finally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A mind of it&#8217;s own</title>
		<link>http://janbogaerts.name/index.php/2009/08/15/a-mind-of-its-own/</link>
		<comments>http://janbogaerts.name/index.php/2009/08/15/a-mind-of-its-own/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 14:22:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[flows]]></category>
		<category><![CDATA[order]]></category>
		<category><![CDATA[output]]></category>
		<category><![CDATA[Results]]></category>
		<category><![CDATA[strange]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/08/15/a-mind-of-its-own/</guid>
		<description><![CDATA[My network is starting to get a mind of it’s own:
 
I am trying to get the flow recognition algorithm working so it can handle mixed content (words, numbers and signs mixed), which has been one of the more difficult algorithms I have worked on, to date. Clearly, I still haven’t got the order quite [...]]]></description>
			<content:encoded><![CDATA[<p>My network is starting to get a mind of it’s own:</p>
<p><a href="http://janbogaerts.name/wp-content/uploads/2009/08/image.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px; border-left: 0px; border-bottom: 0px" height="131" alt="image" src="http://janbogaerts.name/wp-content/uploads/2009/08/image_thumb.png" width="154" border="0" /></a> </p>
<p>I am trying to get the flow recognition algorithm working so it can handle mixed content (words, numbers and signs mixed), which has been one of the more difficult algorithms I have worked on, to date. Clearly, I still haven’t got the order quite right.&#160; This has been the main issue holding back a new release by the way. </p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/08/15/a-mind-of-its-own/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Radio silence</title>
		<link>http://janbogaerts.name/index.php/2009/06/11/radio-silence/</link>
		<comments>http://janbogaerts.name/index.php/2009/06/11/radio-silence/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 11:55:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/06/11/radio-silence/</guid>
		<description><![CDATA[It’s time to do a final hack-stretch. There’s still this annoying bug in the scanner to fix which causes numbers to be misunderstood. This shouldn’t be to bad though (I hope). Followed by the final&#160; push towards a responsive network that is able to record simple statements and respond to ‘what is’ questions. This is [...]]]></description>
			<content:encoded><![CDATA[<p>It’s time to do a final hack-stretch. There’s still this annoying bug in the scanner to fix which causes numbers to be misunderstood. This shouldn’t be to bad though (I hope). Followed by the final&#160; push towards a responsive network that is able to record simple statements and respond to ‘<em>what is</em>’ questions. This is going to take some time, so there wont be many posts coming out in&#160; the near future. Perhaps a small&#160; update here or there, but nothing serious until I have <em>something</em>. Here goes…</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/06/11/radio-silence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NND 0.1.1 released</title>
		<link>http://janbogaerts.name/index.php/2009/06/03/nnd-011-released/</link>
		<comments>http://janbogaerts.name/index.php/2009/06/03/nnd-011-released/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 18:41:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Updates]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/06/03/nnd-011-released/</guid>
		<description><![CDATA[It was itching to much, I had to do a new release.&#160; Lots of things have been updated behind the scene, so not much visually new to report (except for the debugger perhaps, that&#8217;s definitely visual). As I mentioned in a previous post, I was expecting some serious coding requirements to get the scanner-parser routines [...]]]></description>
			<content:encoded><![CDATA[<p>It was itching to much, I had to do a new release.&#160; Lots of things have been updated behind the scene, so not much visually new to report (except for the debugger perhaps, that&#8217;s definitely visual). As I mentioned <a href="http://janbogaerts.name/index.php/2009/04/05/update-flow-editor-take-2/">in a previous post</a>, I was expecting some serious coding requirements to get the scanner-parser routines working that transform input streams into output using flows. This definitely turned out to be a slash and dash marathon.&#160; perhaps best to be compared with a hiking trip from point A to B through a jungle with nothing but a machete and a compass: all you know is where you&#8217;re heading and the bug that&#8217;s directly in front of you, nothing else.&#160; Well, I eventually got to point b, only to find a big bear to wrestle with: threading deadlocks.<img alt="Confused" src="http://messenger.msn.com/MMM2006-04-19_17.00/Resource/emoticons/confused_smile.gif" /> Although this might turn out to be nothing but a pesky mosquito, easily rectified.</p>
<p>Anyway, here are some of the most significant changes:</p>
<ul>
<li>Cut/copy paste system: this was still missing.&#160; The backbone is done, the code and flow editors already have a working implementation, the rest should follow. </li>
<li>Deletion system: I updated the deletion system so as to better reflect common editing practices.&#160; This is again done for the code and flow editors, the rest will be done later. </li>
<li>undo system: There were still some issues with undoing network operations.&#160; This should be fixed.&#160; The mind-map editor still requires some redoing in this area (and many more by the way). </li>
<li>Debugger: This is starting to become really useful.&#160; I would not have been able to get the scanner demo working without this. I&#8217;ll explain more about this one in a later post cause it definitely needs some explanation. </li>
<li>Demos updated:
<ul>
<ul>
<li>I have split the echo demo in 2: a word echo demo and letter echo demo. Both give a very basic implementation of 2 different coding techniques to use in neural networks: a singular operation, and a collector. </li>
<li>The English language&#160; def demo is currently able to scan incoming letters and turn them into words and numbers (although there&#8217;s still a problem with the numbers).&#160; This scanner algorithm (which really is a general purpose flow interpreter) will be explained later, cause it&#8217;s a bit funky (to say the least). You&#8217;ll also probably notice that the UI needs some serious speed tuning in order to keep up with the engine. </li>
</ul>
</ul>
</li>
<li>Execution engine: this is where the major hacking had to be done, the axe is still glowing red hot, but it&#8217;s running, oh yea, it&#8217;s running. </li>
<li>Some new instructions: More will probably follow, but I&#8217;m beginning to get a better picture of instruction requirements.&#160; This is starting to stable out. </li>
<li>lots and lots of small fixes. </li>
</ul>
<p>The new release can be downloaded from <a href="http://www.janbogaerts.name/files/setup.exe">here</a>, or through the usual links in the menu. I&#8217;ll probably be spending some more time on posting new entries to explain the debugger and some algorithms. I might also need to start explaining how you actually do you&#8217;re own coding in NND. I&#8217;d say: stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/06/03/nnd-011-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Floating flows</title>
		<link>http://janbogaerts.name/index.php/2009/05/11/floating-flows/</link>
		<comments>http://janbogaerts.name/index.php/2009/05/11/floating-flows/#comments</comments>
		<pubDate>Mon, 11 May 2009 19:08:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[editing]]></category>
		<category><![CDATA[flows]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/05/11/floating-flows/</guid>
		<description><![CDATA[Just a quick &#8216;in between&#8217; note. I had to make a small change to the flow editor because a flow can now have an attribute &#8216;FlowIsFloating&#8217; assigned (through a link pointing to &#8216;True&#8217; or &#8216;False&#8217;). It is used by the scanner and parser routines to find flows that can appear anywhere in a stream.&#160; This [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick &#8216;in between&#8217; note. I had to make a small change to the flow editor because a flow can now have an attribute &#8216;FlowIsFloating&#8217; assigned (through a link pointing to &#8216;True&#8217; or &#8216;False&#8217;). It is used by the scanner and parser routines to find flows that can appear anywhere in a stream.&#160; This provides a generalized manner of defining this property without having to create custom routines for each set of flows. Spaces between words are good examples where this is used. The context menu for the flow name in the overview list on the editor contains a toggable menu item to activate/deactivate this attribute.&#160; A green line in front of the flow indicates it is floating.&#160; Here&#8217;s a screenshot:</p>
<p><a href="http://janbogaerts.name/wp-content/uploads/2009/05/image.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="389" alt="image" src="http://janbogaerts.name/wp-content/uploads/2009/05/image-thumb.png" width="502" border="0" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/05/11/floating-flows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New location</title>
		<link>http://janbogaerts.name/index.php/2009/05/08/new-location/</link>
		<comments>http://janbogaerts.name/index.php/2009/05/08/new-location/#comments</comments>
		<pubDate>Fri, 08 May 2009 19:12:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/05/08/new-location/</guid>
		<description><![CDATA[Well, I hope&#160; you like the new engine, it should be much better.&#160; The new address should be easier to find.
]]></description>
			<content:encoded><![CDATA[<p>Well, I hope&#160; you like the new engine, it should be much better.&#160; The new address should be easier to find.</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/05/08/new-location/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About sandboxes</title>
		<link>http://janbogaerts.name/index.php/2009/03/17/about-sandboxes/</link>
		<comments>http://janbogaerts.name/index.php/2009/03/17/about-sandboxes/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 16:26:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Getting started]]></category>
		<category><![CDATA[N²D]]></category>

		<guid isPermaLink="false">http://bragisoft.com/blog/PermaLink,guid,2e12442f-ff13-4a85-ac6f-40a71a5758e8.aspx</guid>
		<description><![CDATA[As a child, I remember playing quite a lot in the sand by the coast in the summers. I don&#8217;t think I cared very much about sandboxes though, except maybe for growing stuff in. Anyway, that&#8217;s totally besides the point with regards to today&#8217;s topic, which is about N2D&#8217;s sandbox, used to test out a [...]]]></description>
			<content:encoded><![CDATA[<p>As a child, I remember playing quite a lot in the sand by the coast in the summers. I don&#8217;t think I cared very much about sandboxes though, except maybe for growing stuff in. Anyway, that&#8217;s totally besides the point with regards to today&#8217;s topic, which is about N2D&#8217;s sandbox, used to test out a project in development.</p>
<p>The problem, you see, is the fact that N2D is a <em>Designer</em>, running on top of a neural network, accessing it&#8217;s services.&#160; So when you are designing the network, it is also running.&#160; This means that all the stuff you type into the text-channels, will also be stored in the project. Something you don&#8217;t want while performing tests.</p>
<p>To overcome this issue, N2D can use a special directory as a sandbox in which it can copy projects that need testing. The sandbox project will be started in it&#8217;s own designer so you can play with it, with all of it&#8217;s features (including neuron streaming) without messing up the actual data.</p>
<p>To run the current project in a sandbox, use the &#8216;<em>Sandbox</em>&#8216; toolbar button or menu item <em>Debug/Sandbox</em>. This will save the project, copy it over to a temp directory (selectable in the &#8216;Tools/O<em>ptions</em>&#8216; window) and start a new session.</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="254" alt="image" src="http://bragisoft.com/blog/content/binary/WindowsLiveWriter/Aboutsandboxes_F21B/image_thumb_2.png" width="671" border="0" /></p>
<p>When N2D is started in Sandbox mode, it will show this in the lower right corner, like so:</p>
<p><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="74" alt="image" src="http://bragisoft.com/blog/content/binary/WindowsLiveWriter/Aboutsandboxes_F21B/image_thumb_1.png" width="181" border="0" /></p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/03/17/about-sandboxes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
