<?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>Thinking in G &#187; LabVIEW</title>
	<atom:link href="http://thinkinging.com/category/labview/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkinging.com</link>
	<description>an unfiltered stream of data flow consciousness</description>
	<lastBuildDate>Fri, 02 Oct 2009 23:51:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to list files in a LabVIEW 2009 executable app</title>
		<link>http://thinkinging.com/2009/10/02/how-to-list-files-in-a-labview-2009-executable-app/</link>
		<comments>http://thinkinging.com/2009/10/02/how-to-list-files-in-a-labview-2009-executable-app/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 23:46:47 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[I couldn't live without]]></category>
		<category><![CDATA[LabVIEW]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=776</guid>
		<description><![CDATA[In earlier LabVIEW versions (prior to LabVIEW 2009), you could list all the VIs inside a built LabVIEW application using the List Folder function.  This is a very useful feature, since you might want to dynamically open VI References or find *.lvclass (LabVIEW Class) files for loading plugins, etc.

However, in LabVIEW 2009 this no longer [...]]]></description>
			<content:encoded><![CDATA[<p>In earlier LabVIEW versions (prior to LabVIEW 2009), you could list all the VIs inside a built LabVIEW application using the List Folder function.  This is a very useful feature, since you might want to dynamically open VI References or find *.lvclass (LabVIEW Class) files for loading plugins, etc.</p>
<p><img class="aligncenter size-full wp-image-777" title="List Folder" src="http://thinkinging.com/wp-content/uploads/2009/10/List-Folder.png" alt="List Folder" width="262" height="186" /></p>
<p>However, in LabVIEW 2009 this no longer works.  But, there&#8217;s still hope.  It turns out that <strong>LabVIEW 2009 EXEs are basically just ZIP archives</strong>.</p>
<p>And, you can list the contents of LabVIEW 2009 EXE files, programmatically, using the <a href="http://wiki.openg.org/Oglib_lvzip">OpenG Zip Tools</a> library, as shown below:</p>
<p><img title="List LV2009 EXE File Contents" src="http://thinkinging.com/wp-content/uploads/2009/10/List-LV2009-EXE-File-Contents.png" alt="List LV2009 EXE File Contents" /></p>
<p><em>Note: The image above is a <a href="http://zone.ni.com/devzone/cda/tut/p/id/9330">VI Snippet</a> and you can just drag &amp; drop it into a LabVIEW 2009 block diagram (but, make sure to install the <a href="http://wiki.openg.org/Oglib_lvzip">OpenG Zip Tools</a></em><em> first). Or, download the VI File, here: <a href="http://thinkinging.com/wp-content/uploads/2009/10/List-LV2009-EXE-File-Contents.vi">List LV2009 EXE File Contents.vi</a></em></p>
<p>Voilà! Problem solved <img src='http://thinkinging.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I definitely <a href="http://thinkinging.com/category/openg/i-couldnt-live-without/">couldn&#8217;t live without</a> these handy VIs.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2009/10/02/how-to-list-files-in-a-labview-2009-executable-app/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>An easier way to use TortoiseSVN with LabVIEW</title>
		<link>http://thinkinging.com/2009/06/05/an-easier-way-to-use-tortoisesvn-with-labview/</link>
		<comments>http://thinkinging.com/2009/06/05/an-easier-way-to-use-tortoisesvn-with-labview/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 19:12:14 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[JKI]]></category>
		<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Source Code Control]]></category>
		<category><![CDATA[TortoiseSVN]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=740</guid>
		<description><![CDATA[I&#8217;m excited to tell everyone that the JKI Team has been hard at work on (and just announced) a tool to make using TortoiseSVN easier to use in your LabVIEW projects.  It&#8217;s called the JKI TortoiseSVN Tool for LabVIEW and allows you to use TortoiseSVN from directly within your LabVIEW projects and VIs, without having [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m excited to tell everyone that the JKI Team has been hard at work on (and <a href="http://blog.jkisoft.com/news/announcing-the-new-jki-tortoisesvn-tool-for-labview/">just announced</a>) a tool to make using TortoiseSVN easier to use in your LabVIEW projects.  It&#8217;s called the <a href="http://jkisoft.com/tortoisesvn-tool/">JKI TortoiseSVN Tool for LabVIEW</a> and allows you to use TortoiseSVN from directly within your LabVIEW projects and VIs, without having to find VIs on disk in Windows Explorer.</p>
<p>For more information, check out the <a href="http://blog.jkisoft.com/news/announcing-the-new-jki-tortoisesvn-tool-for-labview/">official announcement on the JKI Software Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2009/06/05/an-easier-way-to-use-tortoisesvn-with-labview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vote for LabVIEW features at ni.com</title>
		<link>http://thinkinging.com/2009/06/01/vote-for-labview-features-at-nicom/</link>
		<comments>http://thinkinging.com/2009/06/01/vote-for-labview-features-at-nicom/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 15:55:41 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[National Instruments]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=734</guid>
		<description><![CDATA[I&#8217;m excited about the new LabVIEW Idea Exchange where users can share and vote on ideas for LabVIEW features.  In fact, I&#8217;ve already posted an idea, Option for Disabled Structures to Not Use Default Value for Unwired Output Tunnels, which was taken from a previous post (a rant, really), here at Thinking in G.
I&#8217;m thankful [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m excited about the new <a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/idb-p/labviewideas">LabVIEW Idea Exchange</a> where users can <strong>share and vote on ideas for LabVIEW features</strong>.  In fact, I&#8217;ve already posted an idea, <em><a href="http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Option-for-Disabled-Structures-to-Not-Use-Default-Value-for/idi-p/917469#A14">Option for Disabled Structures to Not Use Default Value for Unwired Output Tunnels</a></em>, which was taken from a <a href="http://thinkinging.com/2008/05/11/the-diagram-disable-structure-causes-bugs/">previous post</a> (a rant, really), here at <em>Thinking in G</em>.</p>
<p>I&#8217;m thankful that NI is giving users ways to communicate ideas for how to improve LabVIEW, and I&#8217;m certain that this will really help in giving users a voice about pain points in LabVIEW that might not be readily apparent to NI.  This is yet another example (here are a <a href="http://blog.jkisoft.com/jki/opening-up-labview-for-third-party-add-ons-like-vi-tester/">couple</a> <a href="http://blog.jkisoft.com/news/announcing-the-jki-right-click-framework-for-labview/">more</a>) of how NI is working hard to open up LabVIEW and let the community participate in making LabVIEW better.</p>
<p>Kudos to NI and the great feature ideas that are already showing up on this powerful, new community tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2009/06/01/vote-for-labview-features-at-nicom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presenting Tomorrow at LabVIEW Dev Day (Boston)</title>
		<link>http://thinkinging.com/2009/05/18/presenting-tomorrow-at-labview-dev-day-boston/</link>
		<comments>http://thinkinging.com/2009/05/18/presenting-tomorrow-at-labview-dev-day-boston/#comments</comments>
		<pubDate>Mon, 18 May 2009 19:56:14 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[LabVIEW]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=732</guid>
		<description><![CDATA[Sorry for the late notice&#8230;
I&#8217;m going to be presenting tomorrow, at the LabVIEW Developer Day in Boston (Chelmsford).
I&#8217;m going to be discussing LabVIEW Code Reuse in the Enterprise and demonstrating some of the new Enterprise Package Repository Management features that are coming soon in the next release of VI Package Manager.
If you&#8217;re able to make [...]]]></description>
			<content:encoded><![CDATA[<p>Sorry for the late notice&#8230;</p>
<p>I&#8217;m going to be presenting tomorrow, at the <a href="http://sine.ni.com/apps/utf8/nievn.ni?action=display_offering&amp;offering_id=505533&amp;site=NIC&amp;region=ne&amp;node=61110&amp;l=US" target="_blank">LabVIEW Developer Day in Boston</a> (Chelmsford).</p>
<p>I&#8217;m going to be discussing <strong>LabVIEW Code Reuse in the Enterprise</strong> and demonstrating some of the new <a href="http://blog.jkisoft.com/products/vipm/a-early-look-at-vipm-enterprise-edition/" target="_blank">Enterprise Package Repository Management</a> features that are coming soon in the next release of VI Package Manager.</p>
<p>If you&#8217;re able to make it, I look forward to seeing you there.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2009/05/18/presenting-tomorrow-at-labview-dev-day-boston/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The coolest LabVIEW news in a long time</title>
		<link>http://thinkinging.com/2009/05/15/the-coolest-labview-news-in-a-long-time/</link>
		<comments>http://thinkinging.com/2009/05/15/the-coolest-labview-news-in-a-long-time/#comments</comments>
		<pubDate>Fri, 15 May 2009 09:15:50 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[JKI]]></category>
		<category><![CDATA[LabVIEW]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=730</guid>
		<description><![CDATA[Wow!!! LabVIEW Scripting (using LabVIEW to programmatically edit LabVIEW code) is going public and you&#8217;ll be able to created new LabVIEW features that extend the right-click menu of FP and BD objects.  Check out the lastest blog post on JKI Software for more details:

Announcing the JKI Right-Click Framework for LabVIEW

I&#8217;ve already created a few new right-click menu [...]]]></description>
			<content:encoded><![CDATA[<p>Wow!!! LabVIEW Scripting (<em>using LabVIEW to programmatically edit LabVIEW code</em>) is going public and you&#8217;ll be able to created new LabVIEW features that extend the right-click menu of FP and BD objects.  Check out the lastest blog post on JKI Software for more details:</p>
<ul>
<li><a title="Permanent link to Announcing the JKI Right-Click Framework for LabVIEW" rel="bookmark" href="http://blog.jkisoft.com/news/announcing-the-jki-right-click-framework-for-labview/">Announcing the JKI Right-Click Framework for LabVIEW</a></li>
</ul>
<p>I&#8217;ve already created a few new right-click menu features and it&#8217;s really fun and easy.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2009/05/15/the-coolest-labview-news-in-a-long-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m presenting at the 2009-02-18 Bay Area LabVIEW User Group Meeting</title>
		<link>http://thinkinging.com/2009/02/14/im-presenting-at-the-2009-02-18-bay-area-labview-user-group-meeting/</link>
		<comments>http://thinkinging.com/2009/02/14/im-presenting-at-the-2009-02-18-bay-area-labview-user-group-meeting/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 00:23:35 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[LabVIEW]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=720</guid>
		<description><![CDATA[
If you’re going to be in the San Francisco Bay Area next Wednesday evening (February 18th, 2009 at at 6pm), then be sure to come to the LabVIEW User Group Meeting at the NI Mountain View office.
I&#8217;ll be giving a demo of JKI’s new VI Tester and talking about ways to improve your software quality via unit testing. 
For [...]]]></description>
			<content:encoded><![CDATA[<div class="content entry-content">
<p>If you’re going to be in the San Francisco Bay Area next Wednesday evening (February 18th, 2009 at at 6pm), then be sure to come to the <a onclick="javascript:pageTracker._trackPageview('/outbound/article/sine.ni.com');" href="http://sine.ni.com/apps/utf8/nievn.ni?action=display_offering&amp;offering_id=508057&amp;site=NIC&amp;region=nca&amp;node=61110&amp;l=US">LabVIEW User Group Meeting</a> at the <a title="NI Mountain VIEW" onclick="javascript:pageTracker._trackPageview('/outbound/article/maps.google.com');" href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;gl=us&amp;q=National+Instruments+mountain+view&amp;ie=UTF8&amp;hl=en&amp;sll=37.409912,-122.082697&amp;sspn=0.020783,0.021327&amp;ei=8HGTSdTfM5vUjQO2ndmNDQ&amp;sig2=ZTtbbmurUxQeXqKhpJ0l1w&amp;cd=1&amp;cid=37409912,-122082697,17566627608454005020&amp;li=lmd&amp;z=14&amp;t=m">NI Mountain View office</a>.</p>
<p>I&#8217;ll be giving a demo of JKI’s new <a href="http://jkisoft.com/vi-tester">VI Tester</a> and talking about <strong>ways to improve your software quality via unit testing</strong>. </p>
<p>For more details, see the <a onclick="javascript:pageTracker._trackPageview('/outbound/article/sine.ni.com');" href="http://sine.ni.com/apps/utf8/nievn.ni?action=display_offering&amp;offering_id=508057&amp;site=NIC&amp;region=nca&amp;node=61110&amp;l=US">meeting agenda page</a>.</p>
<p>I hope to see you there!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2009/02/14/im-presenting-at-the-2009-02-18-bay-area-labview-user-group-meeting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing the JKI Software Blog</title>
		<link>http://thinkinging.com/2009/01/31/introducing-the-jki-software-blog/</link>
		<comments>http://thinkinging.com/2009/01/31/introducing-the-jki-software-blog/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 21:41:56 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[JKI]]></category>
		<category><![CDATA[LabVIEW]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=705</guid>
		<description><![CDATA[Recently, JKI announced the new JKI Software Blog.  I wanted to make sure that all of you, the readers of Thinking in G, knew about this great new resource on LabVIEW.  But, I also wanted to explain how the JKI Software Blog relates to this blog, Thinking in G.
Over the years that I&#8217;ve been blogging [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, <a href="http://jkisoft.com/">JKI</a> announced the new <a href="http://blog.jkisoft.com">JKI Software Blog</a>.  I wanted to make sure that all of you, the readers of <em>Thinking in G</em>, knew about this great new resource on LabVIEW.  But, I also wanted to explain how the JKI Software Blog relates to this blog, <em>Thinking in G.</em></p>
<p>Over the years that I&#8217;ve been blogging here at <em>Thinking in G</em>, many of my posts have related to the software products of JKI, such as <a href="http://jkisoft.com/vipm">VIPM</a>, <a href="http://jkisoft.com/easyxml">EasyXML</a>, and the <a href="http://jkisoft.com/state-machine/">JKI State Machine</a>.  But, from now on, I&#8217;m going to be posting JKI-related articles on the JKI Software Blog.</p>
<p>The goal of this change is to:</p>
<ol>
<li>draw a more clear line between my own personal thoughts on LabVIEW and the messages coming from JKI, and</li>
<li>encourage other <a href="http://jkisoft.com/about/">JKI team</a> members to post articles (on the JKI Software Blog) that relate to JKI and LabVIEW.</li>
</ol>
<p>Hopefully, this means more great articles about LabVIEW for all of you.  I know for a fact that the JKI team has a <strong>LOT</strong> of great stuff planned for 2009, so stay tuned in to the <em>JKI Software Blog</em>.</p>
<p><em>For more information about the JKI Software Blog, visit <a href="http://blog.jkisoft.com">blog.jkisoft.com</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2009/01/31/introducing-the-jki-software-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When to commit changed VIs caused by type definition changes</title>
		<link>http://thinkinging.com/2008/11/10/when-to-commit-changed-vis-caused-by-type-definition-changes/</link>
		<comments>http://thinkinging.com/2008/11/10/when-to-commit-changed-vis-caused-by-type-definition-changes/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 08:03:40 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[Source Code Control]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=696</guid>
		<description><![CDATA[In LabVIEW, whenever you change a TypeDef (type definition) any VIs that use the TypeDef will require recompiling and need to be saved.  This presents a problem for developers working on a large project with other developers who might be working on code that &#8220;feels&#8221; the effects of the changed TypeDef.
So, how do you deal [...]]]></description>
			<content:encoded><![CDATA[<p>In LabVIEW, <strong>whenever you change a TypeDef (type definition) any VIs that use the TypeDef will require recompiling and need to be saved</strong>.  This presents a problem for developers working on a large project with other developers who might be working on code that &#8220;feels&#8221; the effects of the changed TypeDef.</p>
<p>So, <strong>how do you deal with all the unsaved VIs in your project</strong> that are not in an area that you &#8220;own&#8221;?  If you don&#8217;t save them, then LabVIEW will keep bugging you to save the VIs.  And, sometimes your LabVIEW code will even run slower until you save all your VIs.  But, if you do save these VIs, then it&#8217;s hard to tell which VIs that you&#8217;ve saved have &#8220;real&#8221; changes and not just recompile changes.  And, if you commit all the changed VIs, then you might increase the likelihood of creating a conflict with other developers.</p>
<p>Here&#8217;s a good process you can follow to deal with this issue:</p>
<ol>
<li>First, <strong>commit your real changes</strong>, separate from the recompile changes.  This will give you a specific svn revision (changeset) associated with your real changes.</li>
<li>Then, <strong>save all the recompiled VIs and commit them</strong>.  For your commit log message, use &#8220;Recompiled due to typedef changes&#8221; (or similar).  This will indicate to other developers that the changes can be ignored, in the event that this revision conflicts with their own changes.</li>
<li>Finally, <strong>Alert your team</strong> that you have committed a recompile of code (with no real changes).  They can then easily resolve any conflicts, because they know that the commit contains no real changes.</li>
</ol>
<p>Now, if you know that other team members are actively working on the code and you don&#8217;t want to inconvenience them with having to deal with conflicts, you can defer the recompile until a later time or schedule a time for the recompile with your team.</p>
<p>Note: Even if you use a locking system (such as svn locks or a check-in/check-out SCC model) where files for which you don&#8217;t have the lock are read-only, you will still have the slow-down issue and will periodically want to do save all to recompile.</p>
<p>Have you had this issue?  What solution or process do you use?</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2008/11/10/when-to-commit-changed-vis-caused-by-type-definition-changes/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>The JKI State Machine makes its public debut</title>
		<link>http://thinkinging.com/2008/10/13/the-jki-state-machine-makes-its-public-debut/</link>
		<comments>http://thinkinging.com/2008/10/13/the-jki-state-machine-makes-its-public-debut/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 06:50:31 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[Code Reuse]]></category>
		<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[LabVIEW Tips]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=624</guid>
		<description><![CDATA[I&#8217;m very happy to announce that JKI has released the JKI State Machine™ to the public as a free download.  This is the very same template that is used by the JKI team, nearly every day, in our products and various projects.

This tool is the direct result of putting some of the best LabVIEW minds [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very happy to announce that JKI has released the <a href="http://jkisoft.com/state-machine/">JKI State Machine</a>™ to the public as a free download.  This is the very <span style="font-weight: bold;">same template that is used by the JKI team</span>, nearly every day, in our products and various projects.</p>
<p><img class="aligncenter" title="JKI State Machine palette" src="http://jkisoft.com/state-machine/docs/JKI_State-Machine_Palette.png" alt="" width="174" height="114" /></p>
<p>This tool is the direct result of putting some of the best LabVIEW minds together for several years, tasked with the challenge of creating a LabVIEW architectural design pattern that would allow easy coding, readability, and maintenance.  As you might imagine the JKI team has created something truly special that we hope will have a significant impact on LabVIEW users everywhere.</p>
<p>This has been in the works for quite some time and we&#8217;re excited that the time has finally come to share this tool with you, now.</p>
<p>Please take this challenge:</p>
<ol>
<li><a href="http://jkisoft.com/state-machine/download/">Download and install</a> the JKI State Machine.</li>
<li>Watch this great <a href="http://forums.jkisoft.com/index.php?showforum=49">video tutorial</a>.</li>
<li>Take a look at how we <a href="http://forums.jkisoft.com/index.php?showtopic=892">refactored the 3-button dialog</a> (VI that ships with LabVIEW) using the JKI State Machine.</li>
<li><a href="http://forums.jkisoft.com/index.php?showforum=46">Tell us what you think</a>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2008/10/13/the-jki-state-machine-makes-its-public-debut/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Planning for software reuse is easy &#8212; mining is hard</title>
		<link>http://thinkinging.com/2008/09/17/planning-for-software-reuse-is-easy-mining-is-hard/</link>
		<comments>http://thinkinging.com/2008/09/17/planning-for-software-reuse-is-easy-mining-is-hard/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 17:17:23 +0000</pubDate>
		<dc:creator>Jim Kring</dc:creator>
				<category><![CDATA[Code Reuse]]></category>
		<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[LabVIEW Tips]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://thinkinging.com/?p=574</guid>
		<description><![CDATA[One of the best places to find reusable code is in your old projects.  However, &#8220;mining&#8221; your old projects for &#8220;reuse gems&#8221; (sorting through every VI, looking for sparkly little gems of general-purpose code that have immense value) is simply not an effective use of time or energy.

For example, if you were a miner looking [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">One of the best places to find reusable code is in your old projects.  However, <strong>&#8220;mining&#8221; your old projects for &#8220;reuse gems&#8221;</strong> (sorting through every VI, looking for sparkly little gems of general-purpose code that have immense value) <strong>is simply not an effective use of time or energy</strong>.</p>
<p class="MsoNormal" style="text-align: center;"><img class="aligncenter size-full wp-image-576" title="diamonds" src="http://thinkinging.com/wp-content/uploads/2008/09/diamonds.jpg" alt="" width="400" height="211" /></p>
<p class="MsoNormal">For example, if you were a miner looking for precious minerals, you would wouldn’t roam the countryside digging random holes in the ground.  Rather, you would work smart &#8212; you would <strong>try to identify a geographic location with a very high natural concentration of precious minerals</strong> (based on a variety of clues).  Guess what?  This is exactly how you should mine for reusable code in your past projects.  But, where do you start looking and what are the clues that will lead you to those reuse gems?</p>
<p class="MsoNormal"><strong>Here&#8217;s the secret</strong>:</p>
<blockquote>
<p class="MsoNormal"><em>While writing code, when you identify that you are writing a VI that is generic and has the potential to be reused, save it inside a sub-folder of your project folder called &#8220;Reusable VIs&#8221;.</em></p>
</blockquote>
<p class="MsoNormal">If you adhere to this strategy, it will be very easy for you to come back later and find your reuse gems.  And, before you know it, you will have what resembles a reuse library.  Best of all, you didn&#8217;t even have to get your hands too dirty.</p>
<p class="MsoNormal"><em>Note: As your reuse library grows (which it will if you use the planning techniques described above), you&#8217;ll need to start thinking about how to utilize your reuse library on multiple projects and share these VIs with other developers.  Make sure you don&#8217;t get stuck in the <a href="http://thinkinging.com/2008/06/09/monolithic-vs-modular-software-reuse-libraries-part-ii/">pitfalls of a monolithic reuse library</a> caused by copying your reuse library from project to project or by using the same version of your reuse library on each project.  Create a <a href="http://jkisoft.com/vipm/guide/">VI Package</a> and install your reuse library in your palettes using <a href="http://jkisoft.com/vipm/">VIPM</a> &#8212; it&#8217;s easy and simple. </em></p>
<p class="MsoNormal">I&#8217;d love to hear your feedback, so please feel free to leave a comment.  For example:</p>
<ul>
<li>Do you have a folder in your project where you put new, reusable VIs?</li>
<li>Do you think that this is a good idea, or do you have a better strategy?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://thinkinging.com/2008/09/17/planning-for-software-reuse-is-easy-mining-is-hard/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>
