<?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>The ArchestrAnaut</title>
	<atom:link href="http://archestranaut.avidsolutionsinc.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://archestranaut.avidsolutionsinc.com</link>
	<description>Covering everything in the Galaxy</description>
	<lastBuildDate>Fri, 31 Jan 2014 04:29:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.2</generator>
		<item>
		<title>Archestranaut&#8217;s New Home</title>
		<link>http://archestranaut.avidsolutionsinc.com/2014/01/archestranauts-new-home/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2014/01/archestranauts-new-home/#comments</comments>
		<pubDate>Fri, 31 Jan 2014 04:29:50 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=656</guid>
		<description><![CDATA[Effective February 1st, Archestranaut will have a new home at http://avidsolutionsinc.com/blog/category/archestranaut-category/.  After February 1st, The web address will automatically forward to the new site.  Please update your RSS feed to the new http://avidsolutionsinc.com/blog/category/archestranaut-category/feed/.  We want to make sure you are always up to date and receiving the latest news!]]></description>
				<content:encoded><![CDATA[<p>Effective February 1<sup>st</sup>, Archestranaut will have a new home at <a href="http://avidsolutionsinc.com/blog/category/archestranaut-category/">http://avidsolutionsinc.com/blog/category/archestranaut-category/</a>.  After February 1<sup>st</sup>, The web address will automatically forward to the new site.  Please update your RSS feed to the new <a href="http://avidsolutionsinc.com/blog/category/archestranaut-category/feed/">http://avidsolutionsinc.com/blog/category/archestranaut-category/feed/</a>.  We want to make sure you are always up to date and receiving the latest news!</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2014/01/archestranauts-new-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Well Done Invensys Security</title>
		<link>http://archestranaut.avidsolutionsinc.com/2014/01/well-done-invensys-security/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2014/01/well-done-invensys-security/#comments</comments>
		<pubDate>Sat, 11 Jan 2014 01:53:32 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=651</guid>
		<description><![CDATA[Over the past few years I have had the privilege to speak with a handful of people at Invensys about different security issues.&#160; I even got a call a few years before that about them wanting to speak with one of my customers about something I had posted.&#160; Suffice it to say that they are [...]]]></description>
				<content:encoded><![CDATA[<p>Over the past few years I have had the privilege to speak with a handful of people at Invensys about different security issues.&#160; I even got a call a few years before that about them wanting to speak with one of my customers about something I had posted.&#160; Suffice it to say that they are very very serious about making sure there systems are as secure as possible.</p>
<p>&#160;</p>
<p><span id="more-651"></span>
<p>I was watching an interesting presentation the other day from the guys at SCADA Strangelove.&#160; </p>
<p><a title="https://events.ccc.de/congress/2013/Fahrplan/events/5582.html" href="https://events.ccc.de/congress/2013/Fahrplan/events/5582.html">https://events.ccc.de/congress/2013/Fahrplan/events/5582.html</a></p>
<p>From the names and accents they appear to be a Russian group, or at least Eastern European that find SCADA vulnerabilities.&#160; They seem to be a pretty good group of guys as they do find vulnerabilities but also seem to encourage responsible disclosure and responsible and responsible testing on production systems.</p>
<p>Something that caught my eye in the presentation was this slide.</p>
<p><a href="http://archestranaut.avidsolutionsinc.com/wp-content/uploads/2014/01/image.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://archestranaut.avidsolutionsinc.com/wp-content/uploads/2014/01/image_thumb.png" width="700" height="396" /></a></p>
<p>At first I thought wow.. Invensys is really sucking at getting popped for 0-days.&#160; But then if you look closer you see that they are the only vendor that has actually FIXED all of their 0-days.&#160; This is very consistent with the story I get from people at Invensys.&#160; They will freely admit that some outside researchers have found 0-days.&#160; The difference, however, is that they have taken a very proactive and responsible approach to work with the researchers to identify, study, and fix the 0-days.&#160; </p>
<p>If you write software you will have bugs and holes… guaranteed.&#160; The difference is more in how you respond to other finding these security holes.&#160; In that respect I think Invensys has done quite well. </p>
<p>As a parting item, here is one specific link from the Strangelove blog where they compliment Invensys on fixing an issue quickly.</p>
<p><a title="http://scadastrangelove.blogspot.tw/2013/03/icsa-13-067-02invensys-wonderware-win.html" href="http://scadastrangelove.blogspot.tw/2013/03/icsa-13-067-02invensys-wonderware-win.html">http://scadastrangelove.blogspot.tw/2013/03/icsa-13-067-02invensys-wonderware-win.html</a></p>
<p>&#160;</p>
<p>-andy</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2014/01/well-done-invensys-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Source for aaEncryption</title>
		<link>http://archestranaut.avidsolutionsinc.com/2014/01/source-for-aaencryption/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2014/01/source-for-aaencryption/#comments</comments>
		<pubDate>Sun, 05 Jan 2014 12:07:47 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[aaEncryption]]></category>
		<category><![CDATA[aaOpenSource]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=646</guid>
		<description><![CDATA[If you would like to contribute or just peak under the covers for aaEncryption here is the GitHub link. https://github.com/aaOpenSource/aaEncryption -andy]]></description>
				<content:encoded><![CDATA[<p>If you would like to contribute or just peak under the covers for aaEncryption here is the GitHub link.</p>
<p><a href="https://github.com/aaOpenSource/aaEncryption">https://github.com/aaOpenSource/aaEncryption</a></p>
<p>-andy</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2014/01/source-for-aaencryption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aaBackupConsole Ready for Testing</title>
		<link>http://archestranaut.avidsolutionsinc.com/2014/01/aabackupconsole-ready-for-testing/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2014/01/aabackupconsole-ready-for-testing/#comments</comments>
		<pubDate>Sun, 05 Jan 2014 12:04:40 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[aaBackup]]></category>
		<category><![CDATA[aaOpenSource]]></category>
		<category><![CDATA[System Platform]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=644</guid>
		<description><![CDATA[So this is one I promised a long time ago. I even had it substantially done but just didn’t have a few final items pulled together.  While I have more ideas for features to add I wanted to get this out there and get people to start using it/breaking it. The Problem We should all [...]]]></description>
				<content:encoded><![CDATA[<p>So this is one I promised a long time ago. I even had it substantially done but just didn’t have a few final items pulled together.  While I have more ideas for features to add I wanted to get this out there and get people to start using it/breaking it.</p>
<p><strong>The Problem</strong><br />
We should all be backing up our galaxies regularly.  Back a long long time ago when the Archestra.biz site was up and running they posted a command line app for calling galaxy backups.  This let you schedule them or call them from other apps (like SQL Server).  Having command line access was great but it was a bit limited.</p>
<p><strong>The Motivation</strong><br />
After looking into the GRAccess tools I saw that performing this complete backup of a galaxy was really dirt simple.  Without decoration and error handling it could probably be distilled down to less than 10 lines of code.  I thought this was nice but there are times when I want to do different kinds of backups.  So I did what any geek should do, I rolled my own.</p>
<p><strong>The Delivery</strong><br />
So here is what you get.  You get a command line tool that allows you to make numerous different kinds of backups; single CAB, single AAPKG, specific objects into a single csv or single aapkg, specific objects into multiple csv or multiple aapkg, etc.</p>
<p><strong>What can you use it for</strong><br />
I’ll let you decide how helpful it is but here are a few ideas.</p>
<p>1) Daily backup of all objects separately so if you need to restore from an old version you don’t have to mount an entire backup galaxy</p>
<p>2) Automated tool to export a specific set of objects on a routine basis, maybe for coordination with another galaxy (yes that’s a tease of something else I’m working on)</p>
<p>3) Write some kind of SQL Server script to first query all the objects that have changed since a particular timestamp.  Generate a list of objects and use that in the command line call for your daily exports (hint… I’d like to get that feature baked in on the next version too)</p>
<p><strong>Stability and Is It Done?<br />
</strong>Yeah right.. done.. not even close.  Stable?  Seems to work OK for me.  In all honesty I’m taking a cue from some reading I’ve been doing lately around the software development process.  The idea is that once you get something with decent stability and at least the core functions go ahead and get it out there for people to beat on.  Admittedly this works a lot better with a website instead of a windows app but I’m giving it a try</p>
<p><strong>How do I get it?<br />
</strong><a href="https://github.com/aaOpenSource/aaBackup">https://github.com/aaOpenSource/aaBackup</a></p>
<p>Go to this site.  Pull the source and start to play &#8211; note you need to provide your own GRAccess DLL and IDE license.</p>
<p><strong>What’s left to do?<br />
</strong>In a word or two, a lot!  Need to add good logging, good error handling, and a whole host of additional features.</p>
<p><strong>What do I need from you?</strong></p>
<p>Feedback, feedback feedback.  Did it work, did it break, did it break something else, feature suggestions, etc.  Said another way, participation is what I would like from the community.</p>
<p>Enjoy and please let me know how it goes!</p>
<p>- andy</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2014/01/aabackupconsole-ready-for-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Associate Graphics Fixes a Pesky Issue</title>
		<link>http://archestranaut.avidsolutionsinc.com/2013/12/associate-graphics-fixes-a-pesky-issue/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2013/12/associate-graphics-fixes-a-pesky-issue/#comments</comments>
		<pubDate>Fri, 20 Dec 2013 04:54:17 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[ArchestrA Graphics]]></category>
		<category><![CDATA[IAS Scripting]]></category>
		<category><![CDATA[InTouch Graphics]]></category>
		<category><![CDATA[Associate Graphics]]></category>
		<category><![CDATA[ShowGraphic]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=642</guid>
		<description><![CDATA[So my esteemed colleague David wrote an article earlier this year that discussed an issue he was having with popup graphics. http://archestranaut.avidsolutionsinc.com/2013/01/recent-gotchas/ See item #5.&#160; The gist (if you don’t feel like clicking) is that now with the ShowGraphic() function it is possible to dynamically call a graphic from a script.&#160; What this means on [...]]]></description>
				<content:encoded><![CDATA[<p>So my esteemed colleague David wrote an article earlier this year that discussed an issue he was having with popup graphics.</p>
<p><a href="http://archestranaut.avidsolutionsinc.com/2013/01/recent-gotchas/">http://archestranaut.avidsolutionsinc.com/2013/01/recent-gotchas/</a></p>
<p>See item #5.&#160; The gist (if you don’t feel like clicking) is that now with the ShowGraphic() function it is possible to dynamically call a graphic from a script.&#160; What this means on the backend is that Archestra has no clue what graphics you may call so it has no clue what graphics it should include when it deploys.&#160; I can only assume that as an optimization technique they probably checked all the graphic references before deployment and only send down the ones that were actually needed.&#160; Well with dynamic references and the ShowGraphic function this is not possible now.</p>
<p>Enter the Associate Graphics checkbox (accessible by right clicking the InTouch view app).&#160; I saw this today and had no clue what it did.&#160; </p>
<p>Straight from the help file</p>
<blockquote><p><strong>Associating All Galaxy Graphics with an InTouchViewApp       <br /></strong>Associating all Galaxy graphics with an InTouchViewApp template enables deployed and published InTouch applications to execute &quot;show graphic&quot; requests made of any graphic in the Galaxy without having to embed them in the application.</p>
<p>•&#160; The ShowGraphic() function uses the graphic as a parameter. Associating all Galaxy graphics ensures that the graphic is deployed and available at run time whether or not it is referenced by InTouchViewApp.&#160; </p>
<p>•&#160; Associating all Galaxy graphics ensures that template symbols referenced by the ShowGraphic() function are deployed and available at run time. </p>
<p>Note: The term &quot;graphic&quot; includes any symbol or client control present in the Graphic Toolbox, and any symbols owned or inherited by templates and instances.     </p>
</blockquote>
<p>Voila, problem solved.&#160; I haven’t tested it yet but hey it’s a feature so it has to work right?</p>
<p>I would suspect this makes for a little more bloated app but it’s easier than the alternative (presented by David in his blog post).&#160; Obviously there might be times when you want a lightweight deployment so keep this in mind when you are trying to trim a few bytes in the future.</p>
<p>- andy   </p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2013/12/associate-graphics-fixes-a-pesky-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cool Trick with Log Viewer</title>
		<link>http://archestranaut.avidsolutionsinc.com/2013/12/cool-trick-with-log-viewer/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2013/12/cool-trick-with-log-viewer/#comments</comments>
		<pubDate>Wed, 18 Dec 2013 01:37:39 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ASB]]></category>
		<category><![CDATA[Galaxy Database]]></category>
		<category><![CDATA[Log Viewer]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=635</guid>
		<description><![CDATA[So I learned a neat trick from a support guy yesterday while troubleshooting an issue on one of my Dev systems. By the way.. do NOT rename what you think is an abandoned galaxy database even after uninstalling System Platform. Bad things happen . Back to the point of the post. How many times are [...]]]></description>
				<content:encoded><![CDATA[<p>So I learned a neat trick from a support guy yesterday while troubleshooting an issue on one of my Dev systems.  By the way.. do NOT rename what you think is an abandoned galaxy database even after uninstalling System Platform.  Bad things happen <img src='http://archestranaut.avidsolutionsinc.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Back to the point of the post.  How many times are you troubleshooting an issue and all you really want is a clean log viewer screen so you can start seeing the new log entries.  For those of us in the know we typically use the Filter function and set the filter to only show messages after the current time.  Well this is a pain especially if you are doign this over and over.  The trick is to use CTRL+R when you are in the log viewer.  Maybe R stands for &#8220;Right Now&#8221;?  What this does is automatically set the filter to only show messages after the current timestamp, yielding a clean log screen that only shows the newest messages.  </p>
<p>Pretty slick and a nice time saver.</p>
<p>Speaking of time savers with the log viewer a little birdy showed me something the other day that &#8220;might&#8221; be coming to a support package near you.  I don&#8217;t want to give any details at this point because most of that is up in the air but if it does happen the people who maintain large systems will really really like it.</p>
<p>your loyal archestranaut,<br />
andy</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2013/12/cool-trick-with-log-viewer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Check out the Wonderware/HMI Times</title>
		<link>http://archestranaut.avidsolutionsinc.com/2013/12/check-out-the-wonderwarehmi-times/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2013/12/check-out-the-wonderwarehmi-times/#comments</comments>
		<pubDate>Sat, 14 Dec 2013 11:14:00 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[Wonderware]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=637</guid>
		<description><![CDATA[So I&#8217;m reviewing who all is sending me traffic and I noticed a new one that I hadn&#8217;t seen before. http://situation-awareness.com/ I know Wonderware has had a big push on the situational awareness concept with the upcoming release of 2014 and the Situational Awareness library.  Well it turns out this is the URL for the [...]]]></description>
				<content:encoded><![CDATA[<p>So I&#8217;m reviewing who all is sending me traffic and I noticed a new one that I hadn&#8217;t seen before.</p>
<p><a href="http://situation-awareness.com/">http://situation-awareness.com/</a></p>
<p>I know Wonderware has had a big push on the situational awareness concept with the upcoming release of 2014 and the Situational Awareness library.  Well it turns out this is the URL for the new E-Zine as I call it, &#8220;The Wonderware/HMI Times&#8221;.</p>
<p>It appears to be a collection point for lots of different content that would be interesting to a Wonderware user.  Looks pretty good to me so far.</p>
<p>To be honest I felt kinda bad with those guys driving some traffic my way but me not giving any love in return.. so here is the love in return <img src='http://archestranaut.avidsolutionsinc.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>- andy</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2013/12/check-out-the-wonderwarehmi-times/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neat new Trick for Popups in 2014</title>
		<link>http://archestranaut.avidsolutionsinc.com/2013/12/neat-new-trick-for-popups-in-2014/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2013/12/neat-new-trick-for-popups-in-2014/#comments</comments>
		<pubDate>Fri, 06 Dec 2013 06:53:55 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[ArchestrA Graphics]]></category>
		<category><![CDATA[SP2014]]></category>
		<category><![CDATA[Popup]]></category>
		<category><![CDATA[ShowGraphic]]></category>
		<category><![CDATA[ShowSymbol]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=633</guid>
		<description><![CDATA[I have been working on some new code using the scripting techniques for doing a ShowSymbol function.&#160; If you haven’t learned about this function yet you really should take the time.&#160; Yes the quick and easy method will always be to use the ShowSymbol animation but the flexibility afforded by using this function in a [...]]]></description>
				<content:encoded><![CDATA[<p>I have been working on some new code using the scripting techniques for doing a ShowSymbol function.&#160; If you haven’t learned about this function yet you really should take the time.&#160; Yes the quick and easy method will always be to use the ShowSymbol animation but the flexibility afforded by using this function in a scripted method is really amazing.</p>
<p>The new trick I have learned involves keeping popups visible when you change windows. </p>
<p><span id="more-633"></span>
<p>Do this quick test.&#160; </p>
<p>1) Create an object with a script and a UDA that just counts from 0 to 100.&#160; <br />2) Create a graphic with a simple square background and display this value.     <br />3) On another graphic on the object create a button, using the ShowSymbol animation to show this graphic as a popup.&#160; <br />4) In Intouch put the button down on a window.&#160;&#160; <br />5) Using the Intouch functions,&#160; create a button to navigate to another window, making sure the original window closes.&#160; <br />6) Now start InTouch and launch your popup from the first window.&#160; Now navigate away from that first window, making sure it closes.</p>
<p>What happens?&#160; You will see that your popup closes automatically.&#160; This behavior can be traced back all the way to the early 3.0 days, the first release with Archestra Graphics.&#160; Originally when you navigated away from the window that the popup was launched from the popup graphic just went dead.&#160; It stayed on the screen and looked pretty but everything just stopped working.&#160; I have to assume that is something related to the parent or launching element not being on the screen anymore.&#160; The solution, at the time, was to simply force all popups to close if the parent element went away.&#160; If I remember that far back I think it was originally a hotfix but then later on became a mainline feature that just worked behind the scenes.&#160; </p>
<p>The first question is why would you care if a popup stayed active during navigation.&#160; Aren’t you going to look at a different screen with different systems anyway?&#160; If you have ever been in a large chemical facility you know that the original screen designers do their best to group logical items together on a screen.&#160; However, with so many complex interactions in a plant there are always times when you may want the popup for a valve or PID loop (popup/faceplate is the method by which you actually control the device) from one system to be visible and accessible while you are looking at a different upstream or downstream unit.</p>
<p>So if you are still with me I’ll show you a cool feature in 2014 (sorry not ready for primetime yet but it’s getting close) that fixes this issue… or at least appears to at first blush.</p>
<p>So let’s go back to that object we created and make another button.&#160; This time configure the button with an action script instead of ShowSymbol.</p>
<p><a href="http://archestranaut.avidsolutionsinc.com/wp-content/uploads/2013/12/image.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://archestranaut.avidsolutionsinc.com/wp-content/uploads/2013/12/image_thumb.png" width="700" height="331" /></a></p>
<p>Without going into a lesson on ShowGraphic the basic idea is that you create a new object of type GraphicInfo.&#160; Then set some properties and launch the graphic using the built-in ShowGraphic function.&#160;&#160; Before you continue notice the fact that my WindowType is Modeless and my KeepOnMonitor = True.&#160; A huge thanks to autocomplete or I would have never found this little jewel.&#160; The Modeless window is important because it allows you to click things that are not on the topmost window.</p>
<p>Lay this button down on your InTouch graphic and repeat the test from above.&#160; What do you see?&#160; Magic! The popup stays up and continues to function.&#160; The reason I made a UDA with a script was to make sure the graphic continued getting updates from the actual engine and not just some local value on the graphic itself.</p>
<p>Hopefully this solves some issues that may have been nagging you.&#160; Before I discovered this little trick I had some hairbrain schemes for allowing users to set which popups to keep displayed and keeping an array …… it was going to be really hard.&#160; With this solution all that work is unnecessary.</p>
<p>Any cool ideas for some other neat uses for this new feature?</p>
<p>- Andy</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2013/12/neat-new-trick-for-popups-in-2014/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The first aaOpenSource tool, aaEncryption</title>
		<link>http://archestranaut.avidsolutionsinc.com/2013/11/the-first-aaopensource-tool-aaencryption/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2013/11/the-first-aaopensource-tool-aaencryption/#comments</comments>
		<pubDate>Tue, 05 Nov 2013 09:03:00 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[aaOpenSource]]></category>
		<category><![CDATA[Archestra]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=619</guid>
		<description><![CDATA[I know, I know… as some of us wipe the collective egg off our faces for not delivering on some early promises (did we promise things?) of aaOpenSource.  The fact of the matter is that we are all crazy busy and doing work for free just didn’t bubble up to the top for any of [...]]]></description>
				<content:encoded><![CDATA[<p>I know, I know… as some of us wipe the collective egg off our faces for not delivering on some early promises (did we promise things?) of aaOpenSource.  The fact of the matter is that we are all crazy busy and doing work for free just didn’t bubble up to the top for any of us.</p>
<p>Well I’m here to change that, in a very small way.  This past weekend I worked on a total rewrite of my LDAP authentication engine.  One of the items I was never crazy about was how long a password hung around in the UDA’s in clear text before getting cleared out.  So I did something about it.</p>
<p>Using some code I had laying around from another project (aaBackup) I re-purposed some of it and rolled a dll to implement AES encryption.  Before you jump me and say hey Andy, you don’t know nuthin’ ‘bout that thar encryption..you are correct.  I spent a long time looking high and low for some of the best implementations I could find, with lots of positive reviews.  The most important thing, however, was that it had to be easy to use.  I think this fits the bill.</p>
<p>The pseudocode goes something like this.</p>
<p>1) Create some kind of random string<br />
2) Instantiate the aaEncryption object, feeding it the random string as a seed value<br />
3) Call the .EncryptString function to take a string and create an encrypted version of it<br />
4) Call the .DecryptToString to take the encrypted value and decrypt it.</p>
<p>That’s it.  Very Simple, very straightforward.</p>
<p>So, how do you the local junior archestranauts fit in?  In the spirit of open source I want to share both the C# code for the DLL as well as my example Archestra objects for testing it out.</p>
<p>What do I want you to do with it? Beat on it, tear it to shreds, recommend better ways to do things.. all the while keeping in mind this thing needs to stay dirt simple.  So what are some of my ideas on things to make better?</p>
<p>1) Have the DLL automatically add itself to the app domain when you instantiate it.  Right now I have an initialization routine that creates the object and stashes it in the app domain.<br />
2) Clean up some dead code.  You will see some code that used a bunch of calls to create a unique fingerprint of the PC it was running on.  This was cool but it failed in two areas.  First, it used the same data to create encryption keys for two encryption instances running on different engines, but the same host.  I didn’t like this.  Second, it was really slow.  On average it took about 2 seconds to initialize, which I didn’t like.<br />
3) Create a routine in the DLL to generate a new random seed if no seed is passed<br />
4) Remove, or make private, some of the extra calls that we won’t use in our implementation… keep it simple<br />
5) Find the limits on the System Platform side.  I have my SP2014 engine a number of times trying to enter really long strings to see if I could successfully encrypt then decrypt.  I should probably drop back to this testing in C# but I was feeling on the lazy side.<br />
6) Write some good unit tests.  Maybe my hard core software friends could handle this part for us.  All I know how to do is throw together a little windows form to poke some values and push some buttons.<br />
7) I thought about performance tests but this thing is really really fast, typically less than 5ms to encrypt, so I’m not sure it is necessary.  I think we’ll find the limits on SP2014 strings before speed ever becomes an issue.. unless you are doing a large array.<br />
8) Help me think about the architecture for initializing the encryption engine then sticking it in the AppDomain.. is this the best method.  Should I have one instance per engine or should I have one per object to be really really really secure.<br />
9) And the biggy, generally poke some holes in the concept and structure.  As you have already guessed I am not a security expert so I may have some gaping holes that others can identify.  Let’s make this thing better.</p>
<p>For now I’ll just post the aaslib, the aapkg, and the DLL source code.  I’ll chat with some of the other aaOpenSource co-conspirators to figure out how to get this hosted on a nice Git repository or something that real software developers use.</p>
<p>AAPKG File - <a href="http://archestranaut.avidsolutionsinc.com/wp-content/uploads/2013/11/Example.zip">Example</a></p>
<p>DLL Code - <a href="http://archestranaut.avidsolutionsinc.com/wp-content/uploads/2013/11/Code.zip">Code</a></p>
<p>aaSlib File - <a href="http://archestranaut.avidsolutionsinc.com/wp-content/uploads/2013/11/aasLib.zip">aasLib</a></p>
<p>&nbsp;</p>
<p>Take care and …. what does the fox say?</p>
<p>&nbsp;</p>
<p>your loyal Archestranaut</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2013/11/the-first-aaopensource-tool-aaencryption/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Software Revolution&#8230;.. Day 1</title>
		<link>http://archestranaut.avidsolutionsinc.com/2013/10/software-revolution-day-1/</link>
		<comments>http://archestranaut.avidsolutionsinc.com/2013/10/software-revolution-day-1/#comments</comments>
		<pubDate>Wed, 16 Oct 2013 05:24:10 +0000</pubDate>
		<dc:creator>Andy Robinson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://archestranaut.avidsolutionsinc.com/?p=615</guid>
		<description><![CDATA[I won&#8217;t give you a blow  by blow of the day&#8230; checkout out my twitter feed (@archestranaut) for that.  I do want to talk about a few highlights that I still remember at almost midnight. The opening session was better than average I&#8217;d say.  Senior Management (apologies for not having the exact name) dispatched the [...]]]></description>
				<content:encoded><![CDATA[<p>I won&#8217;t give you a blow  by blow of the day&#8230; checkout out my twitter feed (@archestranaut) for that.  I do want to talk about a few highlights that I still remember at almost midnight.</p>
<p>The opening session was better than average I&#8217;d say.  Senior Management (apologies for not having the exact name) dispatched the elephant in the room pretty quickly by addressing the Schneider acquisition.  Long story short is that they are working through the hard parts but they don&#8217;t expect any issue.  No big surprise.. they certainly wouldn&#8217;t tip their hand if this thing were about to go off the rails&#8230; which I don&#8217;t think is going to happen.</p>
<p>Next was a rapid fire set of ideas and demos that would get deeper dives later.</p>
<p>Finally they had the typical cheeseball rah rah technology guy trying to get us all fired out.  I think the only reason this guy could spell Invensys was because it would be on the check he got for his appearance.  So you know what&#8217;s coming next right?  Wrong.  I thought he was fantastic.  Instead of talking about the soft mushies of thinking ahead and being brilliant.. and stuff&#8230; he brought our attention to the fact that we are really just on the cusp of a massive series of changes in technology that will alter the way we function.  What made him so good was that he used facts&#8230; not ideas&#8230; to drive the point home.  Example: 6 years ago IOS apps didn&#8217;t exist.  Let that sink in for a second.  Today if a vendor doesn&#8217;t have an app or at least mobile friendly website we bypass them.  Second, and this was a but of the mushy, was how he very successfully pointed out that most of us completely miss the fact that we are right in the middle of massive changes.  He used a few very good exercises to demonstrate the concept of being so focused on the details that we miss the gorilla walking into the room.. and yes the gorilla did walk into the room, on a video.  All in all he was definitely one of the better rah rah opening session speakers I&#8217;ve seen in a while.  BTW the guys name was Jack Uldrich.</p>
<p>On to the sessions.  I can sum up everything in two words&#8230; Holy COW (i did have a different word but I&#8217;m trying to keep it PG).  These guys have been really really busy.  For the System Platform people, the 2014 release is going to absolutely blow your mind.  I think is easily surpasses the 2.1 &#8211;&gt; 3.0 transition.  That was one major change, the graphics.  I&#8217;ll try to rattle off the changes they talked about but I know I will miss some:  no more alarm db logger (it&#8217;s integrated like history now),  global styling for graphics, locked exports so when the objects are imported the user can&#8217;t monkey with the template, InTouch Access Anywhere, huge efforts around situation awareness and high performance HMI (check out the book of the same name), lots of new features for better scripting (try-catch, autocomplete&#8230;.), huge scalability and speed improvements in Historian (2 million tags), historian data with process context (batch, overlay alarms, operator actions, etc.).  I am sure I&#8217;ve missed a bunch but you can tell the entire wonderware software team is incredibly energized.  I wrote a post a few years ago lamenting to snail&#8217;s pace of progress with innovation on System Platform.  I wonder now if they were just sitting on the track or were they crouched down ready to explode?  I think the latter is most certainly the case.</p>
<p>On the more personal front I&#8217;ve been having a good time meeting old friends and making new ones.  I&#8217;ll say that coming to the conference as a customer is a very different feel for me.  As an integrator I was always scratching and clawing to get a little attention and maybe have a nice conversation with a few higher ups.  As a customer I&#8217;ve found this to be much simpler.  I don&#8217;t know if it&#8217;s just a natural confluence of events or something has materially changed.  Either way it&#8217;s been fun so far.</p>
<p>Speaking of fun, @everdyners I&#8217;m going to have to file a protest over what Elliot Landrum is calling drunk tweeting in your feeble attempt to win the gift card.  I&#8217;ll be coming out swinging tomorrow so watch out <img src='http://archestranaut.avidsolutionsinc.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Finally I would be remiss if I didn&#8217;t mention a group of folks I chatted with quite a bit today and came away duly impressed.  I got to meet with a lot of the Genentech team members from their Vacaville facility.  Long story short is they removed the SCADA and Batch management layer from an old Moore APACS system and replaced with System Platform and InBatch.  The work these people did is nothing short of amazing.  Less than 48 hours after getting their window they were pushing the facility to get up and running to so they could see their masterpiece come to life.  They were aided along the way by the fact that Direktor was the Unix precursor to InBatch so the conversion process for 1100 recipes could be automated.  However, it&#8217;s really a story of creativity and lots of hard work and planning before cutover time.  I don&#8217;t know if their presentation will be published but if it is you will see a case study in bending InBatch into a pretzel to work with an existing system.  It&#8217;s really really neat.</p>
<p>Regards and I&#8217;ll try to provide an update form Day 2 tomorrow night.</p>
<p>- Andy</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://archestranaut.avidsolutionsinc.com/2013/10/software-revolution-day-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
