<?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>Undecided &#187; ASPECT</title>
	<atom:link href="http://www.datarave.net/zfh/category/personal/aspect/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.datarave.net/zfh</link>
	<description>An open notebook</description>
	<lastBuildDate>Tue, 07 Feb 2012 07:05:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Project Diary: Xtools (4)</title>
		<link>http://www.datarave.net/zfh/2008/09/21/project-diary-xtools-4/</link>
		<comments>http://www.datarave.net/zfh/2008/09/21/project-diary-xtools-4/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 00:57:30 +0000</pubDate>
		<dc:creator>John Williams</dc:creator>
				<category><![CDATA[ASPECT]]></category>
		<category><![CDATA[Nortel]]></category>
		<category><![CDATA[WebDev]]></category>

		<guid isPermaLink="false">http://www.datarave.net/zfh/?p=569</guid>
		<description><![CDATA[Put up a BugTracker.  I&#8217;ll be importing the ASPECT projects that I&#8217;ve been working on over the years soon, so that if any users want to report bugs for those projects, they can. Primarily though, this BugTracker is used to track the features/projects/ideas for my Xtools project.  I figured that while a diary is great, <a href='http://www.datarave.net/zfh/2008/09/21/project-diary-xtools-4/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><a title="DATARAVE Bug Tracker" href="http://datarave.net/bt/" target="_blank">Put up a BugTracker</a>.  I&#8217;ll be importing the <a title="DATARAVE ASPECT Scripts" href="http://www.datarave.net/zfh/meridian-1/scripts/" target="_blank">ASPECT projects</a> that I&#8217;ve been working on over the years soon, so that if any users want to report bugs for those projects, they can.</p>
<p>Primarily though, this BugTracker is used to track the features/projects/ideas for my Xtools project.  I figured that while a diary is great, tracking future bugs and major progress in the project would be a little more automated if I utilized a BugTracker.  <a title="Mantis Bug Tracker" href="http://www.mantisbt.org/" target="_blank">MantisBT</a> is fairly full featured.  I have found a few bugs, and submitted them to the developer&#8217;s bug tracker.</p>
<p>Tasks completed:</p>
<ul>
<li>Finished the basic DNB Parser</li>
<li>Finished the basic DNB Display page
<ul>
<li>Added simple filter and sort options</li>
</ul>
</li>
<li>Finished the basic Batch Upload page</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.datarave.net/zfh/2008/09/21/project-diary-xtools-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lines of code</title>
		<link>http://www.datarave.net/zfh/2008/02/06/lines-of-code/</link>
		<comments>http://www.datarave.net/zfh/2008/02/06/lines-of-code/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 08:12:51 +0000</pubDate>
		<dc:creator>John Williams</dc:creator>
				<category><![CDATA[ASPECT]]></category>

		<guid isPermaLink="false">http://www.datarave.net/zfh/?p=129</guid>
		<description><![CDATA[I&#8217;ve been working on my scripting at night because of user feedback and personal need, and my company recently signed an IP waiver releasing all claim to my intellectual property (scripting, code, etc.)  This acts as an incentive to do coding more, since I don&#8217;t have to worry to much about my employer trying to <a href='http://www.datarave.net/zfh/2008/02/06/lines-of-code/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on my scripting at night because of user feedback and personal need, and my company recently signed an IP waiver releasing all claim to my intellectual property (scripting, code, etc.)  This acts as an incentive to do coding more, since I don&#8217;t have to worry to much about my employer trying to lay claim to my IP.</p>
<p>I recently tallied the lines of code I&#8217;ve written in ASPECT scripting and I&#8217;ve reached over 14,000 lines of code including comments, just under half of that is actual code, which means that I&#8217;m doing a fairly good job at commenting my code to make it more readable.  A significant portion of the comments include the header of each module, which includes the change log to each module.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datarave.net/zfh/2008/02/06/lines-of-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASPECT Scripting Compiler Discovery</title>
		<link>http://www.datarave.net/zfh/2007/12/26/aspect-scripting-compiler-discovery/</link>
		<comments>http://www.datarave.net/zfh/2007/12/26/aspect-scripting-compiler-discovery/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 16:35:56 +0000</pubDate>
		<dc:creator>John Williams</dc:creator>
				<category><![CDATA[ASPECT]]></category>

		<guid isPermaLink="false">http://www.datarave.net/zfh/?p=117</guid>
		<description><![CDATA[A while back I wrote a conversion of RFC 1321 (RSA Data Security&#8217;s Message-Digest Algorithm for C) to ASPECT script.  During this conversion I discovered that the C code that was used to generate a rotate no carry bit-shift did not work as intended.  (In the RFC they refer to it as circularly shifting.) Back <a href='http://www.datarave.net/zfh/2007/12/26/aspect-scripting-compiler-discovery/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>A while back I wrote a conversion of <a target="_blank" href="http://rfc.net/rfc1321.html">RFC 1321</a> (RSA Data Security&#8217;s Message-Digest Algorithm for C) to ASPECT script.  During this conversion I discovered that the C code that was used to generate a <a target="_blank" href="http://en.wikipedia.org/wiki/Bitwise_operation#Rotate_no_carry">rotate no carry</a> bit-shift did not work as intended.  (In the RFC they refer to it as circularly shifting.)</p>
<p>Back then Wikipedia didn&#8217;t have an article on <a target="_blank" href="http://en.wikipedia.org/wiki/Bitwise_operation">bitwise operations</a> and I did not have the access to mathematic books.  I was doing some coding this last weekend and found an irregularity which I have still not successfully reproduced or explained, and while doing research on the matter, I came across the bitwise operation article at Wikipedia and discovered why ASPECT does not work as intended:</p>
<p>The reason for this is that C uses a <a target="_blank" href="http://en.wikipedia.org/wiki/Logical_shift">logical shift</a> whereas ASPECT uses an <a target="_blank" href="http://en.wikipedia.org/wiki/Arithmetic_shift">arithmetic shift</a>.  This plays havoc with RFC 1321 and as such I had to do some mathematical tinkering to get an arithmetic shift to behave like a logical shift, which allows for the creation of a rotate no carry shift.</p>
<p>This is the code that comes from RFC 1321</p>
<blockquote><p><strong>#define</strong> ROTATE_LEFT(x, n) (((x) &lt;&lt; (n)) | ((x) &gt;&gt; (32-(n))))</p></blockquote>
<p>This is the resultant code with the arithmetic to logical shift conversion code:</p>
<blockquote><p><strong>func</strong> ROTATE_LEFT : <strong>integer</strong><br />
 <strong>param integer</strong> x, n<br />
<strong> integer</strong> z<br />
 z = (x &gt;&gt; (32-n)) &amp; ~(0&#215;80000000 &gt;&gt; (31-n))<br />
 <strong>return</strong> ( (x &lt;&lt; n) | z )<br />
<strong>endfunc</strong></p>
<p>In order to reduce compiler and stack overhead, this could probably be shorted to a #define that looks like this (I haven&#8217;t tested this):</p>
<p><strong>#define</strong> ROTATE_LEFT(x,n)  ( (x &lt;&lt; n) | (x &gt;&gt; (32-n)) &amp; ~(0&#215;80000000 &gt;&gt; (31-n)) )</p></blockquote>
<p>In summary you replace</p>
<blockquote><p>((x) &gt;&gt; 32-(n))</p></blockquote>
<p>with</p>
<blockquote><p> (x &gt;&gt; (32-n)) &amp; ~(0&#215;80000000 &gt;&gt; (31-n))</p></blockquote>
<p>This causes the arithmetic shift to operate like a logical shift if the <a target="_blank" href="http://en.wikipedia.org/wiki/Sign_bit">sign bit</a> is set to 1 (which is the only time an arithmetic and logical shift operate differently).  I posted a bit of source to my <a href="http://www.datarave.net/zfh/?page_id=108">script</a> page which demonstrates this &#8220;bug&#8221; and the fix.</p>
<p>NOTE: A circular shift (or rotate no carry shift) is not inherent in either C source or ASPECT, hence the creation of the ROTATE_LEFT function in ASPECT source (or the compiler #define in C source)</p>
<p>Merry Christmas</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datarave.net/zfh/2007/12/26/aspect-scripting-compiler-discovery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is the Procomm Matrix?</title>
		<link>http://www.datarave.net/zfh/2007/12/13/what-is-the-procomm-matrix/</link>
		<comments>http://www.datarave.net/zfh/2007/12/13/what-is-the-procomm-matrix/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 22:16:32 +0000</pubDate>
		<dc:creator>John Williams</dc:creator>
				<category><![CDATA[ASPECT]]></category>

		<guid isPermaLink="false">http://www.datarave.net/zfh/?p=115</guid>
		<description><![CDATA[Added my &#8220;Matrix&#8221; style &#8220;screen saver&#8221; to the Symantec Procomm scripts page.  I really enjoy ASPECT scripting.  I&#8217;ve found it&#8217;s very flexible.  Amazing to think that Symantec hasn&#8217;t updated Prcomm in over 5 years.  There just isn&#8217;t a lot more to be added to what they have, unless they were going to start doing other emulation <a href='http://www.datarave.net/zfh/2007/12/13/what-is-the-procomm-matrix/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Added my &#8220;Matrix&#8221; style &#8220;screen saver&#8221; to the Symantec Procomm <a href="http://www.datarave.net/zfh/?page_id=108">scripts</a> page.  I really enjoy ASPECT scripting.  I&#8217;ve found it&#8217;s very flexible.  Amazing to think that Symantec hasn&#8217;t updated Prcomm in over 5 years.  There just isn&#8217;t a lot more to be added to what they have, unless they were going to start doing other emulation modes (like Telnet/SSL, rlogin or SSH, etc.)</p>
<p>The best part about it is that it&#8217;s extensible.  Meaning that back in 2003, I did some coding using the C++ language to write a DLL API to further extend the functionality of Procomm.  Specifically, I added the ability for Procomm to access POP3 email via a API call to a DLL I wrote.  The idea was to retrieve instructions to perform certain tasks via email, perform them in an automated fashion, and then return to log to the person who requested the task via email.  Heck, if you wanted, you could write rlogin DLLs and have Procomm emulate rlogin via the DLL functionality.</p>
<p>Sadly, I lost my dedication to the projects I was working on because I didn&#8217;t have access to a Meridian-1 system full time to do testing with.  Later I did get a Meridian-1 second-hand, but I never recovered the urge to continue building the tools (other enjoyable tasks to pursue.)  Now, I&#8217;m finding the drive again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datarave.net/zfh/2007/12/13/what-is-the-procomm-matrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>X11BARS.WAX v0.99.04 update</title>
		<link>http://www.datarave.net/zfh/2007/12/04/x11barswax-v09904-update/</link>
		<comments>http://www.datarave.net/zfh/2007/12/04/x11barswax-v09904-update/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 05:07:46 +0000</pubDate>
		<dc:creator>John Williams</dc:creator>
				<category><![CDATA[ASPECT]]></category>
		<category><![CDATA[Nortel]]></category>

		<guid isPermaLink="false">http://www.datarave.net/zfh/?p=110</guid>
		<description><![CDATA[Updated code to: Recognize Canadian area codes (to permit Canadian users to add all US and Canadian NPAs but exclude all other NPAs). Added protection against NPA.TXT corruption: Validate NPA value from NPA.TXT before sending value to SL1 interface.  (Value must be between 200 and 999). Updated NPA.TXT to include all area codes created since last <a href='http://www.datarave.net/zfh/2007/12/04/x11barswax-v09904-update/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>Updated code to:</p>
<ol>
<li>Recognize Canadian area codes (to permit Canadian users to add all US and Canadian NPAs but exclude all other NPAs).</li>
<li>Added protection against NPA.TXT corruption: Validate NPA value from NPA.TXT before sending value to SL1 interface.  (Value must be between 200 and 999).</li>
<li>Updated NPA.TXT to include all area codes created since last update.  Still excluding 800, 866, 877 and 900 NPAs to permit these to be manually configured as SPNs.</li>
<li>Updated X11BARS documentation.</li>
</ol>
<p>Thank you Andrew Chapelle for the bug report.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.datarave.net/zfh/2007/12/04/x11barswax-v09904-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

