1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" id="sixapart-standard">
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <meta name="generator" content="Movable Type 5.2.3" />
8 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles-site.css" type="text/css" />
9 <link rel="alternate" type="application/atom+xml" title="Atom" href="http://defaria.com/blogs/Status/atom.xml" />
10 <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://defaria.com/blogs/Status/index.xml" />
12 <title>Status for Andrew DeFaria: Texas Instruments Archives</title>
14 <body class="layout-one-column">
16 <div id="container-inner" class="pkg">
19 <div id="banner-inner" class="pkg">
20 <h1 id="banner-header"><a href="http://defaria.com/blogs/Status/" accesskey="1">Status for Andrew DeFaria</a></h1>
21 <h2 id="banner-description">Searchable status reports and work log</h2>
26 <div id="pagebody-inner" class="pkg">
28 <div id="alpha-inner" class="pkg">
30 <p class="content-nav">
31 <a href="http://defaria.com/blogs/Status/">Main</a>
36 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
37 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
38 xmlns:dc="http://purl.org/dc/elements/1.1/">
40 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000634"
41 trackback:ping="http://defaria.com/mt/mt-tb.cgi/23"
42 dc:title="Why MS Word is a bad HTML editor"
43 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000634"
44 dc:subject="Texas Instruments"
45 dc:description=" Described a little bit about why MS Word is not a good HTML editor..."
47 dc:date="2007-04-21T20:56:37-06:00" />
52 <h2 class="date-header">April 21, 2007</h2>
54 <div class="entry" id="entry-634">
55 <h3 class="entry-header">Why MS Word is a bad HTML editor</h3>
56 <div class="entry-content">
57 <div class="entry-body">
59 <li>Described a little bit about why MS Word is not a good HTML editor</li>
62 <p class="entry-more-link">
63 <a href="http://defaria.com/blogs/Status/archives/000634.html#more">Continue reading "Why MS Word is a bad HTML editor" »</a>
66 <p class="entry-footer">
67 <span class="post-footers">Posted by at 8:56 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000634.html">Permalink</a>
69 | <a href="http://defaria.com/blogs/Status/archives/000634.html#trackback">TrackBacks (0)</a>
76 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
77 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
78 xmlns:dc="http://purl.org/dc/elements/1.1/">
80 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000633"
81 trackback:ping="http://defaria.com/mt/mt-tb.cgi/22"
82 dc:title="Turning on HTML for Exchange/IMAP"
83 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000633"
84 dc:subject="Texas Instruments"
85 dc:description=" Described how to configure Exchange's IMAP server to server out HTML..."
87 dc:date="2007-04-21T20:38:56-06:00" />
94 <div class="entry" id="entry-633">
95 <h3 class="entry-header">Turning on HTML for Exchange/IMAP</h3>
96 <div class="entry-content">
97 <div class="entry-body">
99 <li>Described how to configure Exchange's IMAP server to server out HTML</li>
102 <p class="entry-more-link">
103 <a href="http://defaria.com/blogs/Status/archives/000633.html#more">Continue reading "Turning on HTML for Exchange/IMAP" »</a>
106 <p class="entry-footer">
107 <span class="post-footers">Posted by at 8:38 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000633.html">Permalink</a>
109 | <a href="http://defaria.com/blogs/Status/archives/000633.html#trackback">TrackBacks (0)</a>
116 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
117 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
118 xmlns:dc="http://purl.org/dc/elements/1.1/">
120 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000631"
121 trackback:ping="http://defaria.com/mt/mt-tb.cgi/20"
122 dc:title="Deleting Site Domains"
123 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000631"
124 dc:subject="Texas Instruments"
125 dc:description=" Implemented gpdb_deleteSiteDomain..."
127 dc:date="2007-04-13T21:44:25-06:00" />
132 <h2 class="date-header">April 13, 2007</h2>
134 <div class="entry" id="entry-631">
135 <h3 class="entry-header">Deleting Site Domains</h3>
136 <div class="entry-content">
137 <div class="entry-body">
139 <li>Implemented gpdb_deleteSiteDomain</li>
142 <p class="entry-more-link">
143 <a href="http://defaria.com/blogs/Status/archives/000631.html#more">Continue reading "Deleting Site Domains" »</a>
146 <p class="entry-footer">
147 <span class="post-footers">Posted by at 9:44 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000631.html">Permalink</a>
149 | <a href="http://defaria.com/blogs/Status/archives/000631.html#trackback">TrackBacks (0)</a>
156 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
157 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
158 xmlns:dc="http://purl.org/dc/elements/1.1/">
160 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000630"
161 trackback:ping="http://defaria.com/mt/mt-tb.cgi/19"
163 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000630"
164 dc:subject="Texas Instruments"
165 dc:description=" Created testcc.pl. This script creates a test vob, test view, makes elements, checks them in, out, modifies them, checks them in again and compares! Basic Clearcase sanity testing......"
167 dc:date="2007-04-10T17:53:20-06:00" />
172 <h2 class="date-header">April 10, 2007</h2>
174 <div class="entry" id="entry-630">
175 <h3 class="entry-header">testcc.pl</h3>
176 <div class="entry-content">
177 <div class="entry-body">
179 <li>Created testcc.pl. This script creates a test vob, test view, makes elements, checks them in, out, modifies them, checks them in again and compares! Basic Clearcase sanity testing...</li>
182 <p class="entry-footer">
183 <span class="post-footers">Posted by at 5:53 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000630.html">Permalink</a>
185 | <a href="http://defaria.com/blogs/Status/archives/000630.html#trackback">TrackBacks (0)</a>
192 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
193 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
194 xmlns:dc="http://purl.org/dc/elements/1.1/">
196 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000629"
197 trackback:ping="http://defaria.com/mt/mt-tb.cgi/18"
198 dc:title="Convert Dallas/Licensing/Solaris 10 testing"
199 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000629"
200 dc:subject="Texas Instruments"
201 dc:description=" Changed gpdb_convertuk.pl to open and use the new Dallas database cclic_report.pl reporting everybody as "UNK". Tried to run this in debugger and it just worked! Hmmm... Is this a cron problem? Running again tonight Rick got the Jackson filer..."
203 dc:date="2007-04-09T19:23:36-06:00" />
208 <h2 class="date-header">April 9, 2007</h2>
210 <div class="entry" id="entry-629">
211 <h3 class="entry-header">Convert Dallas/Licensing/Solaris 10 testing</h3>
212 <div class="entry-content">
213 <div class="entry-body">
215 <li>Changed gpdb_convertuk.pl to open and use the new Dallas database</li>
217 <li>cclic_report.pl reporting everybody as "UNK". Tried to run this in debugger and it just worked! Hmmm... Is this a cron problem? Running again tonight</li>
219 <li>Rick got the Jackson filer to mount to dslabcc01 however while I can create the vob storage area I cannot mount the vob!</li>
222 <p class="entry-footer">
223 <span class="post-footers">Posted by at 7:23 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000629.html">Permalink</a>
225 | <a href="http://defaria.com/blogs/Status/archives/000629.html#trackback">TrackBacks (0)</a>
232 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
233 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
234 xmlns:dc="http://purl.org/dc/elements/1.1/">
236 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000628"
237 trackback:ping="http://defaria.com/mt/mt-tb.cgi/17"
238 dc:title="DLPActivity.pl/YELL"
239 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000628"
240 dc:subject="Texas Instruments"
241 dc:description=" Rewrote DLPAcctivity.pl, a Clearquest reporting tool that emails DLP engineers about Clearquest defects Look into YELL scripts..."
243 dc:date="2007-03-30T17:07:21-06:00" />
248 <h2 class="date-header">March 30, 2007</h2>
250 <div class="entry" id="entry-628">
251 <h3 class="entry-header">DLPActivity.pl/YELL</h3>
252 <div class="entry-content">
253 <div class="entry-body">
255 <li>Rewrote DLPAcctivity.pl, a Clearquest reporting tool that emails DLP engineers about Clearquest defects</li>
257 <li>Look into YELL scripts</li>
260 <p class="entry-footer">
261 <span class="post-footers">Posted by at 5:07 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000628.html">Permalink</a>
263 | <a href="http://defaria.com/blogs/Status/archives/000628.html#trackback">TrackBacks (0)</a>
270 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
271 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
272 xmlns:dc="http://purl.org/dc/elements/1.1/">
274 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000627"
275 trackback:ping="http://defaria.com/mt/mt-tb.cgi/16"
276 dc:title="mkview_linked/GPDB Login"
277 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000627"
278 dc:subject="Texas Instruments"
279 dc:description=" Finished work on mkview_linked for MySQL databasse Implemented login for GPDB with cookies..."
281 dc:date="2007-03-28T17:03:40-06:00" />
286 <h2 class="date-header">March 28, 2007</h2>
288 <div class="entry" id="entry-627">
289 <h3 class="entry-header">mkview_linked/GPDB Login</h3>
290 <div class="entry-content">
291 <div class="entry-body">
293 <li>Finished work on mkview_linked for MySQL databasse</li>
295 <li>Implemented login for GPDB with cookies</li>
298 <p class="entry-footer">
299 <span class="post-footers">Posted by at 5:03 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000627.html">Permalink</a>
301 | <a href="http://defaria.com/blogs/Status/archives/000627.html#trackback">TrackBacks (0)</a>
308 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
309 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
310 xmlns:dc="http://purl.org/dc/elements/1.1/">
312 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000625"
313 trackback:ping="http://defaria.com/mt/mt-tb.cgi/14"
314 dc:title="GPDB Web Update/Oracle testing"
315 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000625"
316 dc:subject="Texas Instruments"
317 dc:description=" Added menus to GPDB web Tested and documented access of Oracle databases, such as GPDB, using standard Perl and standard Oracle libraries from various architectures..."
319 dc:date="2007-03-21T16:52:37-06:00" />
324 <h2 class="date-header">March 21, 2007</h2>
326 <div class="entry" id="entry-625">
327 <h3 class="entry-header">GPDB Web Update/Oracle testing</h3>
328 <div class="entry-content">
329 <div class="entry-body">
331 <li>Added menus to GPDB web</li>
333 <li>Tested and documented access of Oracle databases, such as GPDB, using standard Perl and standard Oracle libraries from various architectures</li>
336 <p class="entry-more-link">
337 <a href="http://defaria.com/blogs/Status/archives/000625.html#more">Continue reading "GPDB Web Update/Oracle testing" »</a>
340 <p class="entry-footer">
341 <span class="post-footers">Posted by at 4:52 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000625.html">Permalink</a>
343 | <a href="http://defaria.com/blogs/Status/archives/000625.html#trackback">TrackBacks (0)</a>
350 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
351 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
352 xmlns:dc="http://purl.org/dc/elements/1.1/">
354 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000624"
355 trackback:ping="http://defaria.com/mt/mt-tb.cgi/13"
356 dc:title="MySQL Client Libraries"
357 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000624"
358 dc:subject="Texas Instruments"
359 dc:description=" Worked on solutions for MySQL client library problem..."
361 dc:date="2007-03-16T17:32:56-06:00" />
366 <h2 class="date-header">March 16, 2007</h2>
368 <div class="entry" id="entry-624">
369 <h3 class="entry-header">MySQL Client Libraries</h3>
370 <div class="entry-content">
371 <div class="entry-body">
373 <li>Worked on solutions for MySQL client library problem</li>
376 <p class="entry-more-link">
377 <a href="http://defaria.com/blogs/Status/archives/000624.html#more">Continue reading "MySQL Client Libraries" »</a>
380 <p class="entry-footer">
381 <span class="post-footers">Posted by at 5:32 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000624.html">Permalink</a>
383 | <a href="http://defaria.com/blogs/Status/archives/000624.html#trackback">TrackBacks (0)</a>
390 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
391 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
392 xmlns:dc="http://purl.org/dc/elements/1.1/">
394 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000623"
395 trackback:ping="http://defaria.com/mt/mt-tb.cgi/12"
396 dc:title="Remote sites/mkview"
397 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000623"
398 dc:subject="Texas Instruments"
399 dc:description=" Gained access to a few new remote sites. Updated GPDB. Alas there's no DesignSync info at these sites and none of the vobs have vobstorage paths that indicate a project! Got access to cmmgr but was unable to publish..."
401 dc:date="2007-03-13T17:26:14-06:00" />
406 <h2 class="date-header">March 13, 2007</h2>
408 <div class="entry" id="entry-623">
409 <h3 class="entry-header">Remote sites/mkview</h3>
410 <div class="entry-content">
411 <div class="entry-body">
413 <li>Gained access to a few new remote sites. Updated GPDB. Alas there's no DesignSync info at these sites and none of the vobs have vobstorage paths that indicate a project!</li>
415 <li>Got access to cmmgr but was unable to publish new mysql from all architectures</li>
417 <li>Started incorporating the UK changes into mkview. Need to replicate these to mkview_linked (?)</li>
420 <p class="entry-footer">
421 <span class="post-footers">Posted by at 5:26 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000623.html">Permalink</a>
423 | <a href="http://defaria.com/blogs/Status/archives/000623.html#trackback">TrackBacks (0)</a>
430 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
431 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
432 xmlns:dc="http://purl.org/dc/elements/1.1/">
434 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000622"
435 trackback:ping="http://defaria.com/mt/mt-tb.cgi/11"
436 dc:title="Clearcase License Graphs"
437 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000622"
438 dc:subject="Texas Instruments"
439 dc:description=" Worked on Clearcase License Graphs web page..."
441 dc:date="2007-03-08T18:52:25-06:00" />
446 <h2 class="date-header">March 8, 2007</h2>
448 <div class="entry" id="entry-622">
449 <h3 class="entry-header">Clearcase License Graphs</h3>
450 <div class="entry-content">
451 <div class="entry-body">
453 <li>Worked on Clearcase License Graphs web page</lI>
456 <p class="entry-more-link">
457 <a href="http://defaria.com/blogs/Status/archives/000622.html#more">Continue reading "Clearcase License Graphs" »</a>
460 <p class="entry-footer">
461 <span class="post-footers">Posted by at 6:52 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000622.html">Permalink</a>
463 | <a href="http://defaria.com/blogs/Status/archives/000622.html#trackback">TrackBacks (0)</a>
470 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
471 xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
472 xmlns:dc="http://purl.org/dc/elements/1.1/">
474 rdf:about="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000621"
475 trackback:ping="http://defaria.com/mt/mt-tb.cgi/10"
476 dc:title="Building DBD::MySQL"
477 dc:identifier="http://defaria.com/blogs/Status/archives/cat_texas_instruments.html#entry-000621"
478 dc:subject="Texas Instruments"
479 dc:description=" Built DBD::MySQL for Solaris Having problems building DBD::MySQL for Linux..."
481 dc:date="2007-03-07T17:44:17-06:00" />
486 <h2 class="date-header">March 7, 2007</h2>
488 <div class="entry" id="entry-621">
489 <h3 class="entry-header">Building DBD::MySQL</h3>
490 <div class="entry-content">
491 <div class="entry-body">
493 <li>Built DBD::MySQL for Solaris</li>
495 <li>Having problems building DBD::MySQL for Linux</li>
499 <p class="entry-more-link">
500 <a href="http://defaria.com/blogs/Status/archives/000621.html#more">Continue reading "Building DBD::MySQL" »</a>
503 <p class="entry-footer">
504 <span class="post-footers">Posted by at 5:44 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000621.html">Permalink</a>
506 | <a href="http://defaria.com/blogs/Status/archives/000621.html#trackback">TrackBacks (0)</a>
514 <h2 class="date-header">January 16, 2007</h2>
516 <div class="entry" id="entry-613">
517 <h3 class="entry-header">CC 7.0 Upgrades</h3>
518 <div class="entry-content">
519 <div class="entry-body">
521 <li>Installed CC 7.0 on dslabcc03. This was done by first removing CC 6.0. The result was a loss of all registry entries. Brought back the registry from the saved area. Now all better</li>
523 <li>Did an install-over of CC 7.0 on top of CC 6.0 for dslabcc01. This worked even better</li>
525 <li>Performed install-over for dslabcc05</li>
528 <p class="entry-footer">
529 <span class="post-footers">Posted by at 1:31 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000613.html">Permalink</a>
539 <h2 class="date-header">January 12, 2007</h2>
541 <div class="entry" id="entry-611">
542 <h3 class="entry-header">Clearcase 7.0</h3>
543 <div class="entry-content">
544 <div class="entry-body">
546 <li>Set up vob server on dslabcc05</li>
548 <li>Set up Multisite synchronization between 1, 3 and 5</li>
550 <li>Installed MSHD on 1, 3 and 5</li>
553 <p class="entry-footer">
554 <span class="post-footers">Posted by at 6:07 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000611.html">Permalink</a>
564 <h2 class="date-header">January 11, 2007</h2>
566 <div class="entry" id="entry-610">
567 <h3 class="entry-header">Clearcase 7.0</h3>
568 <div class="entry-content">
569 <div class="entry-body">
571 <li>Set up lab servers to CC 6.0</li>
573 <li>Created some vobs and views in the 6.0 environment</li>
575 <li>Populated a vob using clearfsimport</li>
577 <li>Replicated vobs amongst the 6.0 servers</li>
580 <p class="entry-footer">
581 <span class="post-footers">Posted by at 3:28 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000610.html">Permalink</a>
591 <h2 class="date-header">January 8, 2007</h2>
593 <div class="entry" id="entry-608">
594 <h3 class="entry-header">cclic_report year boundary problem</h3>
595 <div class="entry-content">
596 <div class="entry-body">
598 <li>Documented problem with cclic_report and crossing of the new year's boundary</li>
601 <p class="entry-more-link">
602 <a href="http://defaria.com/blogs/Status/archives/000608.html#more">Continue reading "cclic_report year boundary problem" »</a>
605 <p class="entry-footer">
606 <span class="post-footers">Posted by at 8:34 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000608.html">Permalink</a>
616 <h2 class="date-header">November 29, 2006</h2>
618 <div class="entry" id="entry-599">
619 <h3 class="entry-header">Perl Style</h3>
620 <div class="entry-content">
621 <div class="entry-body">
622 <h2>A little bit about Perl Style</h2>
624 <p>By and large I feel that massively indented and thus multi level conditional statements are not handled well by most people. You see as your evaluating the code you have to "put on the mind stack" each condition and bear it in mind as you successively consider each of the nestings of code. As such I always "look for ways out" of the script/function/routine that I'm in. The idea is to avoid nesting by handling error conditions and other "if this happens then we're done" first, often die'ing, erroring out, returning the script/function or subroutine. The net effect is that the rest of the code, the code that normally executes, is shifted to the left a level or two. Additionally complicated, repeated or complex code can be written into a well named subroutine and called from the main or other functions when needed. To me this all makes the code a lot easier to read.</p>
626 <p>As an example, and again, I'm not trying to pick on your script specifically and I realize that this might not be the final version, but in reality it contains only a call to GetOptions and 2 if statements. The first if statement merely calls usage if -h is specified. BTW this could be re-written as:</p>
628 <div class=code><pre>
642 <p>IOW rather than define an $h variable and then set it via GetOptions then test it afterwards only to call usage, define an anonymous subroutine can calls usage directly from GetOptions. Or, since anything other than the stated options displays usage (as per the "|| usage") simply drop the "h" line entirely. If the user specifies -h then it's unknown and usage is displayed. Then $h can be removed as well as the if test following GetOptions.</p>
644 <p>The next if statement tests that all of the above variables have been defined. If so then all real processing happens inside that if (and other nested if's therein). Otherwise usage is called. In following with the "looking for a reason to get out" philosophy how about:</p>
646 <div class=code><pre>
648 defined $password &&
649 defined $XAID &&
650 defined $projName &&
651 defined $serverName &&
652 defined $unixGroup &&
653 defined $cachePath &&
654 defined $port &&
659 <p>Basically this says, "if any of these are not defined call usage" and since usage doesn't return everything inside the old if statement can be shifted to the left. Other opportunities exist to continue to apply this philosophy of "getting out while you can" and reducing the nesting level of the program. For example, inside the old if statement you
660 check to see if the login of GPDB successfully made you an administrator. If not you're gonna stop the script right there. So then how about something like:</p>
662 <div class=code><pre>
663 my $login = gpdb_login ($XAID, $password);
665 error "$XAID is not an administrator", 1 if $login !~ /administrator/;
668 <p>gpdb_login returns a string that will contain "administrator" if you were able to login as an administrator. Here I use error, a routine that I often use (in fact I'd like to publish it to TI as a common utility) that writes an error message to STDERR and optionally exits if
669 the second parameter is not 0.</p>
671 <p class="entry-footer">
672 <span class="post-footers">Posted by at 6:38 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000599.html">Permalink</a>
682 <h2 class="date-header">October 31, 2006</h2>
684 <div class="entry" id="entry-588">
685 <h3 class="entry-header">Cloning done</h3>
686 <div class="entry-content">
687 <div class="entry-body">
689 <li>Implemented cloning procedure for DMD/CQ</li>
692 <p class="entry-more-link">
693 <a href="http://defaria.com/blogs/Status/archives/000588.html#more">Continue reading "Cloning done" »</a>
696 <p class="entry-footer">
697 <span class="post-footers">Posted by at 11:18 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000588.html">Permalink</a>
707 <h2 class="date-header">October 26, 2006</h2>
709 <div class="entry" id="entry-587">
710 <h3 class="entry-header">cclic_report/gpdb_putDesignsync bug</h3>
711 <div class="entry-content">
712 <div class="entry-body">
714 <li>Created cclic_report.pl and cclic_report.sh and checked them into Clearcase. Need to find out how to release this code and then create the necessary cronjob</li>
716 <li>Fix bug in gpdb_putDesignsync. Turns out it didn't even try to link the Project to Designsync if the Designsync record existed before. Again, need to figure out how to release this</li>
718 <li>Created subtasks tab for DMD. Default functionality for parent/child relationships is already pretty complete. May need to populate new subtasks via a hook</li>
721 <p class="entry-footer">
722 <span class="post-footers">Posted by at 1:58 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000587.html">Permalink</a>
732 <h2 class="date-header">October 17, 2006</h2>
734 <div class="entry" id="entry-582">
735 <h3 class="entry-header">PerlDB Tips</h3>
736 <div class="entry-content">
737 <div class="entry-body">
738 <p>The Perl debugger is one of those valuable tools that surprisingly it seems few Perl coders know well. Here are some quick tips on using the Perl debugger. First a few explanations about commands I tend to use:
744 <dd>Single step. Step to the next statement stepping into any subroutines (where the source file is known and accessible).</dd>
748 <dd>Step over - if the line contains a call to a subroutine then this will step over that subroutine.</dd>
752 <dd>Return from subroutine - if, say you accidentally stepped into a subroutine or if you just want to return,</dd>
756 <dd>Rerun - start your Perl script again in the debugger with all the parms you started with.</dd>
762 <dt>p <variable or expression></dt>
764 <dd>Will print the contents of a variable or expression. Expressions can be Perl expressions including calls to subroutines. You can, for example, do "p 'There are " . scalar @foo . ' lines in foo';</dd>
766 <dt>x <variable or expression></dt>
768 <dd>Like p above however p will simply print out HASH for hashes whereas x will format them out. Also x will print out "undef" for things that are undefined yet p will print nothing for them.</dd>
772 <dd>List the next windowSize lines (see below). Use "l <n>" where <n> = a line number to list that line.</dd>
776 <dd>View lines around <n></dd>
778 <dt>V <package></dt>
780 <dd>List exported subroutines and variables for <package> (e.g. V MyModule will is all stuff exported from MyModule).</dd>
782 <dt>f <filename></dt>
784 <dd>File - switch to another file. (e.g. f MyModule) and the debugger switches to viewing MyModule.pm.</dd>
788 <dd>Continue to line <n>. If n is not specified then just continue until the next break point or the end of the script. Continue is like setting a temporary break point that disappears when you hit the line.</dd>
790 <dt>b <n> <condition></dt>
792 <dd>Breakpoint - set a break point (or b <n> $name eq "Donna" which will break at line <n> iff $name is "Donna" (evaluated when the debugger gets to line <n>))
796 <p>Also, at the Perl db prompt you can type in any Perl. So, for example, I often work out regex's that way. I'll be debugging a Perl script and stepping up to something like:</p>
798 <div class=code><pre>
799 10==> if (/(\d*).*\s+/) {
805 <p>Then I'll type in stuff like:</p>
807 <div class=code><pre>
808 DB<10> if (/(\d*).*\s+/) { print "1 = $1\n"; } else { print "No
814 <p>Then I can use the command history (with set -o emacs at the shell before executing perl db emacs key bindings work for me) to edit and enter that perl if statement changing the regex until it works correctly. This way I know I got the right regex. Copy and paste the new, tested, regex from the debugging session into my code then "R" to reload the debugger.</p>
816 <p>Or you can say call an arbitrary subroutine in your script:</p>
818 <div class=code><pre>
821 Rexec::ssh(/view/cmdt_x0062320/vobs/cmtools/src/misc/GPDB/bin/../../../../lib/perl/Rexec.pm:60):
822 60: my $self = shift;
826 <p>The "p Rexec::ssh" says to print the results of the following expression. The expression is a function call in to the Rexec module for the subroutine ssh. Since we just set a break point there in the previous debug command we break at the start of that subroutine and can then debug it. Note you don't want to "c Rexec::ssh" because that would continue the actual execution of your script and only stop at Rexec::ssh if that routine was actually called. Viola, you just forcefully caused the Perl interpreter to branch to this routine!</p>
828 <p>Another thing I'll frequently do is set or change variables to see how the code would proceed <b>if</b> the variables were correct (or perhaps incorrect to test error conditions). So let's say a forced execution of the subroutine Log like the above:
830 <div class=code><pre>
832 43:==> my $msg = shift;
836 main::Log(EvilTwin.pl:45): print "$msg\n";
837 DB<24>$msg = "Now I set msg to something I want it to be"
839 Now I set msg to something I want it to be
840 main::Log(EvilTwin.pl:47): return;
844 <p>There are all sorts of good reasons to examine (p $variable) and set ($variable = "new value") variables during debugging.</p>
846 <p>Finally put the following into ~/.perldb:</p>
848 <div class=code><pre>
849 parse_options ("windowSize=23");
852 <p>This sets the window size to 23 so that 'l" lists the next 23 lines.</p>
854 <p class="entry-footer">
855 <span class="post-footers">Posted by at 8:41 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000582.html">Permalink</a>
865 <h2 class="date-header">October 9, 2006</h2>
867 <div class="entry" id="entry-578">
868 <h3 class="entry-header">Rexec</h3>
869 <div class="entry-content">
870 <div class="entry-body">
872 <li>Finished recording gpdb_add_project to call a central rexec function so that remote execution can use a different username. However right now all it does is rsh, which can use another username but rsh needs to have remote passwordless login set up in order to work</li>
874 <li>Created Rexec.pm Perl object that has the ability to use Expect and telnet to log in remotely to a machine and execute commands, returning output and the status of the command executed remotely. Need to integrate this with gpdb_add_project...</li>
877 <p class="entry-footer">
878 <span class="post-footers">Posted by at 5:32 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000578.html">Permalink</a>
888 <h2 class="date-header">October 5, 2006</h2>
890 <div class="entry" id="entry-577">
891 <h3 class="entry-header">Rexec</h3>
892 <div class="entry-content">
893 <div class="entry-body">
895 <li>Fixed bug in gpdb_add_project.pl</li>
897 <li>Met about MultiSite Hardening Daemon (MSHD)</li>
900 <p class="entry-more-link">
901 <a href="http://defaria.com/blogs/Status/archives/000577.html#more">Continue reading "Rexec" »</a>
904 <p class="entry-footer">
905 <span class="post-footers">Posted by at 3:21 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000577.html">Permalink</a>
915 <h2 class="date-header">October 3, 2006</h2>
917 <div class="entry" id="entry-576">
918 <h3 class="entry-header">Redirecting on ErrorDocument</h3>
919 <div class="entry-content">
920 <div class="entry-body">
922 <li>Looked into redirecting when ErrorDocument is called. Doesn't look like it'll work</li>
925 <p class="entry-more-link">
926 <a href="http://defaria.com/blogs/Status/archives/000576.html#more">Continue reading "Redirecting on ErrorDocument" »</a>
929 <p class="entry-footer">
930 <span class="post-footers">Posted by at 1:28 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000576.html">Permalink</a>
940 <h2 class="date-header">September 29, 2006</h2>
942 <div class="entry" id="entry-575">
943 <h3 class="entry-header">Load Balancing Redirection</h3>
944 <div class="entry-content">
945 <div class="entry-body">
947 <li>Implemented a load balancing redirection scheme for cqweb</li>
950 <p class="entry-more-link">
951 <a href="http://defaria.com/blogs/Status/archives/000575.html#more">Continue reading "Load Balancing Redirection" »</a>
954 <p class="entry-footer">
955 <span class="post-footers">Posted by at 2:35 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000575.html">Permalink</a>
965 <h2 class="date-header">September 28, 2006</h2>
967 <div class="entry" id="entry-574">
968 <h3 class="entry-header">JVM Stack/Heap Sizes</h3>
969 <div class="entry-content">
970 <div class="entry-body">
972 <li>Looked into JVM stack and heap sizes on dfls83-85</li>
975 <p class="entry-more-link">
976 <a href="http://defaria.com/blogs/Status/archives/000574.html#more">Continue reading "JVM Stack/Heap Sizes" »</a>
979 <p class="entry-footer">
980 <span class="post-footers">Posted by at 11:53 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000574.html">Permalink</a>
990 <h2 class="date-header">September 27, 2006</h2>
992 <div class="entry" id="entry-570">
993 <h3 class="entry-header">OMAPS.pm bug</h3>
994 <div class="entry-content">
995 <div class="entry-body">
997 <li>Tracked down and fixed minor bug in OMAPS</li>
1000 <p class="entry-more-link">
1001 <a href="http://defaria.com/blogs/Status/archives/000570.html#more">Continue reading "OMAPS.pm bug" »</a>
1004 <p class="entry-footer">
1005 <span class="post-footers">Posted by at 9:08 AM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000570.html">Permalink</a>
1015 <h2 class="date-header">September 26, 2006</h2>
1016 <a id="a000569"></a>
1017 <div class="entry" id="entry-569">
1018 <h3 class="entry-header">CQ log files</h3>
1019 <div class="entry-content">
1020 <div class="entry-body">
1022 <li>Looked into yet another hang up with CQ web servers</li>
1025 <p class="entry-more-link">
1026 <a href="http://defaria.com/blogs/Status/archives/000569.html#more">Continue reading "CQ log files" »</a>
1029 <p class="entry-footer">
1030 <span class="post-footers">Posted by at 4:32 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000569.html">Permalink</a>
1040 <h2 class="date-header">September 21, 2006</h2>
1041 <a id="a000568"></a>
1042 <div class="entry" id="entry-568">
1043 <h3 class="entry-header">CQ: DMD Date changes</h3>
1044 <div class="entry-content">
1045 <div class="entry-body">
1047 <li>Looked at DMD requests</li>
1049 <li>Fixed problem where Needed_Date and Target_Date could not be set to Submit_Date</li>
1052 <p class="entry-footer">
1053 <span class="post-footers">Posted by at 2:30 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000568.html">Permalink</a>
1063 <h2 class="date-header">September 18, 2006</h2>
1064 <a id="a000566"></a>
1065 <div class="entry" id="entry-566">
1066 <h3 class="entry-header">enable_ldaptk</h3>
1067 <div class="entry-content">
1068 <div class="entry-body">
1070 <li>Started coding a PerlTK version of enable_ldap</li>
1072 <li>Solved problem with not being able to write to Samba mounted home drive. Seems one should not use smbntsec in $CYGWIN when the Samba Server is not in the domain</li>
1075 <p class="entry-footer">
1076 <span class="post-footers">Posted by at 8:02 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000566.html">Permalink</a>
1086 <h2 class="date-header">September 15, 2006</h2>
1087 <a id="a000565"></a>
1088 <div class="entry" id="entry-565">
1089 <h3 class="entry-header">enable_ldap</h3>
1090 <div class="entry-content">
1091 <div class="entry-body">
1093 <li>Added LDAP calls to enable_ldap to check the parms as we go</li>
1096 <p class="entry-more-link">
1097 <a href="http://defaria.com/blogs/Status/archives/000565.html#more">Continue reading "enable_ldap" »</a>
1100 <p class="entry-footer">
1101 <span class="post-footers">Posted by at 2:33 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000565.html">Permalink</a>
1111 <h2 class="date-header">September 10, 2006</h2>
1112 <a id="a000563"></a>
1113 <div class="entry" id="entry-563">
1114 <h3 class="entry-header">Clearquest Install</h3>
1115 <div class="entry-content">
1116 <div class="entry-body">
1118 <li>Looked into Clearquest install area</li>
1121 <p class="entry-more-link">
1122 <a href="http://defaria.com/blogs/Status/archives/000563.html#more">Continue reading "Clearquest Install" »</a>
1125 <p class="entry-footer">
1126 <span class="post-footers">Posted by at 12:37 PM</span> <span class="separator">|</span> <a class="permalink" href="http://defaria.com/blogs/Status/archives/000563.html">Permalink</a>