<?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 Open Source U &#187; Tips</title>
	<atom:link href="http://blog.theopensourceu.com/category/tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.theopensourceu.com</link>
	<description>An Open-Source Discovery/Education Blog</description>
	<lastBuildDate>Fri, 07 May 2010 18:39:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>List Users in a Linux Server</title>
		<link>http://blog.theopensourceu.com/2010/04/list-users-in-a-linux-server/</link>
		<comments>http://blog.theopensourceu.com/2010/04/list-users-in-a-linux-server/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 18:27:56 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.theopensourceu.com/?p=909</guid>
		<description><![CDATA[At some point during the weekend, I needed to pull a list of existing users on my Linux server. While I expected this to be a trivial task, it took me sometime to come up with the solution. Part of the problem, ironically, is that it is easy to do but done in an unexpected [...]]]></description>
			<content:encoded><![CDATA[<p>At some point during the weekend, I needed to pull a list of existing users on my Linux server. While I expected this to be a trivial task, it took me sometime to come up with the solution.</p>
<p>Part of the problem, ironically, is that it is easy to do but done in an unexpected way. Basically, you accomplish it via the <code class="codecolorer text default"><span class="text">passwd</span></code> file.</p>
<p>Simply execute the following (on the console, as this is a server and I wouldn&#8217;t expect it to have a GUI).</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">passwd</span></div></div>
<p>I originally pulled this information from: <a title="Original Source" href="http://www.linuxquestions.org/questions/linux-software-2/get-a-list-of-linux-users-179102/">http://www.linuxquestions.org/questions/linux-software-2/get-a-list-of-linux-users-179102/</a></p>
<p><em>Note:</em> I didn&#8217;t definitively explore all of the possible ways one could accomplish this. Once I found this method that effectively gave me the information I was after, I quit looking. If you have additional methods, please post a comment below and I will work it in to the article citing you (and linking to your site) as the source. I would truly appreciate any and all additional methods &#8212; even if specific to a distribution.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2010/04/list-users-in-a-linux-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common Linux Server Administration Commands Summary</title>
		<link>http://blog.theopensourceu.com/2010/04/common-linux-server-administration-commands-summary/</link>
		<comments>http://blog.theopensourceu.com/2010/04/common-linux-server-administration-commands-summary/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 15:13:03 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Command-Line]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://blog.theopensourceu.com/?p=908</guid>
		<description><![CDATA[One of the most difficult aspects of starting to use Linux&#8211; a server distribution in particular &#8212; is remembering all of the different command line programs that exist in order to aid your work. Obviously, man is a great reference but that is actually difficult to use when getting started as it itself is a [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most difficult aspects of starting to use Linux&#8211; a server distribution in particular &#8212; is remembering all of the different command line programs that exist in order to aid your work.</p>
<p>Obviously, <code class="codecolorer text default"><span class="text">man</span></code> is a great reference but that is actually difficult to use when getting started as it itself is a command line program. I was searching for a command to list all of the users on a system (I found it and will post a brief article on that soon) and I stumbled across this, so I wanted to share it (as well as retain it for future reference.)</p>
<p><a title="Really Linux - Admin Command Line Documentation" href="http://www.reallylinux.com/docs/admin.shtml">http://www.reallylinux.com/docs/admin.shtml</a></p>
<p>This covers such things as:</p>
<ul>
<li>Networking information / status (<code class="codecolorer text default"><span class="text">arp</span></code>, <code class="codecolorer text default"><span class="text">ifconfig</span></code>, <code class="codecolorer text default"><span class="text">netstat</span></code>, etc)</li>
<li>File system information (<code class="codecolorer text default"><span class="text">df</span></code>)</li>
<li>Disk Size / utilization information (<code class="codecolorer text default"><span class="text">du</span></code>)</li>
<li>How to search for files with <code class="codecolorer text default"><span class="text">find</span></code></li>
<li>Easy-to-use console text editors (<code class="codecolorer text default"><span class="text">nano</span></code>, <code class="codecolorer text default"><span class="text">joe</span></code>)</li>
<li>Process management / information (<code class="codecolorer text default"><span class="text">ps</span></code>, <code class="codecolorer text default"><span class="text">top</span></code>)</li>
</ul>
<p>In addition to listing the commands, it lists common usage scenarios and command line flags of note.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2010/04/common-linux-server-administration-commands-summary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Violet UML Editor</title>
		<link>http://blog.theopensourceu.com/2010/03/violet-uml-editor/</link>
		<comments>http://blog.theopensourceu.com/2010/03/violet-uml-editor/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 22:17:52 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Design Tip]]></category>
		<category><![CDATA[Graduate School]]></category>
		<category><![CDATA[Open Source Project]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Grad-School]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SourceForge]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://theopensourceu.com/?p=570</guid>
		<description><![CDATA[I use UML to do quick brain storming and when exploring software. While I&#8217;ve not posted many write ups here (grad-school!),  I generally don&#8217;t want to invest a lot of time in my UML diagrams and only sometimes do I even want to save them. Often times, especially lately, I&#8217;ve been drawing on a whiteboard [...]]]></description>
			<content:encoded><![CDATA[<p>I use UML to do quick brain storming and when exploring software. While I&#8217;ve not posted many write ups here (grad-school!),  I generally don&#8217;t want to invest a lot of time in my UML diagrams and only sometimes do I even want to save them.</p>
<p>Often times, especially lately, I&#8217;ve been drawing on a whiteboard that I keep in my office.  I find this to be efficient (even over paper because I&#8217;d end up throwing it away).</p>
<p><a href="http://www.horstmann.com/design_and_patterns.html"><img class="alignright" title="OO Design &amp; Patterns, 2nd Ed Book Cover" src="http://www.horstmann.com/oodp2/oodp2.jpg" alt="OO Design &amp; Patterns, 2nd Ed Book Cover" width="270" height="333" /></a>In one of my current grad-school classes, we are using &#8220;<a title="Object-Oriented Design &amp; Patterns" href="http://www.horstmann.com/design_and_patterns.html">Object-Oriented Design &amp; Patterns</a>&#8221; by <a href="http://www.horstmann.com/">Cay S. Horstmann</a> as the class text book. I&#8217;ve enjoyed the book and it provides some decent examples. I bring the book up because apparently the author of the book created a UML package called <a title="Violet UML Software" href="http://violet.sourceforge.net/">Violet UML</a>. I&#8217;ve found this to be the best software based UML brain-storming software I&#8217;ve ever found. Here are my reasons:</p>
<ul>
<li>It loads quickly</li>
<li>I can efficiently draw diagrams without warnings or complex menus to navigate though.</li>
<li>The lack of UML rules enforcement means that I can draw partial diagrams; diagrams that mean nothing out of context.</li>
<li>It&#8217;s open source</li>
<li>So far, its more stable / reliable to <a title="ArgoUML at Tigris.org" href="http://argouml.tigris.org/">ArgoUML</a></li>
</ul>
<p>If you are looking for a UML package, I must recommend this. I searched and searched for a UML package a while back and I never came up with this. I looked at everything, no matter what and still never found it. So, if you like it, please spread the word (via your own blog, twitter, facebook, etc). I think it is well done software and worth some attention.</p>
<p><a title="Violet UML Software" href="http://violet.sourceforge.net/">http://violet.sourceforge.net/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2010/03/violet-uml-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ORM patterns which are &#8216;Invisible to the eye&#8217;</title>
		<link>http://blog.theopensourceu.com/2010/02/orm-patterns-which-are-invisible-to-the-eye/</link>
		<comments>http://blog.theopensourceu.com/2010/02/orm-patterns-which-are-invisible-to-the-eye/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 21:44:48 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Design Tip]]></category>
		<category><![CDATA[Graduate School]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[DVCS]]></category>
		<category><![CDATA[Grad-School]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://theopensourceu.com/?p=559</guid>
		<description><![CDATA[The more I work with design patterns*, the more I come to respect them as a design tool. For grad-school, I&#8217;m writing a DVCS and I needed some information on ORM patterns. While I&#8217;m not sure if this is a real term, I Googled it and found a great article on Invisible to the eye. [...]]]></description>
			<content:encoded><![CDATA[<p>The more I work with design patterns*, the more I come to respect them as a design tool. For grad-school, I&#8217;m writing a DVCS and I needed some information on ORM patterns. While I&#8217;m not sure if this is a real term, I Googled it and found a great article on <a title="Invisible to the Eye (blogspot)" href="http://giorgiosironi.blogspot.com/">Invisible to the eye</a>.</p>
<p>The article can be found at: <a title="10 orm patterns: components of a object-relational mapper @ Invisible to the eye" href="http://giorgiosironi.blogspot.com/2009/08/10-orm-patterns-components-of-object.html">http://giorgiosironi.blogspot.com/2009/08/10-orm-patterns-components-of-object.html</a></p>
<p>For my project, I&#8217;m mainly interested in the <a title="P of EAA: DataMapper" href="http://martinfowler.com/eaaCatalog/dataMapper.html">Data Mapper</a> and the <a title="P of EAA: Table Data Gateway" href="http://martinfowler.com/eaaCatalog/tableDataGateway.html">Table Data Gateway</a>. Both are patterns from <a title="Martin Fowler's Web Site" href="http://martinfowler.com/">Martin Folwer&#8217;s</a> book <a title="Patterns of Enterprise Application Architecture" href="http://martinfowler.com/books.html#eaa">Patterns of Enterprise Application Architecture</a>.</p>
<p>While I&#8217;ve not read the book yet, I think I might&#8230; After classes&#8230;. Anyway, I mostly wanted to share on the 10 ROM patterns listed at Invisible to the eye.</p>
<p>*If  you&#8217;d like a good intro to design patterns, I love <a title="Prev. reference to Head First Design Patterns on tOSU" href="http://theopensourceu.com/2009/01/plans-for-the-open-source-u/">Head First Design Patterns</a></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<h1 class="title">Invisible to the eye</h1>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2010/02/orm-patterns-which-are-invisible-to-the-eye/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using COALESCE to Build Comma-Delimited String directly in SQL</title>
		<link>http://blog.theopensourceu.com/2009/10/using-coalesce-to-build-comma-delimited-string/</link>
		<comments>http://blog.theopensourceu.com/2009/10/using-coalesce-to-build-comma-delimited-string/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 18:46:50 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://theopensourceu.com/?p=488</guid>
		<description><![CDATA[The following article covers a great should-know piece of information for any SQL Server developer. Though, comma delimited strings are not usually desired in database, it can be nice to receive data this way for things like embedding in to a query string or passing over a web service*. http://www.sqlteam.com/article/using-coalesce-to-build-comma-delimited-string *I don&#8217;t necessarily suggest the [...]]]></description>
			<content:encoded><![CDATA[<p>The following article covers a great should-know piece of information for any SQL Server developer. Though, comma delimited strings are not usually desired in database, it can be nice to receive data this way for things like embedding in to a query string or passing over a web service*.</p>
<p><a title="Build a Comma-Delimited string on SQL Server with SQL!" href="http://www.sqlteam.com/article/using-coalesce-to-build-comma-delimited-string">http://www.sqlteam.com/article/using-coalesce-to-build-comma-delimited-string</a></p>
<p>*<small>I don&#8217;t necessarily suggest the web service idea. I was just saying for illustrative purposes&#8230;</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2009/10/using-coalesce-to-build-comma-delimited-string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Memory Performance</title>
		<link>http://blog.theopensourceu.com/2009/10/python-memory-performance/</link>
		<comments>http://blog.theopensourceu.com/2009/10/python-memory-performance/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 16:32:05 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://theopensourceu.com/?p=487</guid>
		<description><![CDATA[I&#8217;ve been studying Python because it is extensively used in open source projects to script certain types of work or actions. I think Mozilla uses it to verify build time requirements, for example. But, python itself is a full fledged programming language &#8212; not really a scripting language. In fact, Mercurial is written in Python [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been studying Python because it is extensively used in open source projects to script certain types of work or actions. I think Mozilla uses it to verify build time requirements, for example.</p>
<p>But, python itself is a full fledged programming language &#8212; not really a scripting language. In fact, Mercurial is written in Python which at first amazed me.</p>
<p>So, anyway as part of my pursuit of studying Firefox, I thought I should (at least) learn the basics of Python so that I could read any relevant scripts. Python is quite different from other languages I&#8217;ve encountered.</p>
<p>One thing I started to notice about python is that it seems to use more memory. I&#8217;m not sure, nor am I suggesting that it uses more than other languages. I just noticed that memory consumption seemed to grow rapidly when running a python script.</p>
<p>The following article seems to explain why. Instantiating a class is expensive. <a title="Python Memory Usage: What values are taking up so much memory?" href="http://www.valuedlessons.com/2008/10/blog-post.html">According to the article</a>, a class is 336 bytes. Since in general, a class will use multiple other classes, I can see why memory consumption was growing rapidly.</p>
<p>Ultimately, I don&#8217;t think it matters. You just need to be aware that it happens. A modern computer will run the script without any notice to this phenomenon. You&#8217;d need to create a lot of objects to cause a problem. But I do beleive it is worth acknowledge that it happens so that you can be aware of the memory usage. It&#8217;s mostly noticeable on my work computer (the company provided) which only has 1 GBs of RAM (it runs Windows XP).</p>
<p><a title="Python Memory Usage: What values are taking up so much memory?" href="http://www.valuedlessons.com/2008/10/blog-post.html">http://www.valuedlessons.com/2008/10/blog-post.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2009/10/python-memory-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debug VBScript with Visual Studio</title>
		<link>http://blog.theopensourceu.com/2009/05/debug-vbscript-with-visual-studio/</link>
		<comments>http://blog.theopensourceu.com/2009/05/debug-vbscript-with-visual-studio/#comments</comments>
		<pubDate>Fri, 22 May 2009 02:25:23 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[DTS Packages]]></category>
		<category><![CDATA[VBScript]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://theopensourceu.com/?p=309</guid>
		<description><![CDATA[How to debug VBScript code with an instance of Visual Studio]]></description>
			<content:encoded><![CDATA[<p>For a project that I work on at at my primary employer, we use VBScript inside of DTS packages. Until this project, I&#8217;ve not had too much experience with VBScript. What I&#8217;ve found most frustrating about the language is the inability to step though the code&#8230; until a recent discovery.  I&#8217;ve found that if I save the target code to my local machine as a VBS file and execute it with WScript.exe, I can attach a debugger to it.</p>
<p>I&#8217;ve discovered this by poking around and I don&#8217;t know too much about WScript.exe. I&#8217;m sure if you Google it, you can find more about it.</p>
<p>For this to work, you&#8217;ll need a copy of Visual Studio installed. I am not sure if any of the express editions will work. Drop a line in the comments if you find it will.  As a quick walk though:</p>
<ol>
<li>Save your code as a VBS file. Don&#8217;t forget to call Main (or your main) function as wscript won&#8217;t automatically call main.</li>
<li>Open a command prompt.</li>
<li>Navigate to the location of the file.</li>
<li>Type: <em>WScript.exe FileName.vbs //D //X</em></li>
<li>You should be prompted to select a debugger, select a new instance of either Visual Studio 2003, 2005 or 2008.</li>
<li>Visual studio will open up and break at the very first line.</li>
<li>Step though the code.</li>
</ol>
<p>For an example, save the following as &#8220;Example.vbs&#8221; on your desktop.</p>
<div class="codecolorer-container vb default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br /></div></td><td><div class="vb codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">MsgBox <span style="color: #800000;">&quot;Starting Script!&quot;</span><br />
<span style="color: #000080;">Dim</span> i : i = 0<br />
<span style="color: #000080;">Const</span> C_Max = 100<br />
<span style="color: #000080;">Dim</span> sPrimeNumberList : sPrimeNumberList = <span style="color: #800000;">&quot;Prime Numbers: &quot;</span> &amp;amp; vbCrLf<br />
<span style="color: #000080;">For</span> i = 0 <span style="color: #000080;">to</span> C_Max<br />
&nbsp; <span style="color: #000080;">If</span> IsNumberPrimeNumber(i) <span style="color: #000080;">Then</span><br />
&nbsp; &nbsp; &nbsp;sPrimeNumberList = sPrimeNumberList &amp;amp; <span style="color: #000080;">cStr</span>(i) &amp;amp; <span style="color: #800000;">&quot;, &quot;</span><br />
&nbsp; <span style="color: #000080;">End</span> <span style="color: #000080;">If</span><br />
<span style="color: #000080;">Next</span><br />
MsgBox sPrimeNumberList<br />
MsgBox <span style="color: #800000;">&quot;Script Completed.&quot;</span><br />
<br />
<span style="color: #000080;">Public</span> <span style="color: #000080;">Function</span> IsNumberPrimeNumber(<span style="color: #000080;">ByVal</span> iNumber)<br />
<span style="color: #000080;">Dim</span> bIsPrime : bIsPrime = <span style="color: #000080;">True</span><br />
<span style="color: #000080;">For</span> j = 2 <span style="color: #000080;">To</span> iNumber\2<br />
&nbsp; bIsPrime = iNumber <span style="color: #000080;">Mod</span> j &amp;gt; 0<br />
&nbsp; <span style="color: #000080;">If</span> <span style="color: #000080;">Not</span> bIsPrime <span style="color: #000080;">Then</span> <span style="color: #000080;">Exit</span> <span style="color: #000080;">For</span><br />
<span style="color: #000080;">Next</span><br />
IsNumberPrimeNumber = bIsPrime<br />
<span style="color: #000080;">End</span> <span style="color: #000080;">Function</span></div></td></tr></tbody></table></div>
<p>Open a command prompt and navigate to your desktop:</p>
<div id="attachment_312" class="wp-caption aligncenter" style="width: 687px"><a rel="attachment wp-att-312" href="http://theopensourceu.com/2009/05/debug-vbscript-with-visual-studio/command-prompt-example-vbs/"><img class="size-full wp-image-312" title="Command Prompt for Debugging VBScript from Visual Studio" src="http://theopensourceu.com/wp-content/uploads/2009/05/command-prompt-example-vbs.png" alt="Command Prompt for Debugging VBScript from Visual Studio" width="677" height="340" /></a><p class="wp-caption-text">Command Prompt for Debugging VBScript from Visual Studio</p></div>
<p>Once there, type in the following:</p>
<div class="codecolorer-container winbatch default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="winbatch codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;wscript Example.vbs <span style="color: #66cc66;">//</span>D <span style="color: #66cc66;">//</span>X</div></td></tr></tbody></table></div>
<p>You should then be presented with a dialog similar to the following:</p>
<div id="attachment_317" class="wp-caption aligncenter" style="width: 287px"><a rel="attachment wp-att-317" href="http://theopensourceu.com/2009/05/debug-vbscript-with-visual-studio/visual-studio-debugger-vbscript/"><img class="size-medium wp-image-317" title="Visual Studio Debugging VBScript" src="http://theopensourceu.com/wp-content/uploads/2009/05/visual-studio-debugger-vbscript-277x300.png" alt="Visual Studio Debugging VBScript" width="277" height="300" /></a><p class="wp-caption-text">Visual Studio Debugging VBScript</p></div>
<p>Once you make a selection, you should get something like the following:</p>
<div id="attachment_318" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-318" href="http://theopensourceu.com/2009/05/debug-vbscript-with-visual-studio/debugging-vbscript-visual-studio/"><img class="size-medium wp-image-318" title="Debugging VBScript from Visual Studio" src="http://theopensourceu.com/wp-content/uploads/2009/05/debugging-vbscript-visual-studio-300x236.png" alt="Debugging VBScript from Visual Studio" width="300" height="236" /></a><p class="wp-caption-text">Debugging VBScript from Visual Studio</p></div>
<p>From here, I&#8217;ll assume you are familiar enough with Visual Studio to play with the debugger and learn how it works. When debugging VBScript, I&#8217;ve found that you don&#8217;t have all the options that you might be used to such as Step In To, but for me simply having this much is a life saver.</p>
<p>To <strong>get around the step-in-to thing</strong>, I simply use <strong>Run to Cursor</strong>. It works like a charm.</p>
<p><strong>Update:</strong> I just found that (at least on this computer) and in Visual Studio 2003, I have all my standard code-stepping buttons available. I&#8217;m not sure why on my work computer I only have Step-Over but either way, this is still a life saver.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2009/05/debug-vbscript-with-visual-studio/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Object Relational Mapping &gt; A &#8216;Design Pattern&#8217; Solution</title>
		<link>http://blog.theopensourceu.com/2009/04/object-relational-mapping-a-design-pattern-solution/</link>
		<comments>http://blog.theopensourceu.com/2009/04/object-relational-mapping-a-design-pattern-solution/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 20:44:27 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Design Tip]]></category>
		<category><![CDATA[Data Model]]></category>
		<category><![CDATA[Decorator Pattern]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[Strategy Pattern]]></category>

		<guid isPermaLink="false">http://theopensourceu.com/?p=193</guid>
		<description><![CDATA[There has been a lot written about Object Relational Mapping &#8212; or ORM but I came up with a design that I intend to apply to my own projects and wanted to publish and share the idea. This idea was my own; when I wrote this I hadn&#8217;t seen this idea published elsewhere. However, the [...]]]></description>
			<content:encoded><![CDATA[<p>There has been a lot written about Object Relational Mapping &#8212; or ORM but I came up with a design that I intend to apply to my own projects and wanted to publish and share the idea.</p>
<p>This idea was my own; when I wrote this I hadn&#8217;t seen this idea published elsewhere. However, the idea is derived from a set of very common design patterns. It would not surprise me in the least if another designer/developer already implemented a similar idea. However, I digress&#8230;</p>
<h2>Preliminary Information</h2>
<p>The ORM is a method to take data stored in a relational database-type structure and represent the same data as object orientated classes.</p>
<p>I feel that the ten thousand foot level the idea is straight-forward. Assume that we are using the MVC (Model-View-Controller) design pattern for your application.  Furthermore, lets assume that we&#8217;ve got a simple object to which will represent our Model (part of the MVC).</p>
<p>Lets assume our model object is the following:</p>
<div id="attachment_228" class="wp-caption aligncenter" style="width: 245px"><a rel="attachment wp-att-228" href="http://theopensourceu.com/2009/04/object-relational-mapping-a-design-pattern-solution/classdiagram1/"><img class="size-full wp-image-228" title="Data Model Example" src="http://theopensourceu.com/wp-content/uploads/2009/04/classdiagram1.png" alt="Data Model Example" width="235" height="322" /></a><p class="wp-caption-text">Data Model Example</p></div>
<p>The idea is to take a mix of the strategy and the decorator pattern. The strategy pattern is a design pattern that allows you to define the interface for an algorithm which can be different depending on the implementation.</p>
<p>The idea of the decorator pattern is to simply add responsibility to a class (through inheritance). My ORM is a combination of the two patterns.</p>
<h2>The Design &#8211; a Class Diagram</h2>
<p>The pattern is simple.</p>
<div id="attachment_233" class="wp-caption alignleft" style="width: 413px"><a rel="attachment wp-att-233" href="http://theopensourceu.com/2009/04/object-relational-mapping-a-design-pattern-solution/objectdiagramwithpattern/"><img class="size-full wp-image-233" title="Diagram with OR Design" src="http://theopensourceu.com/wp-content/uploads/2009/04/objectdiagramwithpattern.png" alt="Diagram with OR Design" width="403" height="540" /></a><p class="wp-caption-text">Diagram with OR Design</p></div>
<p>We use the interface to represent the ability to write out or read in with the Encoder. You&#8217;d implement the interface on to a derived class of the target class.</p>
<p>Why do we implement this interface on a derived class? Strictly speaking, we don&#8217;t have to. Though, this is intentional and part of the pattern that I&#8217;m trying to describe. This is the part of the strategy pattern working for us. This would allow us to implement different encoders for different types of storage mediums.</p>
<p>This means that we could create a set for SQL server, XML and perhaps a web service if so inclined.</p>
<h2>Usage</h2>
<p>The usage, I imagine, to be simple. Setup your basic interface and then derive a target class and apply the interface. Implement your interface to write the object and read the object to/from your storage medium.</p>
<p>One point of doing this, is that if a model object contains a collection  or an instances of another model object, you can use this interface to write and retrieve that object.</p>
<h2>An Example</h2>
<p>In all honesty, I had hoped to put together a simple but working example of this. I&#8217;ve not had the time and I&#8217;ve been sitting on this post for a while. I wanted to get this post out. I still hope to get together a simple example but for the time being the description is all I&#8217;m posting.</p>
<p>If you have specific interest in an actual implemention of my concept here, please leave a message below. The interest will help modivate me to take the time to get something together.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2009/04/object-relational-mapping-a-design-pattern-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Windows OOP&#8221; vs. &#8220;Cocoa MVC&#8221;</title>
		<link>http://blog.theopensourceu.com/2009/03/windows-oop-vs-cocoa-mvc/</link>
		<comments>http://blog.theopensourceu.com/2009/03/windows-oop-vs-cocoa-mvc/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 06:16:59 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Design Tip]]></category>
		<category><![CDATA[iPhone Development]]></category>

		<guid isPermaLink="false">http://theopensourceu.com/?p=182</guid>
		<description><![CDATA[While I don't agree with the following article that windows developers (the author is looking at .NET, I believe) can't implement the MVC design pattern, I do agree with the article that MVC is probably a better way to implement one's interface. I want to direct your attention to the following article.]]></description>
			<content:encoded><![CDATA[<p>While I don&#8217;t agree with the following article that windows developers (the author is looking at .NET, I believe) can&#8217;t implement the MVC design pattern, I do agree with the article that MVC is <em>probably</em> a better way to implement one&#8217;s interface. I want to direct your attention to the following article.</p>
<p><a title=" Cocoa Is My Girlfriend » Cocoa Tutorial: Windows OOP vs Cocoa MVC" href="http://www.cimgf.com/2008/07/29/cocoa-tutorial-windows-oop-vs-cocoa-mvc/">http://www.cimgf.com/2008/07/29/cocoa-tutorial-windows-oop-vs-cocoa-mvc/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2009/03/windows-oop-vs-cocoa-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CLR (.NET) Strings in Memory</title>
		<link>http://blog.theopensourceu.com/2009/02/strings-in-memory/</link>
		<comments>http://blog.theopensourceu.com/2009/02/strings-in-memory/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 18:47:59 +0000</pubDate>
		<dc:creator>Frank</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Coding Tip]]></category>
		<category><![CDATA[Technologies]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[CLR]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Memory]]></category>

		<guid isPermaLink="false">http://theopensourceu.com/?p=157</guid>
		<description><![CDATA[The following is an interesting article related to how .NET handles strings. I'm not sure if the same thing might apply to Java; I'd be interested to find out.

Anyway, I'm posting this here for safe keeping and to share it...]]></description>
			<content:encoded><![CDATA[<p>The following is an interesting article related to how<strong> .NET handles strings</strong>. I&#8217;m not sure if the same thing might apply to Java; I&#8217;d be interested to find out.</p>
<p>Anyway, I&#8217;m posting this here for safe keeping and to share it&#8230;</p>
<p><a title="How .NET (CLR) handles strings" href="http://www.simple-talk.com/community/blogs/jcrease/archive/2009/01/16/71678.aspx">http://www.simple-talk.com/community/blogs/jcrease/archive/2009/01/16/71678.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.theopensourceu.com/2009/02/strings-in-memory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
