<?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>Russell and Associates - Forum</title>
	<atom:link href="http://www.randaweb.com/forum/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.randaweb.com/forum</link>
	<description>Advice and Questions</description>
	<lastBuildDate>Mon, 06 Sep 2010 12:17:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>960grid versus Blueprint CSS Framework</title>
		<link>http://www.randaweb.com/forum/2010/09/960grid-versus-blueprint-css-framework/</link>
		<comments>http://www.randaweb.com/forum/2010/09/960grid-versus-blueprint-css-framework/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 12:13:20 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[960grid]]></category>
		<category><![CDATA[BlueprintCss]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=248</guid>
		<description><![CDATA[compare 960grid and Blueprint css frameworks]]></description>
			<content:encoded><![CDATA[<p>Recently, I began using the <a title="960grid" href="http://960.gs/" target="_blank">960grid</a> and <a title="blueprintcss" href="http://www.blueprintcss.org/" target="_blank">Blueprint CSS</a> frameworks.</p>
<p>For <strong>fast page prototyping</strong>, these css libraries (i.e. grid frameworks) are very useful.  I did notice many issues when attempting to use more complex layouts &#8211; there is little room for any deviations, such as adding borders (Blueprint in particular)!</p>
<p>That is when I began adding float-fixes and other css classes to compensate for the issues inherent in these CSS frameworks. <strong> </strong></p>
<p><strong>This begged the question </strong>- <em>did this truly save me time over a custom css framework based on the specific page layout?</em></p>
<p>Yes, I do believe it did save time.  The basic page structure can be created super-fast.   I didn&#8217;t have to worry about any heavy lifting just to get a container, subcontainers, and ribbon menus aligned and floated properly.  It was just a matter of adding a class definition for the element (&lt;div id=&#8217;mydiv&#8217; class=&#8217;span-7&#8242;&gt;).</p>
<p>I will go into more detail as time permits, and I am going to try the <a title="yui2grids" href="http://developer.yahoo.com/yui/grids/" target="_blank">YUI layout grid system</a>.  Then I will do a comprehensive analysis of the features and drawbacks of each.</p>
<p>I will also cover how the following jQuery stacks integrate with each framework:</p>
<ul>
<li>jQuery UI</li>
<li>jQuery plugins</li>
</ul>
<p>Thanks,</p>
<p>Vic.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2010/09/960grid-versus-blueprint-css-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Link To My Development Site</title>
		<link>http://www.randaweb.com/forum/2010/08/my-development-site/</link>
		<comments>http://www.randaweb.com/forum/2010/08/my-development-site/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 13:40:12 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=240</guid>
		<description><![CDATA[Just quick links to a dev server I have running.]]></description>
			<content:encoded><![CDATA[<p>Here is a link to my <strong><a title="devserver" href="http://75.118.77.72/fundraiser/s4g/trunk/index.php/test/test_jquery?theme=humanity" target="_blank">dev server</a></strong> and the current dev projects I am involved with.  Nothing too exciting, in fact, often times the pages are broke due to updates and code changes.</p>
<p><a title="jquithemes" href="http://75.118.77.72/fundraiser/s4g/trunk/index.php/test/test_jquery?theme=humanity" target="_blank">Page using the 960grid framework</a> &#8211; many jQ features &#8211; check out each tab.</p>
<p><a title="bpgridteswt" href="http://75.118.77.72/fundraiser/s4g/trunk/index.php/test/blueprint_test?theme=vader" target="_blank">Page using the blueprint css framework</a> &#8211; interesting MAC-like menu (hover over the solar system planets)</p>
<p><a title="storeFront" href="http://75.118.77.72/fundraiser/s4g/trunk/index.php/test/store_front" target="_blank">Another BP css page</a> &#8211; sales page</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2010/08/my-development-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux chown example</title>
		<link>http://www.randaweb.com/forum/2010/08/linux-chown-example/</link>
		<comments>http://www.randaweb.com/forum/2010/08/linux-chown-example/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 19:55:15 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=225</guid>
		<description><![CDATA[change the ownership for file assets using the Linux 'chown' command.  You can do a single file/directory, multiple files using a mask (*?.), or all folders and files within a directory structure.]]></description>
			<content:encoded><![CDATA[<h1>chown</h1>
<p>chown &#8211; <strong><span style="color: #ff6600;">ch</span></strong>ange <strong><span style="color: #ff6600;">own</span></strong>er of file system resources on Linux/Unix systems</p>
<p>To change the <span style="text-decoration: underline;">owner</span> of a file name &#8216;myfilename.jsp&#8217;, do the following:</p>
<pre><span style="color: #0000ff;"><strong>sudo chown jamessmith myfilename.jsp</strong></span></pre>
<p>To change <span style="text-decoration: underline;">ownership AND group</span> for All directories and files below the current working directory:</p>
<pre><span style="color: #0000ff;"><strong>sudo chown -R jamessmith:wheel ./ .*</strong></span></pre>
<p>It IS a CAPITAL R ( &#8211; Recursive)  and there is a space between the &#8216;./&#8217; and the &#8216;<strong>.*</strong>&#8216;</p>
<h5><span style="color: #800000;">NOTE: <span style="font-style: normal;"><strong>chown </strong></span>can be a <span style="text-decoration: underline;">very dangerous</span> command &#8211; it cannot be undone.  <strong>Exercise caution when changing ownership on files/directories en mass</strong> without a more targeted wildcard (e.g. &#8220;chown  meuser:mygroup *.jsp&#8221; will change ownership of only .jsp files in the present working directory &#8211; these are NOT system files and will not result in a system-wide error &#8211; though they may mess up your Java App server <img src='http://www.randaweb.com/forum/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  )</span></h5>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2010/08/linux-chown-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IRS EIN Number-Better than SS number</title>
		<link>http://www.randaweb.com/forum/2010/08/irs-ein-number-better-than-ss-number/</link>
		<comments>http://www.randaweb.com/forum/2010/08/irs-ein-number-better-than-ss-number/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 11:54:58 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=212</guid>
		<description><![CDATA[Employer Identification Number can help you register with online companies without using your Social Security number.  EIN info at IRS.gov]]></description>
			<content:encoded><![CDATA[<p><a title="IRS.gov" href="http://www.irs.gov/" target="_blank">IRS.gov</a> is a very helpful website &#8211; fairly well designed and full of useful, and sometimes scary, information.</p>
<p><em>What we all must do as an employee or independent contractor or corporation is file the proper tax forms when they are due.  Don&#8217;t be late or you may incur a penalty on top of what you owe.</em></p>
<p>A start to creating a business entity is to decide on what form that business will take &#8211; <strong>sole proprietor, independent contractor, limited liability corporation (LLC), S-Type Corporation, or a full-fledged C-Type corporation</strong>.</p>
<p>Many consultants would opt for the sole-proprietor or LLC &#8211; the simplest forms that require the least administrative overhead.  To <strong>limit personal liability </strong>you must choose <em>other than</em> a sole proprietor which requires registering with a State as a corporate entity.  All this info is covered at the IRS website and others (legalzoom.com).</p>
<p>The <strong>EIN</strong>, or <strong><a title="EIN Defined - Wikipedia" href="http://en.wikipedia.org/wiki/Employer_Identification_Number" target="_blank">Employer Identification Number</a></strong>, is a number you receive from the IRS that is associated with your business.  This allows you to use this number in place of your social security number.  Best news &#8211; it is FREE and VERY EASY to acquire.</p>
<p>Get your EIN here: <a href="http://www.irs.gov/businesses/small/article/0,,id=102767,00.html">http://www.irs.gov/businesses/small/article/0,,id=102767,00.html</a></p>
<p>Now, scroll down near the bottom of the page and click the <strong><span style="color: #000080;">Apply Online Now<span style="font-weight: normal;"><span style="color: #000000;"> link text (or use CTRL-F and search for this text).</span></span></span></strong></p>
<p><strong><span style="color: #000080;"><span style="font-weight: normal;"><span style="color: #000000;"> </span></span></span></strong></p>
<div id="attachment_213" class="wp-caption alignnone" style="width: 310px"><a rel="attachment wp-att-213" href="http://www.randaweb.com/forum/2010/08/irs-ein-number-better-than-ss-number/irs_einlink/"><img class="size-medium wp-image-213" title="irs_einlink" src="http://www.randaweb.com/forum/wp-content/uploads/2010/08/irs_einlink-300x202.gif" alt="IRS EIN Link" width="300" height="202" /></a><p class="wp-caption-text">Click here to start the process to acquire your EIN</p></div>
<address><strong><span style="color: #000080;"><span style="font-weight: normal;"><span style="color: #000000;">You will need: your name, your business name, social security number, address, a phone number, email address, and general business area (manufacturing, consulting, retail, etc).</span></span></span></strong></address>
<p>That is it &#8211; <em>Just remember to ALWAYS use your EIN in place of your SS# whenever possible, file your requisite tax forms ON TIME, and enjoy your newfound freedom (and responsibility) as an entrepreneur!</em></p>
<p>Vic</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2010/08/irs-ein-number-better-than-ss-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Small versus Large Companies &#8211; culture versus resources</title>
		<link>http://www.randaweb.com/forum/2010/08/small-versus-large-companies/</link>
		<comments>http://www.randaweb.com/forum/2010/08/small-versus-large-companies/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 11:03:16 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[culture]]></category>
		<category><![CDATA[release date]]></category>
		<category><![CDATA[sdlc]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=184</guid>
		<description><![CDATA[There are benefits and drawbacks to working with companies of different sizes.  The small company has cultural benefits, but may lack resources.  A large company typically has an oppressive and collective culture (anti-individualistic-establishmentarium) , but ample resources.  Make sure you are able to work within either environment before accepting a contract position or project - you want to succeed whenever possible...]]></description>
			<content:encoded><![CDATA[<p>I was recently employed by a <strong>very small company </strong>as a consultant through a regional tech employment agency.  It was my first experience working for a small company with fewer than 2000 employees &#8211; this company had less than 12.</p>
<p>During the interview, I noticed there was the personable and relaxed atmosphere.  The company was comprised of individuals who had worked together for 12+ years.  Even so, as an outsider, I felt very welcomed.</p>
<p>Being used to more formal environments, this was going to be a welcome change; at this small company, there appeared to be a very hands-off management style.</p>
<address style="padding-left: 30px;"><em><span style="color: #800080;">I question the effectiveness of a rules-based organizational culture (versus a person-centered culture) that some of todays corporations institute.  At times, such an environment can be so focussed on the rules that they create an oppressive and micromanaged culture that is too beaurocratic to be effective.</span></em></address>
<address style="padding-left: 30px;"><em><br />
</em></address>
<address><span style="font-style: normal;">After doing my very best to acclimate myself to the new code environment &#8211; a proprietary framework written in Java/J2EE within - using <a title="Helios Download" href="http://eclipsesource.com/en/downloads/eclipse-helios-download/" target="_blank">Eclipse (Helios)</a> , I got down to work creating JSP pages, integrating <a title="jQuery" href="http://http://jquery.com/" target="_blank">jQuery</a> (jQuery core and<a title="jQuery UI Themes and code" href="http://jqueryui.com/" target="_blank"> jQuery UI</a>, and plugins &#8211; validate, default-value, alphanumeric, extjsoncookie, simplemodal).  The documentation for the custom framework as well as the assigned project was very scarce, consisting of a few use-case documents (no diagrams, just words).  The data schema was &#8216;evolving&#8217; during the project, and, the data definitions and relationships were verbally defined &#8211; difficult to reference <img src='http://www.randaweb.com/forum/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </span></address>
<p>All in all, not enough documentation to get down and dirty with a project that had a very fast timeline.  There were 3 complete site redesigns (aka major changes)  in 4 weeks &#8211; just when you get progress, you have to start from the beginning.</p>
<p><em>What I learned from this experience is:</em></p>
<ul>
<li>Clear, concise, and complete <strong>documentation</strong> is VERY important &#8211; not just words, but diagrams (use-case, process, flow, data, etc) &#8211; for any <em>web </em><em><span style="text-decoration: underline;">application</span></em>.  Smaller companies may not necessarily have the resources to accomplish this in a meaningful way, so be sure to set time aside upfront to create the essential docs to keep your team productive.</li>
<li>A large enough <strong>team</strong> to bounce ideas off of is a tremendous asset &#8211; 3 or more developers working together with different skill sets is, in my experience, a minimum number - <em><span style="text-decoration: underline;">when there is a tight timeline</span></em>.  That provides you with the necessary division of labor &#8211; MVC.  If time is not a primary factor, then a team of one front and one back-end developer would suffice.</li>
<li><em>Having the developers intimately involved</em> with the <strong>evolving </strong><strong>design</strong> (database, page flow, SEO, UI, etc) benefits the company greatly.  There is an internalization and participation with the requirements that adds value during the code creation process &#8211; the more you know, the more you can do.</li>
<li><strong>Timing is critical </strong>- having the third-party designs ready <em>BEFORE</em> a developer gets on site, a development path defined, class and data definitions documented (particularly with a custom framework), and a team of resources that are available at a moments notice for any roadblocks that arise.</li>
</ul>
<p>The <strong>working environment and culture</strong> at the small company was far superior to that of a large corporation for my personality and work style.  I was lucky in two more ways &#8211; the company president was exceptionally competent and creative (with a tech background), and the lead Java framework developer was a very gifted programmer.</p>
<p><em>When approached to take on a project with a speedy timeline, it behooves the consultant to weight the pros and cons of working with any business entity.  Before agreeing to consult:</em></p>
<ul>
<li>review the available <strong>documentation </strong>for the project -
<ul>
<li>are they concise, appropriate, and cover the breadth of the project?</li>
</ul>
</li>
<li>get a list of <strong>assets </strong>you will have ready access to during the various phases of the project life-cycle.
<ul>
<li>who will you be able to contact for business/marketing and technical issues outside of your area of expertise?
<ul>
<li>Business analysts, project managers, content experts, etc.</li>
</ul>
</li>
</ul>
</li>
<li>make sure that the <strong>budget </strong>is realistic and you will not push the project over that thin, and sometimes arbitrary, profit-margin.
<ul>
<li>You don&#8217;t want to get on a sinking ship &#8211; if the budget is not realistic, let the company know.</li>
</ul>
</li>
<li>is the <strong>time-line</strong> reasonable/attainable given the above information?
<ul>
<li>If you see a lack of  any of the above attributes, you may be wise to walk away IF the company is not receptive to scaling back, adding assets, or proactively creating the necessary documentation.  If they want to understand and are willing to alter core aspects of the project, you may be joining a winning team that extends beyond this project.</li>
</ul>
</li>
</ul>
<p>When analyzing most things in my life, I use the simplistic <strong>who, what, when, where, how, why matrix</strong>.  That, I will define in a later blog &#8211; if it even needs defining <img src='http://www.randaweb.com/forum/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Thank you for reading &#8211; Vic.</p>
<address style="padding-left: 30px;"><span style="font-style: normal;"></p>
<table cellspacing="0" width="100%">
<tbody>
<tr>
<td colspan="2">
<address style="padding-left: 30px;"><span style="font-size: small;"><span style="line-height: 19px;">&#8220;The only reason for time is so that everything doesn&#8217;t happen at once.&#8221; &#8211; Albert Einstein</span></span></address>
</td>
</tr>
</tbody>
</table>
<p></span></address>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2010/08/small-versus-large-companies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP CodeIgniter Framework &#8211; directory helper and directory_map()</title>
		<link>http://www.randaweb.com/forum/2010/08/php-codeigniter-framework-directory-helper-and-directory_map/</link>
		<comments>http://www.randaweb.com/forum/2010/08/php-codeigniter-framework-directory-helper-and-directory_map/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 23:25:59 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=187</guid>
		<description><![CDATA[CodeIgniter - 'directory' helper - directory_map() method - very simple way to get a list of files (and subdirectories with those files, etc)]]></description>
			<content:encoded><![CDATA[<p><span style="color: #800000;"><strong>CodeIgniter </strong></span>is my (current) favorite development platform for the <span style="color: #000080;"><strong>PHP </strong></span>language.  It is lightweight, robust, and fairly easy to learn compared to <span style="color: #008000;">Zend </span>or <span style="color: #ff6600;">Symfony</span>.</p>
<p>As with every framework, there are issues with the documentation being too light or too heavy &#8211; seldom just right.  CodeIgniter documentation is excellent &#8211; once you get past the first couple of days digesting the syntax of the framework.</p>
<p>I was attempting to use the<strong> &#8216;directory&#8217; helper</strong>.  This is a helper composed of a method that gets the names of files (and subdirectories) within a path and populates a multi-dimensional array with the results.  Two lines of code rather than around 10 for a pure PHP version that has the same features.</p>
<h3>The key to getting this method to work was using the relative path and not an HTTP request.  If you use the base_url(), it will not work.  For my need, it was simply hard coding the path into my code:</h3>
<pre>$dirPath = "./this/is/the/directory/to/scan/";</pre>
<pre>$this-&gt;load-&gt;helper('directory');</pre>
<pre>$arrDirList = directory_map($dirPath);</pre>
<p>Then, I used</p>
<pre>foreach ($arrDirList as $key=&gt;$value) { ... }</pre>
<p>using the $key as the directory names to build my anchor tags and name the link.</p>
<p>foreach ($themeFiles as $key=&gt;$value)                {</p>
<p>I had originally used a</p>
<pre>$dirPath = $base_url() . "path/to/directory/"; // BAD X X X</pre>
<p><em>Thanks, Vic Russell</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2010/08/php-codeigniter-framework-directory-helper-and-directory_map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery 1.4.x and jQuery UI 1.8.x tabs</title>
		<link>http://www.randaweb.com/forum/2010/08/jquery-1-4-x-and-jquery-ui-1-8-x-tabs/</link>
		<comments>http://www.randaweb.com/forum/2010/08/jquery-1-4-x-and-jquery-ui-1-8-x-tabs/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 14:20:08 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=156</guid>
		<description><![CDATA[Tabs are simple to implement in jQuery &#8211; once you understand the basic structure of the tab element. First, be sure to include the appropriate jquery libs &#8211; jquery base and the jquery ui.  Also, the jquery ui tabs lib must be included &#8211; this is usually done through jquery.ui.base (containing only @import directives [@import [...]]]></description>
			<content:encoded><![CDATA[<p>Tabs are simple to implement in jQuery &#8211; once you understand the basic structure of the tab element.</p>
<p>First, be sure to include the appropriate jquery libs &#8211; jquery base and the jquery ui.  Also, the jquery ui tabs lib must be included &#8211; this is usually done through jquery.ui.base (containing only <code>@import directives [@import url("jquery.ui.tabs.css");</code>]).</p>
<p>When using the jquery ui library for tabs, you <strong>must </strong>create tabs using an unordered list and list items containing &lt;anchor html elements:</p>
<pre><code>&lt;ul&gt;
    &lt;li&gt;
        &lt;a href='#tabs-1'&gt;This is tab 1&lt;/a&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;a href='#tabs-2'&gt;This is tab 2&lt;/a&gt;
    &lt;/li&gt;
&lt;/ul&gt;</code></pre>
<address>jQuery UI Tabs thus degrade gracefully to a list of links when Javascript is turned off in a client browser</address>
<p><strong>You must also wrap the tabs in a container </strong>that is bound to an object reference and listener that implements the 'hidden' jquery ui tab classes on your custom tab.</p>
<p>Now, wrap the ul in a tab that will not close until the content panes are defined....</p>
<pre><code>&lt;div id='tabs'&gt;
&lt;ul&gt;
    &lt;li&gt;
        &lt;a href='#tabs-1'&gt;This is tab 1&lt;/a&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;a href='#tabs-2'&gt;This is tab 2&lt;/a&gt;
    &lt;/li&gt;
&lt;/ul&gt;
...
&lt;!-- close the 'tabs' container&gt;
&lt;/div&gt;</code></pre>
<hr />Now that the &lt;div id='tabs' and the referenced &lt;anchor tabs are properly named, you can define the contents of each tab pane.</p>
<pre>&lt;div id='tabs-1'&gt;
    This is the contents of tabs-1
&lt;/div&gt;

&lt;div id='tabs-2'&gt;
    This is the contents of tabs-2
&lt;/div&gt;</pre>
<hr />Now, place the contents WITHIN the <code>&lt; div id='tabs' &gt;</code> container...</p>
<pre><code>&lt;div id='tabs'&gt;
&lt;ul&gt;
    &lt;li&gt;
        &lt;a href='#tabs-1'&gt;This is tab 1&lt;/a&gt;
    &lt;/li&gt;
    &lt;li&gt;
        &lt;a href='#tabs-2'&gt;This is tab 2&lt;/a&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;div id='tabs-1'&gt;
    This is the contents of tabs-1
&lt;/div&gt;

&lt;div id='tabs-2'&gt;
    This is the contents of tabs-2
&lt;/div&gt;

&lt;/div&gt;</code></pre>
<hr />Now, we need to associate the above construct with a jQuery initializer - linking the &lt;tabs&gt; with the jQuery UI code containing the binding code:</p>
<pre><code>&lt;script type='text/javascript'&gt;
// listener for profileDemogForm
$(document).ready( function() {
$(function() {
    $("#profileTabMenu_id").tabs({
        collapsible: true
    });
});
&lt;/script&gt;</code></pre>
<hr />For your test page, use the default jQ UI library (after you have downloaded or linked to it via Google ...)</p>
<pre><code>
&lt;script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"&gt;&lt;/script&gt;

&lt;link type='text/css' href="js/jquery_ui/jquery-ui-1.8.2/themes/base/jquery.ui.all.css" rel='stylesheet' /&gt;
&lt;link type='text/css' href="js/jquery_ui/jquery-ui-1.8.2/themes/base/jquery.ui.core.css" rel='stylesheet' /&gt;
&lt;link type='text/css' href="js/jquery_ui/jquery-ui-1.8.2/themes/base/jquery.ui.theme.css" rel='stylesheet' /&gt;
&lt;link type='text/css' href="js/jquery_ui/jquery-ui-1.8.2/themes/base/jquery.ui.base.css" rel='stylesheet' /&gt;&lt;&lt;&lt;
</code></pre>
<hr />
<h3>Some tips:</h3>
<p>You can name a jquery tabs container anything - you just have to use that for the content pane tabs.</p>
<p>&lt;div id='myTabs'&gt;</p>
<p>Each bookmark reference would then follow the following semantic:</p>
<pre>&lt;a href="#myTabs-1"&gt;  and &lt;a href="myTabs-2"&gt;</pre>
<p>The -1 and -2 (dash 1 and dash 2) are very significant and must be followed for the jQ UI to pain these anchors as tabs.</p>
<p><strong>content pane</strong> (aka: contentpane) the wrapper (named anything - I like contentpane or tabs_contentpane)  that contains the container divs that further contain the html to display when the tab is clicked (in focus).</p>
<p>This content can be</p>
<ul>
<li>inline html</li>
<li>an included page  using jQuery .load("url")</li>
<li>a pre-fetched server-side include (&lt;%@ include file='tabcontent2.jsp %&gt; or &lt;? include("filename.php") ?&gt;</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2010/08/jquery-1-4-x-and-jquery-ui-1-8-x-tabs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Development</title>
		<link>http://www.randaweb.com/forum/2010/02/agile-development/</link>
		<comments>http://www.randaweb.com/forum/2010/02/agile-development/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 12:33:23 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[management]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=135</guid>
		<description><![CDATA[I just finished a short run using the scrum method of Agile project management:  stories, retros, sprints and all.   It was a very educational experience since I had never been a part of a project that used &#8216;formal&#8217; Agile development. - First, Agile sounds cool. There is an inherent power and affinity to like [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished a short run using the scrum method of <strong>Agile</strong> project management: <em> stories, retros, sprints</em> and all.   It was a very educational experience since I had never been a part of a project that used &#8216;formal&#8217; Agile development.</p>
<p>- <em>First, Agile sounds cool. </em> There is an inherent power and affinity to like the word &#8216;agile&#8217;, to say &#8216;I am agile&#8217;, &#8216;we have an agile development team&#8217;, &#8216;our business model is agile&#8217;.  The power in a word cannot be understated &#8211; business wants to be agile; developers like to be seen as agile.</p>
<p>A few operational definitions.  Agile software development is short term goal oriented &#8211; component directed.  The idea is to get a bunch of software developers working on a project by picking components (&#8216;<strong>stories</strong>&#8216;) from a master list of &#8216;<strong>backlog&#8217; items</strong> and completing those individual components within a short period of time &#8211; called a &#8216;<strong>sprint</strong>&#8216;.  The typical goal of the sprint is a complete sub-component, one that can be demonstrated during the &#8216;<strong>retrospective</strong>&#8216; as a stand-alone element.  Some shops even demand that these components are &#8216;go-live&#8217; ready.</p>
<p>The first deficit with Agile project management appears when there are components that are comprised of multiple smaller sub-components <em>that are not</em> separated into different stories.  For example, a form page.  A form page is composed of the following: the HTML wrapper, CSS formatting, the form proper, business rules for managing the form input/processing/output, form content validation and security, other user interface components, data definition/acquisition layers (db abstraction/ORM), and presentation components.  There may be Ajax components to the form, as well as validation, and visual/auditory Fx via JavaScript.</p>
<p><strong>The failings of Agile comes to light where &#8216;expectations&#8217; are concerned.</strong> Business expects a completed components at the end of a sprint.  Anyone who has designed and developed a full blown web application (as opposed to a &#8216;site&#8217;, &#8216;page&#8217;, or &#8216;component/widget&#8217;) understands the <strong>iterative nature</strong> of such a &#8216;process&#8217;.  The final result is most often a group of components that can be reused to simplify program maintenance and improve program performance through re-factoring to optimize the total application developed over the duration of the project.</p>
<p>I think the best way to compare Waterfall with Agile is that Agile is concerned with &#8216;<strong>events</strong>&#8216; and waterfall is concerned with the flow of app development that results in a completed product &#8211; the  &#8217;<strong>outcome</strong>&#8216;.  Conceptually, both are correct &#8211; an app is a bunch of &#8216;events&#8217; that interact to produce some result, and, an app is a business process that must be satisfied through a series of components that elicit a specific outcome, or &#8216;result&#8217;.</p>
<p>Sprints are like a course that is made up of a bunch of quizzes with no final exam.  It is the accumulation of grades over the course.  A waterfall project is a course with NO quizzes - only a final exam, and, maybe a mid-term.</p>
<p>Waterfall methodology emphasizes pre-defining all components so, in theory, the development portion is very short lived.  More time is invested in defining the components and laying out the look and feel of a site than is actually set aside to code them.  Planning is everything.</p>
<p>What often time occurs using the waterfall method is, in Agile parlance, a bunch of backlogged items become evident very near the end of the project.  For developers, it becomes a &#8216;marathon&#8217; to complete the project on time &#8211; often times with few, if any, functional components to demo for stakeholders (ie business owners).</p>
<p>Other deficits in the waterfall methodology are scope creep and the effects of incorrect estimation of build time (coding &amp; system administration).  Since the planning portion is so long, items are often added that should extend the duration of coding, but seldom do.  Most projects have a go-live date that is seldom altered, even though the scope of the project increases.  As a component is added or altered, reality would dictate altering the estimated due date &#8211; but that seldom happens.</p>
<p>&lt;psych aside&gt;Human nature, for many people, dictates that we want to satisfy the needs of others &#8211; particularly superiors or people who can advance our careers.  The waterfall method plays on that human tendency to the advantage of the stakeholder at the expense of the development team.  It is difficult for many of us to say an unequivocal &#8216;NO&#8217; to the VP of marketing or sales when they have a &#8216;really good idea&#8217; for a feature that will add a developer-month to the project.  The problem arises when the project is past due, and that feature that the VP loved so much three months earlier in the planning stage is all but forgotten &#8211; it no longer carries the same emotional power it did earlier.  All that matters now is that the developers are late delivering the project.&lt;/psych aside&gt;</p>
<p>Pure scrum can be effective when modules are very compartmentalized &#8211; there is little co-dependence on other modules.   It becomes nonsensical to use Agile when the overall system has many dependencies UNLESS there is an agreement that modules will be enhanced and integrated at a later date when the ancillary modules that, say, perform form validation, are complete.</p>
<p>When you get right down to it, Agile is a good way to reduce the upfront cost of a project and put most of the design and planning on the developers &#8211; which is, in my opinion, a good thing.  A less is more approach that can be effective for the largest project, so long as the stories reflect reality.</p>
<p>vr</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2010/02/agile-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux history &#8211; add time and date stamp to output</title>
		<link>http://www.randaweb.com/forum/2009/12/linux-history-add-time-and-date-stamp-to-output/</link>
		<comments>http://www.randaweb.com/forum/2009/12/linux-history-add-time-and-date-stamp-to-output/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 02:50:48 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=116</guid>
		<description><![CDATA[The Linux &#8216;history&#8216; command is very beneficial when trying to debug a system, remember a previously executed command, or keep track of recent steps taken in a multi-command process.  One omission to the default setup is the time and date the command was run. There is a file in the home directory of all users [...]]]></description>
			<content:encoded><![CDATA[<p>The Linux &#8216;<span style="color: #333399;"><strong>history</strong></span>&#8216; command is very beneficial when trying to debug a system, remember a previously executed command, or keep track of recent steps taken in a multi-command process.  One omission to the default setup is the time and date the command was run.</p>
<p>There is a file <em>in the home directory of all user</em>s called the .<strong><span style="color: #0000ff;">bashrc </span></strong>file (the period is not a typo &#8211; it is a hidden file).  Add the following line to get the &#8216;history&#8217; output with a time and date stamp:</p>
<pre>export HISTTIMEFORMAT="%F %T "</pre>
<p>You can enter this at the command line and then run the &#8216;history&#8217; command to view the new output.<br />
<span id="more-116"></span></p>
<blockquote>
<div><span style="color: #666699;">[root@localhost vrussell]# history</span><br />
<span style="color: #666699;">531  2009-12-27 21:19:35 cd ..</span><br />
<span style="color: #666699;"> 532  2009-12-27 21:19:36 ls -a</span><br />
<span style="color: #666699;"> 533  2009-12-27 21:20:40 history</span><br />
<span style="color: #666699;"> 534  2009-12-27 21:20:53 export HISTTIMEFORMAT=&#8221;%F %T &#8220;</span><br />
<span style="color: #666699;"> 537  2009-12-27 21:53:05 grep -lir &#8216;bashrc&#8217; *</span><br />
<span style="color: #666699;"> 538  2009-12-27 21:53:13 history</span><br />
<span style="color: #666699;"> 539  2009-12-27 21:53:15 clear</span><br />
<span style="color: #666699;"> 540  2009-12-27 21:53:32 vi testScript.sh</span><br />
<span style="color: #666699;"> 541  2009-12-27 21:53:39 history</span></div>
</blockquote>
<pre>export HISTSIZE=4000</pre>
<p style="text-align: left;">Another useful history setting is the <strong>number of commands that are stored in the</strong> <strong><span style="color: #0000ff;">.bash_history</span></strong> file.  The default appears to store the last 1000 commands &#8211; increase that number to 4000 lines or more.  Grep or <span style="color: #0000ff;"><strong>[CTRL] + r</strong></span> can filter the results effectively.</p>
<p style="text-align: left;"><strong>. bashrc file entries ( using vi/vim )</strong></p>
<pre>
# User specific aliases and functions
# display date time in history output
export HISTTIMEFORMAT="%F %T  "
# Increase from default 1000 lines to 4000 lines
export HISTSIZE=4000

# User specific aliases and functions
# display date time in history output
export HISTTIMEFORMAT="%F %T  "
# Increase from default 1000 lines to 4000 lines
export HISTSIZE=4000
alias ll="ls -ltr"</pre>
<p>Edit your .bashrc file using pico, nano, vi, vim, emacs.  If you can access files via Windows, use <a title="Official Notepad++ Site" href="http://notepad-plus.sourceforge.net/uk/site.htm" target="_blank">Notepad++ </a>(<a title="Download Notepad++ - SourceForge" href="http://sourceforge.net/projects/notepad-plus/files/" target="_blank">download Notepad++ from SourceForge</a>)  and not Windows default Notepad.  Notepad ++ lets you save files using the Unix line break.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2009/12/linux-history-add-time-and-date-stamp-to-output/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When NOT to do a complete upgrade of a site&#8230;</title>
		<link>http://www.randaweb.com/forum/2009/11/when-not-to-do-a-complete-upgrade-to-a-site/</link>
		<comments>http://www.randaweb.com/forum/2009/11/when-not-to-do-a-complete-upgrade-to-a-site/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 12:38:38 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[look and feel]]></category>
		<category><![CDATA[release date]]></category>
		<category><![CDATA[skills]]></category>
		<category><![CDATA[timing]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.randaweb.com/forum/?p=101</guid>
		<description><![CDATA[This Biblical verse is true in agriculture as well as merchandising and marketing.  You can have the best new 'feature' to your web site, but the timing of the release should be carefully considered.  If your feature is of minimal impact to the navigation and overall familiarity (look and feel) of the site, then there is little risk in implementation.  If, however, you are planning a complete redesign of the presentation and business logic layers, you may consider holding off.]]></description>
			<content:encoded><![CDATA[<p><span style="color: #800000;"><strong><em>To everything there is a season, and a time to every purpose under Heaven.</em></strong></span></p>
<p><span style="color: #800000;"><strong><em>There is a time to sow, and a time to reap&#8230;</em></strong></span></p>
<p><span style="color: #000000;"><span style="color: #000080;">This Biblical verse is true in agriculture, personal life, as well as merchandising and marketing.  You can have the best new &#8216;feature&#8217; to your web site, but the timing of the release should be carefully considered.  If your feature is of minimal impact to the navigation and overall familiarity (look and feel) of the site, then there is little risk in implementation.  If, however, you are planning a complete redesign of the presentation and business logic layers, you may consider the time of year for the release.</span><br />
</span></p>
<p><span style="color: #000000;"><strong>Why:</strong> One retail chain that I had worked for decided that their website needed an upgrade.  <em>That was an understatement </em>- the existing site was very dated in both style and functionality.  Many features that the underlying web framework offered were inaccessible due to a prior rushed upgrade that &#8216;broke&#8217; what is a very robust J2EE-based framework.  Business and IT knew that a complete rewrite was the only way to efficiently keep the site extensible, maintainable, and scalable.  The initial launch date was early September, with a fudge factor of a couple of weeks.<br />
</span></p>
<p><strong><span style="color: #000000;">As the months of planning a preparation, design, coding, and testing went by, it was clear that the target date would be missed &#8211; <em>by about 2 months</em>!  That brought the time of the upgrade to the apex of annual holiday sales season.  While this may initially sound like the perfect time to release the site to the customer base, a little more thought might suggest that the opposite is true &#8211; <span style="text-decoration: underline;">it may be the exact wrong time</span>.</span></strong></p>
<p><strong><span style="color: #000000;"><span id="more-101"></span></span></strong></p>
<p><strong>Who:</strong> Humans are creatures of habit.  We like familiarity and loathe what is unfamiliar and different.  We often come to embrace the new and different over time, but our initial reaction to change is typically resistance.  Fortunately, the web offers most of us scores of choices when we are searching for information or products to purchase.  There are always options.</p>
<blockquote><p><em><strong>If</strong></em> my favourite tech site (<a title="Tiger Direct" href="http://www.tigerdirect.com" target="_blank">http://www.tigerdirect.com</a>) changed the complete navigation, design, and business logic, I might consider purchasing from my second favourite site (<a title="New Egg" href="http://www.newegg.com/" target="_blank">http://www.newegg.com</a>).  While I do not like the look and feel of New Egg (<em>a personal preference, not a critique on their site design</em>), I have grown use to it and can find what I need fairly quickly.  Tiger Direct will lose my business until I have the time and need to re-learn how to find products.</p></blockquote>
<blockquote><p><span style="color: #008000;"><em>NOTE: Tiger Direct has not changed their site; it is easy to navigate, has great pricing, and their product delivery is stellar.</em></span></p></blockquote>
<p><strong>What:</strong> Data translation is very tricky, and more often than not, it results in some type of corruption on the first attempt.  There are many ways to insure that data will be intact after the conversion, but none are 100% reliable.  <em>The rule: always plan for a data layer error during and soon after an upgrade.</em></p>
<p><strong>When:</strong> When, then, is the optimum time to do a complete site upgrade?  During the least busy time of the year.  For e-commerce sites, that time is often between mid January and the end of April.  Plenty of time to work out the kinks in the new system.</p>
<p><strong>Where: </strong>Do you have the resources and skills to perform the upgrade internally?  Is there adequate personnel in house to both maintain the existing site and code the new site?  Do you have adequate testing personnel, with the proper testing tools, to insure that what is being done will really work?  Is outsourcing your best option?</p>
<p><em>These questions should be answered objectively and without regard to pride, personal advance, or budget pressures</em>.  A team that is not sufficiently trained or does not have the time to code on such a scale will experience mistakes, delays, stress, and, ultimately, failure.  Augmenting an in-house team with consultants who are experts in e-commerce is another option.  This works only if your personnel are eager to, and have the capacity, to learn the details of an e-commerce framework.  It is one thing to maintain and enhance a site, and a completely different process to code a site from the ground up.</p>
<p><strong>How:</strong> Do you flip a switch when performing a complete site upgrade, or do you gradually test the site with a subset of your visitors?  <span style="text-decoration: underline;">Obviously</span>, you direct a percentage of your customers to the new site to assist in production testing.  You can ask customers to &#8216;opt-in&#8217; by presenting them with a link or popup when they first arrive at the site, or, redirect nn% of the traffic to the new site automatically.  The opt-in approach gives the customer control, which often results in a positive reaction.</p>
<p><strong>Along with the opt-in,</strong> provide the customer with the option to revert to the &#8216;old&#8217; site if they cannot find what they are trying to purchase.</p>
<p>Once the guest has visited the new site, ask them to fill out a 3 &#8211; 5 question feedback form.  One of the five questions will be a text box so they can give you as much feedback as possible.  Again, if they are involved with the process, they will more likely embrace the new site, over time.</p>
<blockquote><p>As a matter of safety, the cart/checkout process might remain as-is initially.  In other words, your marketing and merchandising of products can be upgraded, but once products are purchased and the customer is checking out, the familiar cart gives them a sense of security.  Keeping this critical component the same during testing reduces the likelihood of abandonment and order corruption.</p></blockquote>
<h2><strong>Conclusion</strong>:</h2>
<p>Given the strained economic climate, there is an &#8216;out&#8217; if the new site fails.  The economy can be blamed over the timing of the upgrade release, and no one will be the wiser &#8211; unless the site is completely down, you look at the analytic data and see that the abandon rate increased during this period of time, that orders were not committed to the database, or that products were out of stock and still presented, etc.</p>
<p><strong>So&#8230;</strong></p>
<ul>
<li><strong>Timing</strong> is (almost) everything.</li>
<li>Be objective &#8211; <strong>new is not always better</strong>.  Emotion, self aggrandizement, and pride should never drive a business decision of such magnitude.</li>
<li><strong>Research your customer base</strong> to determine what they will accept (and when).</li>
<li><strong>Look at your competition</strong> and research their successes and failures concerning feature enhancements and upgrades.</li>
<li><strong>Dates are numbers</strong> that exist on calendars &#8211; they can be changed.</li>
<li><strong>Skills can be learned</strong>, but complex skills often cannot be learned quickly with great aptitude.</li>
</ul>
<p>vr</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randaweb.com/forum/2009/11/when-not-to-do-a-complete-upgrade-to-a-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
