<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.eight-cubed.com/blog/rss2html.xsl"?>
<rss version="2.0" 
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/">

  <channel>
    <title>e i g h t - c u b e d . c o m</title>
    <link>http://www.eight-cubed.com/blog/</link>
    <description>A day in the life of an OpenVMS systems specialist.  Articles and tutorials on Systems Management and Programming for OpenVMS.</description>
    <dc:language>en-us</dc:language>
    <dc:creator>James F. Duff</dc:creator>
    <dc:rights>Copyright 2012 James F. Duff</dc:rights>
    <dc:date>2012-01-12T15:48:48+11:00</dc:date>
    <admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=3.34" />
    <admin:errorReportsTo rdf:resource="mailto:jim@eight-cubed.com"/>
    <sy:updatePeriod>daily</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>

        <item>
      <title>FASTPATH.COM</title>
      <link>http://www.eight-cubed.com/blog/archives/001232.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001232.html</guid>
      <description>A quick DCL hack to display which CPU is managing each fastpath capable device.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>A quick DCL hack to display which CPU is managing each fastpath capable device.</p></body>
      <dc:subject>DCL</dc:subject>
      <dc:date>2012-01-12T15:48:48+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/473</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001232.rss</wfw:commentRss>
    </item>
        <item>
      <title>New examples</title>
      <link>http://www.eight-cubed.com/blog/archives/001231.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001231.html</guid>
      <description>A few new programming examples have been added to the site.  They are for the following services: sys$get_arith_exception, sys$gettim_prec, and sys$power_control.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>A few new programming examples have been added to the site.  They are for the following services: <a href="http://www.eight-cubed.com/examples/framework.php?file=sys_get_arith.c">sys$get_arith_exception</a>, <a href="http://www.eight-cubed.com/examples/framework.php?file=sys_gettim_prec.c">sys$gettim_prec</a>, and <a href="http://www.eight-cubed.com/examples/framework.php?file=sys_power.c">sys$power_control</a>.</p></body>
      <dc:subject>Programming</dc:subject>
      <dc:date>2011-12-20T12:13:30+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/472</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001231.rss</wfw:commentRss>
    </item>
        <item>
      <title>Disaster recovery test mark II</title>
      <link>http://www.eight-cubed.com/blog/archives/001230.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001230.html</guid>
      <description>A second disaster recovery test was performed over the weekend.  While we still have some niggling little problems (accessing the EVA&apos;s console from the test network, for example), everything worked flawlessly.  I now have the recovery time down to approximately 40 minutes (which is a better deal that something like 20 hours when we did this with tape restores).</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>A second disaster recovery test was performed over the weekend.  While we still have some niggling little problems (accessing the EVA's console from the test network, for example), everything worked flawlessly.  I now have the recovery time down to approximately 40 minutes (which is a better deal that something like 20 hours when we did this with tape restores).</p></body>
      <dc:subject>Systems Management</dc:subject>
      <dc:date>2011-12-06T14:35:21+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/471</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001230.rss</wfw:commentRss>
    </item>
        <item>
      <title>Disaster recovery test</title>
      <link>http://www.eight-cubed.com/blog/archives/001229.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001229.html</guid>
      <description>Yesterday we successfully tested part of our DR plan.  This is the bit that restores the major ERP system to functionality.  Without this system we&apos;re dead in the water.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Yesterday we tested part of our DR plan.  This is the bit that restores the major ERP system to functionality.  Without this system we're dead in the water.</p>

<p>Recently, we switched this system from a "restore from tape" plan to a "replicate data with Continuous Access" plan.  We originally attempted to test this plan back in July, and while this test was declared a failure due to networking setup issues, this one went like a charm.</p>

<p>All systems restored in just over two hours (which I'm hoping we can get under an hour with some more automation).</p></body>
      <dc:subject>Systems Management</dc:subject>
      <dc:date>2011-11-14T16:36:07+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/470</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001229.rss</wfw:commentRss>
    </item>
        <item>
      <title>Installing a BL860c i2</title>
      <link>http://www.eight-cubed.com/blog/archives/001227.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001227.html</guid>
      <description>The trials and tribulations of installing a BL860c i2.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Recently, we acquired a two processor BL860c i2 blade for inclusion in our development cluster.  We justified this by pointing out that the development cluster (which also doubles as the QA/Test cluster) had no where near enough CPU power to run our full overnight processing stream.  As our overnight run consists of (nearly) identical streams of parallel processing, we had been testing small subsets and hoping that the operative word "nearly" would not bite us.  The addition of the i2 will allow a full run in a timely fashion (read "less that 8 hours").</p>

<p>In addition, we recently had an incident where the management processor of our single BL860c in development went nuts, resulting in a 24+ hour outage while various hardware swaps were tried to rectify the problem (the large outage resulted from someone dropping the ball when it came to backing up the MP settings).  It was pointed out to management that they had a development team and a number of testers from the business all waiting for the recovery of this machine, and adding a second Itanium based machine would remove this single point of failure.</p>

<p>There were certainly some "interesting" configuration exercises required to get the new machine up and running the way we wanted it.</p></body>
      <dc:subject>Systems Management</dc:subject>
      <dc:date>2011-10-06T17:39:21+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/468</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001227.rss</wfw:commentRss>
    </item>
        <item>
      <title>IOSB status for GETxxI calls</title>
      <link>http://www.eight-cubed.com/blog/archives/001226.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001226.html</guid>
      <description>Did you know that the status value in the I/O status block for most of the get information calls is a longword?  What this means in practice is that you should be testing and returning the full longword rather than just the word for calls such as $GETSYI(W), $GETJPI(W), $GETQUI(W), etc.
</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Did you know that the status value in the I/O status block for most of the "get information" calls is a longword?  I have the sneaking suspicion that this changed some time in recent history (where "recent history" equals "some time after VMS 5.x") when the number of $GETxxI routine return values exceeded the size of a word.</p>

<p>What this means in practice is that you should be testing and returning the full longword rather than just the word for calls such as $GETSYI(W), $GETJPI(W), $GETQUI(W), etc.</p>

<p>As an example, here's a section of code that does the wrong thing and then the correct thing:</p>

<pre class="code">
<code class="language-c">
#define __NEW_STARLET 1

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;ssdef.h&gt;
#include &lt;stsdef.h&gt;
#include &lt;efndef.h&gt;
#include &lt;quidef.h&gt;
#include &lt;iledef.h&gt;
#include &lt;iosbdef.h&gt;
#include &lt;descrip.h&gt;
#include &lt;lib$routines.h&gt;
#include &lt;starlet.h&gt;

#define errchk_sig(arg) if (!$VMS_STATUS_SUCCESS(arg)) (void)lib$signal(arg);


/******************************************************************************/
int main (void) {

static IOSB iosb;
static int r0_status;
static int qflags;
static unsigned int status;
static unsigned int flags = 0x000f;
static ILE3 quiitms[] = { 4, QUI$_QUEUE_FLAGS, &amp;qflags, NULL,
                          0, 0, NULL, NULL };

static char msg[255+1];
static struct dsc$descriptor_s msg_d = { 0,
                                         DSC$K_DTYPE_T,
                                         DSC$K_CLASS_S,
                                         msg };

    /*
    ** This call will succeed requesting information, but because our item
    ** list is missing the queue name we want info on, the IOSB will contain
    ** a status indicating we didn't pass enough parameters.
    */
    r0_status = sys$getquiw (EFN$C_ENF,
                             QUI$_DISPLAY_QUEUE,
                             0,
                             quiitms,
                             &amp;iosb,
                             0,
                             0);
    errchk_sig (r0_status);

    /*
    ** Display the word value.  Perhaps not what we were expecting.
    */
    (void)printf ("iosb.iosb$w_status = %d\n",
                  iosb.iosb$w_status);
    msg_d.dsc$w_length = sizeof (msg) - 1;
    status = iosb.iosb$w_status;
    r0_status = lib$sys_getmsg (&amp;status,
                                &amp;msg_d.dsc$w_length,
                                &amp;msg_d,
                                &amp;flags);
    errchk_sig (r0_status);
    (void)printf ("%-.*s\n",
                  msg_d.dsc$w_length,
                  msg_d.dsc$a_pointer);

    /*
    ** Display the correct longword value.
    */
    (void)printf ("iosb.iosb$l_getxxi_status = %d\n",
                  iosb.iosb$l_getxxi_status);
    msg_d.dsc$w_length = sizeof (msg) - 1;
    status = iosb.iosb$l_getxxi_status;
    r0_status = lib$sys_getmsg (&amp;status,
                                &amp;msg_d.dsc$w_length,
                                &amp;msg_d,
                                &amp;flags);
    errchk_sig (r0_status);

    (void)printf ("%-.*s\n",
                  msg_d.dsc$w_length,
                  msg_d.dsc$a_pointer);
}

</code>
</pre>

<p>Compiling, linking and running this code produces the following output:

<pre class="code">
<code class="language-dcl">
$ cc demo.c
$ link demo
$ run demo
iosb.iosb$w_status = 33036
%SYSTEM-F-NOMSG, Message number 0000810C
iosb.iosb$l_getxxi_status = 295180
%JBC-F-MISREQPAR, missing required parameter
$

</code>
</pre></body>
      <dc:subject>Programming</dc:subject>
      <dc:date>2011-08-16T15:48:56+11:00</dc:date>
            
      
      <slash:comments>1</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/467</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001226.rss</wfw:commentRss>
    </item>
        <item>
      <title>Another crash</title>
      <link>http://www.eight-cubed.com/blog/archives/001225.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001225.html</guid>
      <description>This time on development. A little back story: the system this occurred on is running on a blade system, and...</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>This time on development.  A little back story: the system this occurred on is running on a blade system, and the management processor in the blade system had been acting flaky.  HP decided to swap out the blade, but the engineer on site forgot to back up the NVRAM before he swapped out the old blade, and we ended up with an unbootable box.  After much stuffing around, we managed to boot the box in a non-standard way.  A day later, we saw this crash.</p></body>
      <dc:subject>OpenVMS</dc:subject>
      <dc:date>2011-08-15T17:59:22+11:00</dc:date>
            
      
      <slash:comments>2</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/466</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001225.rss</wfw:commentRss>
    </item>
        <item>
      <title>Crash while verifying boot options</title>
      <link>http://www.eight-cubed.com/blog/archives/001224.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001224.html</guid>
      <description>While cleaning up some boot definitions with SYS$MANAGER:BOOT_OPTIONS.COM ready to relocate the system disk from one EVA disk group to another, we experienced a crash.  The problem has been escalated to OpenVMS Engineering as we are running the latest and greatest update patch (UPDATE-V1000).</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>While cleaning up some boot definitions with SYS$MANAGER:BOOT_OPTIONS.COM ready to relocate the system disk from one EVA disk group to another, we experienced a crash.  The problem has been escalated to OpenVMS Engineering as we are running the latest and greatest update patch (UPDATE-V1000).</p></body>
      <dc:subject>OpenVMS</dc:subject>
      <dc:date>2011-08-04T18:30:32+11:00</dc:date>
            
      
      <slash:comments>1</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/465</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001224.rss</wfw:commentRss>
    </item>
        <item>
      <title>Cleaning up the Ubuntu boot partition</title>
      <link>http://www.eight-cubed.com/blog/archives/001222.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001222.html</guid>
      <description>Here&apos;s an article with the best method I&apos;ve yet seen to clean up old versions of the linux kernel from your machine.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>Here's an article with <a href="http://ubuntugenius.wordpress.com/2011/01/08/ubuntu-cleanup-how-to-remove-all-unused-linux-kernel-headers-images-and-modules/">the best method I've yet seen to clean up old versions of the linux kernel</a> from your machine.</p>

<p>Seeing commands like</p>

<pre class="code">
<code class="language-bash">
dpkg -l 'linux-*' | 
sed '/^ii/!d;/'"$(uname -r | 
sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | 
xargs sudo apt-get -y purge
</code>
</pre>

<p>make me glad I'm not a linux systems manager :-)</p></body>
      <dc:subject>Linux</dc:subject>
      <dc:date>2011-07-23T13:13:34+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/464</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001222.rss</wfw:commentRss>
    </item>
        <item>
      <title>EVA reorg</title>
      <link>http://www.eight-cubed.com/blog/archives/001221.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001221.html</guid>
      <description>Reorganising the EVA into multiple disk groups with production in its own group is a really good idea.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>The EVAs I have here at work were configured a number of years ago (by HP I suspect, with little to no input as to what they were going to be used for).  One of them has a single disk group containing multiple storage for multiple Windows, both development and production (eek).</p>

<p>The other contains the application data for the application that runs on OpenVMS, and again, both development/QA and production data are stored on the same disk group.</p>

<p>This was a disaster waiting to happen, and happen it did, with a runaway process on QA causing major performance impact to the production system.</p>

<p>Fortunately, I'd been advocating for a number of years to split production and QA  data into separate disk groups, and now (funnily enough) I have the mandate to begin just such a move.</p>

<p>As most of our data disks are in multi-member host based shadow sets, I can do this online with zero downtime.  Management was most surprised when I informed them of this (they'd obviously overlooked that point in my previous communications).  I pointed out that yes, this was VMS, not that other product that's in use here...</p></body>
      <dc:subject>Storage Area Networks</dc:subject>
      <dc:date>2011-07-15T17:16:35+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/463</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001221.rss</wfw:commentRss>
    </item>
        <item>
      <title>DR test</title>
      <link>http://www.eight-cubed.com/blog/archives/001220.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001220.html</guid>
      <description>Working towards a new disaster recovery setup using Continuous Access can take a bit of thought and planning.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>I mentioned doing disaster recovery via Continuous Access in the last entry.  Last Sunday, we had our first attempt at performing a test with this solution in place.  Previously, we had confirmed that replication is working well by mounting a replicated disk read-only, but this was the first time that we would attempt to full boot the systems.</p>

<p>Due to some appalling planning on both the part of my company and the people that are leasing us the EVA/CA solution, things didn't go very well I'm afraid to say.</p>

<p>Why is it so difficult to set up a network isolated enough so that at the flick of a switch (or the disconnection of no more than two cables) I can boot the DR machines up with their production IP addresses?  I was faced with the second alternative here (disconnecting cables) but I was told that access to the iLO was switched over the same piece of copper and if we pulled it, I'd have to take a laptop into the computer room and connect directly to the blade enclosure.  D'oh!</p>

<p>Yes, things like consoles are called "out of band" for a reason.</p>

<p>Secondly, we are not replicating all our disks.  For our critical data disks, we run three way host based mirroring, but we only replicate the first member to reduce the bandwidth requirements for the replication link.  Because the second and third members had not been initialised previously, VMS was umm, reluctant to add them to the shadowsets at boot time.</p>

<p>Lessons learned and DCL corrected.  Hopefully the network issues will be addressed next week.</p>

<p>Let's hope the next test goes off a little better. </p></body>
      <dc:subject>Systems Management</dc:subject>
      <dc:date>2011-07-13T20:03:47+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/462</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001220.rss</wfw:commentRss>
    </item>
        <item>
      <title>I need a holiday!</title>
      <link>http://www.eight-cubed.com/blog/archives/001219.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001219.html</guid>
      <description>I&apos;m too busy and need a holiday.  Here are some of the things that have happened in the last month.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>I'm working way too hard.  Things currently going on include:</p>
<div class="text-list">
<ul>
<li>Setting up a proper environment for testing overnight processing in QA with Control-M</li>
<li>An entirely redesigned Control-M schedule for the overnight processing implemented</li>
<li>Implementation of Continuous Access for much faster disaster recovery</li>
<li>Testing and implementation of an automated stocktake procedure</li>
<li>Attend the OpenVMS Technical Update Days in Sydney</li>
<li>Removing another single point of failure by swapping blade servers around</li>
<li>Keeping external auditors happy</li>
<li>Planning for an upcoming disaster recovery test</li>
</ul>
</div>
<p>and this is only in the last month!  I'll try and do some entries for the things on this list as there are some quite interesting things going on.</p>
<p>I suppose I'd rather be busy than bored.</p></body>
      <dc:subject>Personal</dc:subject>
      <dc:date>2011-05-25T18:42:26+11:00</dc:date>
            
      
      <slash:comments>1</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/461</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001219.rss</wfw:commentRss>
    </item>
        <item>
      <title>Expected site outage</title>
      <link>http://www.eight-cubed.com/blog/archives/001218.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001218.html</guid>
      <description>At 24-Mar-2011 03:00 GMT, the site will be down for a couple of hours while some physical hardware is relocated....</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>At 24-Mar-2011 03:00 GMT, the site will be down for a couple of hours while some physical hardware is relocated.  Thanks for your patience.</p></body>
      <dc:subject>Site News</dc:subject>
      <dc:date>2011-03-24T08:17:23+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/460</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001218.rss</wfw:commentRss>
    </item>
        <item>
      <title>HTML5</title>
      <link>http://www.eight-cubed.com/blog/archives/001217.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001217.html</guid>
      <description>I&apos;ve converted this web site to valid HTML5.  Thrilling stuff for geeks only.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>I've converted this web site to valid HTML5.  Thrilling stuff for geeks only.</p>

<p>This was quite straightforward for this site, as it was already in strict XHTML 1.1.  I just had to change the DTD, replace &lt;acronym&gt; with &lt;abbr&gt;, and remove the P3P compact description, which I'll look at replacing as soon as I figure out how to do it.</p>

<p>Easy, right?</p></body>
      <dc:subject>Web Stuff</dc:subject>
      <dc:date>2011-02-15T16:25:14+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/459</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001217.rss</wfw:commentRss>
    </item>
        <item>
      <title>Control-M</title>
      <link>http://www.eight-cubed.com/blog/archives/001211.html?from=rss</link>
      <guid isPermaLink="true">http://www.eight-cubed.com/blog/archives/001211.html</guid>
      <description>We use BMC&apos;s Control-M scheduling product here to control our overnight processing.  To this end, I&apos;ve just completed a training course designed to teach the basics (and some more advanced techniques) of using this complex piece of software.</description>
      <body xmlns="http://www.w3.org/1999/xhtml"><p>We use BMC's Control-M scheduling product here to control our overnight processing.  To this end, I've just completed a training course designed to teach the basics (and some more advanced techniques) of using this complex piece of software.</p>

<p>Of course, once the training was completed I was tasked with completely redesigning the way the overnight processing hangs together so that it would be far simpler to maintain and understand.  You do a training course, and suddenly you're an expert...</p></body>
      <dc:subject>Systems Management</dc:subject>
      <dc:date>2010-12-22T14:48:28+11:00</dc:date>
            
      
      <slash:comments>0</slash:comments>
            <trackback:ping>http://www.eight-cubed.com/cgi-bin/mt-tb.cgi/457</trackback:ping>
      
      <wfw:commentRss>http://www.eight-cubed.com/blog/archives/commentrss/001211.rss</wfw:commentRss>
    </item>
    

  </channel>
</rss>
