<?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>Linux Gazette</title>
	<atom:link href="http://linuxgazette.net/feed" rel="self" type="application/rss+xml" />
	<link>http://linuxgazette.net</link>
	<description>Making Linux a little more fun!</description>
	<lastBuildDate>Fri, 01 Feb 2013 18:05:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>Lucidchart &#8211; Diagramming for Linux users</title>
		<link>http://linuxgazette.net/2013/01/lucidchart-diagramming-for-linux-users</link>
		<comments>http://linuxgazette.net/2013/01/lucidchart-diagramming-for-linux-users#comments</comments>
		<pubDate>Fri, 25 Jan 2013 01:33:28 +0000</pubDate>
		<dc:creator>Brad Hanks</dc:creator>
				<category><![CDATA[January 2013]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/?p=1313</guid>
		<description><![CDATA[Along with my editing responsibilities here at Linux Gazette, I work for a Utah-based company that’s churning out some pretty incredible web applications. I’ve been using our flagship product on the latest stable release of Ubuntu, and I want to &#8230; <a href="http://linuxgazette.net/2013/01/lucidchart-diagramming-for-linux-users">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Along with my editing responsibilities here at Linux Gazette, I work for a Utah-based company that’s churning out some pretty incredible web applications. I’ve been using our flagship product on the latest stable release of Ubuntu, and I want to share my experiences with all of you.</p>
<p>This diagramming tool is called Lucidchart and it’s based on open web standards, so it’s completely device-independent. It’s a far cry from <a href="https://www.lucidchart.com/pages/tour/visio_alternative">Microsoft Visio</a> and runs blazing fast on Chrome. Plus, site updates and improvements require nary a click from the end user. If you’re curious, check out this recent <a href="https://www.lucidchart.com/blog/2012/11/14/ie10-how-does-it-really-stack-up/">blog post</a> from the Lucidchart team that compares the performance of Lucidchart on various web browsers.</p>
<p>Here are a few diagram types that I’ve made with Lucidchart:</p>
<ul>
<li>Network diagrams (complete with the latest AWS 2.0 shapes)</li>
<li><a href="https://www.lucidchart.com/pages/er-diagram-tool">ERD</a><span> diagrams</span></li>
<li><a href="https://www.lucidchart.com/pages/uml">UML</a><span> diagrams</span></li>
</ul>
<p>I’ve also heard good things about Lucidchart&#8217;s capabilities for mocking up UI prototypes and wireframes.  Lucidchart lets you add interactivity with hot spots, links, states, and demo mode. These features create dynamic action between objects, pages, and external links, and are particularly helpful for demonstrating how a live website or mobile app will respond to user interaction.</p>
<p>Part and parcel of this cloud-based service is the ability to collaborate with any user, from any device, on any browser.  Changes from any user are reflected instantly, which saves me tons of time on team projects.</p>
<p>Once you sign up, simply log in to the editor and start diagramming. To get started, drag out shapes and place them on the canvas. When you need to connect shapes with a line, they’ll automatically pop out from natural connection points on any given shape. This small detail, along with the snap-to-grid feature, really makes your diagrams look neat and professional without any extra effort on your end.</p>
<p>As I mentioned, it’s easy to share <a href="https://www.lucidchart.com/">Lucidchart</a> with another viewer or collaborator. You can invite a collaborator to work on a diagram with you, as well as publish your diagram to all sorts of places, including:</p>
<p>- Traditional printed page<br />
- Unique webpage hosted on the Lucidchart site<br />
- Permanent online PDF link<br />
- Popular image formats: PDF, PNG, and JPEG<br />
- Embedded in a blog or wiki<br />
- Shared on Twitter, Facebook, or the Lucidchart Community page</p>
<p>If you’d like to give Lucidchart a whirl, try out the <a href="https://www.lucidchart.com/demo/">free demo</a> and be sure to let me know what you think in the comments below!</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2013/01/lucidchart-diagramming-for-linux-users/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced Programming in Expect: Prompt Your Prompts</title>
		<link>http://linuxgazette.net/2013/01/advanced-programming-in-expect-prompt-your-prompts</link>
		<comments>http://linuxgazette.net/2013/01/advanced-programming-in-expect-prompt-your-prompts#comments</comments>
		<pubDate>Fri, 25 Jan 2013 01:14:27 +0000</pubDate>
		<dc:creator>David L. Fisher</dc:creator>
				<category><![CDATA[January 2013]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/?p=1024</guid>
		<description><![CDATA[Maintaining Synchronization With Remote Session Prompts The critical aspect of the command prompt is to ensure that an automated system is in sync with the remote process it is controlling. A command prompt is meant to indicate that there is &#8230; <a href="http://linuxgazette.net/2013/01/advanced-programming-in-expect-prompt-your-prompts">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Maintaining Synchronization With Remote Session Prompts</h2>
<p>The critical aspect of the command prompt is to ensure that an automated system is in sync with the remote process it is controlling. A command prompt is meant to indicate that there is a process waiting for commands or other inputs. Duh. Accurate prompt detection becomes very important to the reliability of an automated system because without knowing whether or not you have captured the most recent prompt and the remote process is actually waiting for input, your system might wind up sending data to a system in an unknown state, a condition likely to cause failures and errors and possible even exceptional exits. Typically the cause of losing sync with the current prompt is that the prompt captured is the one before the command was issued – this results in an automated system thinking it has received the output of a completed command and the remote session is ready for the next command.</p>
<p>This article will thoroughly address the issue of prompt detection regardless of the factors that may confound ordinary prompt detection and verification, and allow automation developers to focus on other tasks instead of debugging what can be an intermittent error.</p>
<p>For those of you who intend on working with the code, I can&#8217;t emphasize this enough: always wear eye protection.</p>
<h2>Can You Control The Prompt?</h2>
<p>Once common mistake developers make is to use a generic regular expression using common characters used as the last non-space character of the prompt, and anchoring the expression. For example, consider this prompt:</p>
<pre>“\[\r\n]?\[^\r\n]+\[%#&gt;\$] $”</pre>
<p>This defines a string where there may be a line break, then a string which terminates in a common prompt character and a space, and that space must be the last character. This is a reasonable definition and works in most cases, until it stops working.</p>
<p>Besides the fact that prompts may be set to something that does not adhere to the standard prompt expression, there are also instances in which you may thing you got the prompt, but instead matched something within the incoming data. Even on very fast connections, if you enable diagnostics and watch Expect&#8217;s internal matching attempts, you may see that it is processing one character at a time, and you can watch the input buffer grow until a match is made. When dealing with cell modems and other slow connections, it is possible (I know from personal experience) that the data may appear to stop and the last part if it may match the above expression. Your expect clause will exit, thinking it has captured the next command prompt, when in fact your system should still be iterating the expect clause and waiting for the real prompt.</p>
<p>The above condition is even possible no matter how much you can control the prompt, and you may also have to deal with systems that don&#8217;t allow you to set the prompt.<br />
In situations where the prompt itself is part of the returned data (such as if you printenv on the remote system), and you are able to control the prompt output, there is one trick that will help many of the subtle mistakes that prompt expressions cause. By setting the command prompt to include the command number of the command you just executed, you can expect a prompt with a number one higher than that number. For example, in csh, adding the parameter “%h” will output the command history number. You can then set your expected clause to include a number two higher (see below) as the next command prompt, and avoid the confusion of seeing the last prompt. The actual arguments you would use in your prompt settings, and how you would choose to get this number (either by regular expression to capture it or using the history command) is up to you.</p>
<p>The following section applies to handling basic command shells like bash, sh, csh, etc. The section after that applies to any prompting at all.</p>
<h2>A Solution for Spawned Shells</h2>
<p>For sessions which invoke something beyond just shell commands, we can&#8217;t rely on this solution unless we want to specify the prompt we expect. For example, the history number would not show if you were to invoke any program that prompts (like telnet).<br />
I use Csh when I spawn sessions, so the following example will only work for Csh/Tcsh users, and I&#8217;ve added other interesting data (the %h in the prompt setting is the command number in the shell&#8217;s history, and it increments every time a command is executed but not when blank lines or carriage returns are sent):</p>
<pre>set prompt = “\[%h\]$USER@${HOST}:`pwd`&gt; “</pre>
<p>This will result in a prompt that looks something like this:</p>
<pre>[223]root@cyborg:/usr/local/etc&gt;</pre>
<p>Before we issue the command that we&#8217;re expecting some output from, we should know what the history number will be of the next prompt. A simple shell command will suffice:</p>
<pre>set number = `history | tail -1 | awk '{print $1}'`</pre>
<p>This is the command number of the command we are going to send, and incrementing it by one will give us the command number that we expect to see in the next command prompt</p>
<pre>“\[\r\n]?\\[$number\\]\[^\r\n]\+[%#&gt;\$] $”</pre>
<p>The above expression assumes that “number” is the calculated value of the next command prompt to expect.. This solution should be elegant enough to stand the test of time, but only when dealing with systems where you can set the prompt to include history numbers. An alternative would be to use unique numbers and set the prompt every time before sending the command, and then using that unique number to determine whether it is the same as the one you sent the command to – if so, your expect clause should continue executing. In TCL8.4, you could use “clock clicks -milliseconds” to get the number, but this command has been deprecated and in TCL8.5 beta the command would be “clock -milliseconds”.<br />
Here is an example in TCL to send a command and make sure your expect clause doesn&#8217;t exit earlier than it should.<br />
, to accomplish the above example, using the sample prompt:</p>
<h2>Is This Really The Prompt I&#8217;ve Been Expecting?</h2>
<p>Suppose you are unable to create a unique expression for each time you are waiting for the next command prompt. This is where it gets annoying and when automated systems get derailed.<br />
If we&#8217;re reasonably sure we&#8217;ve captured the most recent prompt and the remote process is actually prompting for more commands, we may want to make sure. If we couldn&#8217;t do enough with the prompt to be reasonably sure it&#8217;s the most recent, then we really want to make sure. If we don&#8217;t even know what the prompt is, then we have to find out and verify it. Like most philosophies about handling multiple remote command sessions, we often hit the return key once or twice to make sure the system is still responsive – after we&#8217;ve determined that the system isn&#8217;t waiting for an answer to a question. If it&#8217;s waiting for an answer, and especially if it provides a default if you simply hit the enter key, then this strategy won&#8217;t work. Therefore, besides just detecting command prompts, we must have something to determine whether we&#8217;re being asked a question instead.</p>
<p>The following example is for optionally discovering and definitely determining what the current prompt is. It is a re-entrant procedure for discovery, and only runs once for verification.</p>
<pre>proc check_prompt { id {prompt ""} {wait 0} {timeout 1} } {

    ## we have to determine the prompt, and we may have to wait first
    after $wait;

    ## find out if the session is responsive
    exp_send -i $id "\n";

    ## process what we get back as a response
    if { "$prompt" != "" } {
       ## we are looking for a particular prompt to verify
       ## this can be changed to allow flexibility if needed
       expect {
           -i $id
           -t $timeout
           -exact "($prompt)$" {
               ## partial or complete prompt matched with anchors
               return $expect_out(1,string);
           }
           timeout {
               error "Timeout checking prompt against $prompt";
           }
       }
    } else {
       ## use a fairly well-crafted regular expression to find a prompt, and
       ## then re-enter this procedure with a verification request
       expect {
           -i $id
           -t $timeout
           -re {your-(well-crafted-expression)} {
               ## you may not feel the need to verify this one
               return $expect_out(1,string);
           }
	    -re "\[\r\n](\[^\r\n\]+\[%#&gt;&gt;\$] ?)$" {
		## verify the suspected prompt
		return [check_prompt $id $n $expect_out(1,string)];
	    }
	    timeout {
		error "Timeout checking prompt";
		return "UNKNOWN";
        }
    }
}</pre>
</p>
<p>Note the first argument is the spawn id &#8211; Expect programmers should get used to passing this variable if they are handling multiple spawned sessions in the same procedures.<br />
If this procedure is called with just the spawn id, it will attempt to determine the current prompt and then call itself with the prompt on the command line to verify it, and then return the prompt or throw an exception. If this procedure is called with both the spawn id and the n parameter (the next history command number), the we can more precisely define an expression that should exactly match the command prompt we&#8217;re expecting. f this procedure is called with a prompt argument, it will either return the very same prompt or throw an exception.</p>
<h2>But Wait – There&#8217;s More</h2>
<p>The solutions presented above have proven to be invaluable in keeping an automated system in sync with a remote command prompt. There are still some instances where even more is required. Sometimes a threaded program will return to the command prompt while one or more of the threads have not yet completed, and when they do, they will report to the same stdout/stderr that the original program had.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2013/01/advanced-programming-in-expect-prompt-your-prompts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remind &#8211; A Killer App</title>
		<link>http://linuxgazette.net/2013/01/remind-a-killer-app-2</link>
		<comments>http://linuxgazette.net/2013/01/remind-a-killer-app-2#comments</comments>
		<pubDate>Thu, 24 Jan 2013 11:46:52 +0000</pubDate>
		<dc:creator>Henry Grebler</dc:creator>
				<category><![CDATA[January 2013]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/?p=1035</guid>
		<description><![CDATA[For many years, I worked for the same organisation. There are positives and negatives in this sort of corporate longevity. For almost the whole time I was there, my private me was inextricably mixed up with my corporate me. I &#8230; <a href="http://linuxgazette.net/2013/01/remind-a-killer-app-2">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For many years, I worked for the same organisation. There are positives and negatives in this sort of corporate longevity. For almost the whole time I was there, my private <em>me</em> was inextricably mixed up with my corporate <em>me</em>. I started at Optimation before there was email. When email came along, I was <strong>henryg@optimation.com.au</strong>. I didn&#8217;t have a personal email address. Eventually I got a Hotmail account; but it wasn&#8217;t really <em>me</em>.</p>
<p>At Optimation, I had a Solaris workstation, mostly SPARC, for a short time X86. With Solaris came Calendar Manager. I soon came to depend on it. Other people had personal organisers, or diaries. I used CM. Again my personal and corporate personae were interlinked.</p>
<p>When Optimation and I parted ways, I needed to extract my personal bits. By that time, I had cable Internet at home and a little-used email address. This is now my main email presence.</p>
<p>How would I replace Calendar Manager? I suppose I could have run Solaris X86 at home. These days I could run OpenSolaris in a VM. Back then, I searched around and came across Remind.</p>
<p>Remind is my idea of a Killer App. I cannot sing its praises highly enough. Remind comes from <a href="http://www.roaringpenguin.com/products/remind/">Roaring Penguin</a> and is written by David Skoll.</p>
<h3>Why Remind ticks all my boxes</h3>
<p>Basically, in my opinion, Remind exemplifies the right way to implement a GUI. In fact, one could argue that there are two Reminds: a command-line version, and a GUI. I suspect that David started by writing the command-line version; he added the GUI front-end, TkRemind, later.</p>
<pre>	It provides a friendly graphical interface which allows you to
	view your calendar and add reminders without learning the
	syntax of Remind.

		- TKREMIND(1)</pre>
<p>But the two are beautifully integrated. The term &#8220;front-end&#8221; does it an injustice.</p>
<p>Remind has a very rich and powerful language to specify reminders. More commonly used reminders can be created simply. But there is also a bewildering array of features which are more complicated to specify. So, if you want to do the tricky stuff, you can; you&#8217;re just going to have to work a bit harder. If you have simple requirements, you can stick to the GUI.</p>
<p>I believe that it is hard to find applications that can be used easily and quickly by beginners, but can still provide all the features for users who are there for the long haul. In this, Remind suits me very well. I am often reluctant to spend a long time learning an application before I can see any results.</p>
<p>With Remind, I was able to see useful and usable results in a matter of minutes. In the last 4 years, I have learnt more about Remind and can do more with it. It&#8217;s called ROI (Return On Investment). In this case, my investment is my time. I want to be able to make a small investment and recoup it before making bigger investments. I was comfortable investing the extra time in learning more, because Remind kept giving back. It has never disappointed me. It&#8217;s analogous to a satisfying relationship.</p>
<h3>A Tour of Remind</h3>
<p>TkRemind has a bit of CM about it. Typically, it displays a view of the current month. Click on a day and you can add a reminder. These can be quite complex. I don&#8217;t think the details are important. You can find out more at the URL above. You can also go to <a href="http://www.linuxjournal.com/article/3529">Remind: The Ultimate Personal Calendar</a> which was the article that turned me on to Remind.</p>
<p>To me, what makes Remind so special is the brilliant (and very simple) integration of Remind, TkRemind and the supporting database. That and it&#8217;s near-infinite flexibility; I have found nothing set in concrete.</p>
<p>By default, TkRemind reads $HOME/.reminders. That&#8217;s what I started with. Eventually, I decided my requirements were better served another way. Instead of a single file, I now have a REMINDERS directory. In that directory, I have a &#8220;main&#8221; file (.reminders) and perhaps a dozen include files. The names of these files tell you the story:</p>
<pre>.reminders			The "main" file
.reminders_birthdays
.reminders_custom		personal customisations (see below)
.reminders_daylight_savings
.reminders_public_holidays	public holidays in my neck of the woods
.reminders_utility		useful definitions
.reminders_year_by_year		a container for the following

.reminders_ad_hoc_2011		uncategorised reminders
.reminders_footy_2011
.reminders_movies_2011
.reminders_theatre_2011

.tkreminders			reminders inserted via tkremind (see below)</pre>
<p>.reminders_custom needs a little explanation. One of the nice things that come with Remind is a highly sophisticated capability for calculating astronomical events eg sunrise, sunset. However, for this to work, your location (latitude and longitude) are essential. This is the file in which I set these parameters.</p>
<p>I discovered that TkRemind permits the user to have a separate file for entries added through the GUI. I use .tkreminders for this. It&#8217;s a little feature that demonstrates why David is brilliant.</p>
<p>At first, I had a single reminder file based on a sample provided with the software. Then I decided I wanted to separate different parts. One of the obvious separations revolves around things that happen in a calendar year. Once the year is over, there&#8217;s no point keeping them in the database (archive perhaps).</p>
<p>All these files can be kept under revision control eg RCS. I guess it&#8217;s more useful for the first group of files above; these constitute the infrastructure as it were. The group with the year (2011) in the name are only relevant for a single year.</p>
<h3>Integration</h3>
<p>How does it all hang together? In a word, superbly. It&#8217;s a classic case of horses for courses. If I want to add a single event, like a dentist appointment, I do that through the GUI. Anything ad hoc but easy to describe can also be added through the GUI.</p>
<p>Each year, when the football fixture comes out, I edit .reminders_footy_YYYY &#8211; because I find that sort of entry easier to generate using an editor. The same is true for the other year-by-year activities.</p>
<p>If you think about it, you realise that adding one-off reminders through the GUI makes sense; but deleting them is often best done in bulk. From time to time, I can edit .tkreminders pruning old entries.</p>
<p>The whole thing integrates seamlessly. If I edit the underlying text files, I don&#8217;t need to perform any magic to get the changes reflected in the GUI. At worst, I only need to go forward a month and then back to the current month to see the effect of my changes.</p>
<h3>Unix/Linux Principles</h3>
<p>Remind does not try to be an operating system:</p>
<pre>	You  can  use  any  text editor capable of creating plain
	ASCII files ...</pre>
<p>It just does the one thing extremely well.</p>
<p>How can you possibly manage change in a GUI-only environment?</p>
<p>Consider Microsoft Word. It has a mode which lets you compare one rev with another. But this could be seen as the bane of Linux purists. An app should do only one task, be as small as feasible and do that one task well.</p>
<p>I already have diff and grep. I don&#8217;t want the next app I adopt to provide another flavour for me. For all I know Remind has a search function. I don&#8217;t care. I know that all the data is stored in flat text files. Easy to search &#8211; grep. Easy to manage revisions &#8211; rcs. Easy to determine what&#8217;s changed &#8211; diff.</p>
<p>And for those things that are best done through a GUI &#8211; TkRemind: quick, clean, easy to learn, easy to use. Dare I say intuitive?</p>
<h3>Recommendation</h3>
<p>If you already have something which handles your calendar needs, I doubt that this article will get you to change. That&#8217;s fine. To each his own.</p>
<p>On the other hand, if you&#8217;re dissatisfied with what you have, or you&#8217;re looking around, Remind has my unequivocal recommendation.</p>
<h3>Footnote</h3>
<p>While I was writing this article, I was struck by the possibility of improving the way I handle the year-by-year events. I now have several files which achieve the equivalent of a couple of loops:</p>
<pre>#       for year in lastyear thisyear nextyear; do
#               for activity in theatre_ footy_ movies_ ad_hoc_; do</pre>
<p>The nub of the loop is to conditionally include only those files which exist.</p>
<p>It means that I can now add or delete files of the form</p>
<pre>	.reminders_<em>activity</em>_<em>yyyy</em></pre>
<p>without ever changing the infrastructure. If the file exists, it will be included; if not, not. In December, I can look ahead to see what&#8217;s coming up next year. In January, I can see what I did the previous year.</p>
<p>Try that with your favourite GUI.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2013/01/remind-a-killer-app-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>News Bytes #190</title>
		<link>http://linuxgazette.net/2013/01/news-bytes-190</link>
		<comments>http://linuxgazette.net/2013/01/news-bytes-190#comments</comments>
		<pubDate>Thu, 24 Jan 2013 01:19:12 +0000</pubDate>
		<dc:creator>Brad Hanks</dc:creator>
				<category><![CDATA[September 2012]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Newsbytes]]></category>
		<category><![CDATA[September]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/?p=1255</guid>
		<description><![CDATA[Events DreamForce 2011 Aug 29-Sept 2, Moscone Center, San Francisco, CA http://www.salesforce.com/Dreamforce Intel Developer Forum &#8211; IDF 2011 Sept 13-15th. Moscone Center, San Francisco, CA http://www.intel.com/IDF Storage Decisions New York September 19, 2011 &#8211; New York, NY (ISC)2 Security Congress &#8230; <a href="http://linuxgazette.net/2013/01/news-bytes-190">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Events</h2>
<p><strong>DreamForce 2011</strong><br />
Aug 29-Sept 2, Moscone Center, San Francisco, CA<br />
<a href="http://www.salesforce.com/Dreamforce">http://www.salesforce.com/Dreamforce</a></p>
<p><strong><a href="http://www.google.com/aclk?sa=L&amp;ai=CeQI79RVCTuqTBpK0iAL9lIH2AqSn-4UCtNun7B60pJmFZggAEAFQ5-jSmARgyabchsij_BrIAQGqBBlP0BIxCEapYYzqki5er6THO7HIy63ah1IN&amp;sig=AOD64_0m5SFtvxlI3YqEi2iyCd1MR3ZwoA&amp;ved=0CAgQ0Qw&amp;adurl=http://www.intel.com/IDF/%3Fcid%3Dcim:ggl%7Cidf2011_us_brand%7Cti1ED43%7Cs">Intel Developer Forum &#8211; IDF 2011</a></strong><br />
<a href="http://www.google.com/aclk?sa=L&amp;ai=CeQI79RVCTuqTBpK0iAL9lIH2AqSn-4UCtNun7B60pJmFZggAEAFQ5-jSmARgyabchsij_BrIAQGqBBlP0BIxCEapYYzqki5er6THO7HIy63ah1IN&amp;sig=AOD64_0m5SFtvxlI3YqEi2iyCd1MR3ZwoA&amp;ved=0CAgQ0Qw&amp;adurl=http://www.intel.com/IDF/%3Fcid%3Dcim:ggl%7Cidf2011_us_brand%7Cti1ED43%7Cs">Sept 13-15th. Moscone Center, San Francisco, CA</a></p>
<p>http://www.intel.com/IDF</p>
<p><strong><a href="http://storagedecisions.techtarget.com/newyork/index.html?Offer=eventsite">Storage Decisions New York</a></strong><br />
September 19, 2011 &#8211; New York, NY</p>
<p><a href="http://www.mmsend57.com/link.cfm?r=312730714&amp;sid=14363753&amp;m=1429793&amp;u=ITPGA&amp;j=6049761&amp;s=https://www.isc2.org/congress2011">(ISC)2 Security Congress</a><br />
September 19-22, Convention Center, Orlando, FL<br />
<a href="https://www.isc2.org/congress2011">https://www.isc2.org/congress2011</a></p>
<p><strong>Semantic Technology Conference &#8211; LONDON</strong><br />
September 26-27, 2011, Hotel Russell, London<br />
<a href="http://semtechuk2011.semanticweb.com/index.cfm">http://semtechuk2011.semanticweb.com/index.cfm</a><br />
,<br />
<strong>Intel Elements 2011</strong><br />
Sept 28-29, Seattle, WA<br />
<a href="http://appdeveloper.intel.com/">http://appdeveloper.intel.com</a></p>
<p><a href="http://www.oracle.com/openworld%20%20">Oracle OpenWorld 2011</a><br />
Oct 2-6, Moscone Center, San Francisco, CA</p>
<p>http://www.oracle.com/openworld</p>
<p><strong>Mobile and Smart Device Security</strong><br />
Oct 4-6, Intercontinental, Atlanta, GA<br />
<a href="http://www.misti.com/mobile">http://www.misti.com/mobile</a></p>
<p>S<strong>ilicon Valley Code Camp 2011 &#8211; Fre</strong>e<br />
Oct 8-9, Foothill College, Los Altos, CA<br />
<a href="http://www.siliconvalley-codecamp.com/Register.aspx">http://www.SiliconValley-CodeCamp.com/Register.aspx</a></p>
<p><strong>DISKCON USA 2011</strong></p>
<p>October 18-20, Convention Center, Santa Clara, CA.<br />
<a href="http://www.idema.org/?p=2054">http://www.idema.org/?p=2054</a></p>
<p><strong>LinuxCon Europe/Embedded Linux Conference Europe</strong><br />
October 26-28, 2011<br />
Clarion Congress Hotel/Prague, Czech Republic<br />
<a href="http://events.linuxfoundation.org/events/linuxcon-europe">http://events.linuxfoundation.org/events/linuxcon-europe</a></p>
<p><strong>AnDevCon II</strong><br />
Nov 6-9, 2011, Hyatt Regency, Burlingame, CA<br />
<a href="http://www.andevcon.com/">http://www.andevcon.com/</a></p>
<p><strong>ApacheCon North America 2011</strong><br />
Nov 7-11, Vancouver BC<br />
<a href="http://us.apachecon.com/c/acna2010/articles/2011/02/08/coming-soon-apachecon-north-america-2011/">http://us.apachecon.com/c/acna2010/articles/2011/02/08/coming-soon-apachecon-north-america-2011/</a></p>
<p><strong>Enterprise 2.0 Conference</strong><br />
Nov 15-17, 2011, Convention Center, Santa Clara, CA<br />
<a href="http://www.e2conf.com/santaclara/">http://www.e2conf.com/santaclara/</a></p>
<p>Cloud Security Alliance Congress<br />
Nov 16-17, 2011, Orlando, FL<br />
<a href="http://www.misti.com/cloud">http://www.misti.com/cloud</a></p>
<p>LinuxCon Brazil<br />
November 17 &amp; 18, 2011<br />
Expo Center Norte/Sao Paolo, Brazil<br />
<a href="http://events.linuxfoundation.org/events/linuxcon-brazil">http://events.linuxfoundation.org/events/linuxcon-brazil</a></p>
<p>Semantic Technology Conference &#8211; EAST<br />
Nov 29-Dec 1, 2011, Kellogg Conference Hotel, Washington, DC<br />
<a href="http://semtecheast2011.semanticweb.com/index.cfm">http://semtecheast2011.semanticweb.com/index.cfm</a></p>
<h2>Distros</h2>
<h3>Network Security Toolkit (NST) Version 2.15.0 Released</h3>
<p>The latest NST release: &#8220;v2.15.0&#8243; is based on Fedora 15 using Linux Kernel 2.6.40 rebased from latest Linux Kernel: 3.0.</p>
<p>Added NST RPM packages include the Open Vulnerability Assessment Scanner (OpenVAS) and Greenbone Security tools. Also added is an NST RPM package of the THC IPv6 ATTACK TOOLKIT.</p>
<p>Here are some of the highlights for this release:</p>
<p>* Developed a new interactive dynamic SVG/AJAX enabled Network Interface Bandwidth Monitor application that is integrated into the NST WUI for monitoring pseudo real-time network bandwidth rates.</p>
<p>* Added NST RPM packages and NST WUI integration for the Open Vulnerability Assessment Scanner (OpenVAS) and Greenbone Security tools.</p>
<p>* Added an NST RPM package for IPv6 network security investigation: The THC IPv6 ATTACK TOOLKIT.</p>
<p>* Now supporting the GNOME 3.0 desktop for NST integrated network security applications.</p>
<p>* Refactored all NST integrated services for transistion to the new systemd System and Service Manager for service control.</p>
<p>* By default, now supporting the new Fedora Network Device Naming convention (e.g., eth0 =&gt; p2p1 or eth0 =&gt; em1).</p>
<p>* Many new NST WUI enhancements and refinements.</p>
<p>As always, the networking and security applications included have been updated to their latest version.</p>
<h3><a href="http://bkhome.org/blog/?viewDetailed=02418">Lucid Puppy 5.2.8 released</a></h3>
<p>Lucid Puppy is the edition of Puppy Linux that is built from Ubuntu binary packages and has compatibility with, and access to, the vast Ubuntu package repositories.</p>
<p>According to Puppy coordinator Larry Short:</p>
<p>&#8220;Lucid Puppy 5.2.8 is the fastest and friendliest Lucid yet. It is the fastest because it is the first Lucid to use the C and ffmpeg libraries optimized for i686 computers rather than the older i386 computers. Lucid 5.2.8 has also received a thorough going-over under the hood. There is new and updated firmware and drivers for many devices, courtesy of forum member tempestuous, and the hardware detection and configuration routines have been extensively tested and enhanced by forum member rerwin. The overall look and feel has been influenced by experiments forum member pemasu, to make the user interface fun for Linux newbies and experienced users alike.&#8221;</p>
<p>Lucid 5.25 is also a major update from Lucid 5.2.  It has Bash 4.1.0, an upgrade from Bash 3, Syslinux 4.03, an upgrade from Syslinux 3, and e2fsprogs 1.41.14, the latest from Ubuntu Natty. It also now has JWM 500, up from 493 and Gnumeric 1.10.13 (up from 1.10.12 in 5.2).</p>
<p>For full release notes go to :<br />
<a href="http://distro.ibiblio.org/puppylinux/puppy-5.2.8/release-Lucid-528.htm">http://distro.ibiblio.org/puppylinux/puppy-5.2.8/release-Lucid-528.htm</a></p>
<h2>Products</h2>
<h3>Reflex Announces Integrated Capacity and Performance Analytics</h3>
<p>In August,<a href="http://www.reflexsystems.com/"> Reflex Systems</a>, a leader in virtualization management solutions, announced availability of a<a href="http://www.reflexsystems.com/products/vcapacity"> vCapacity</a> module for Reflex Virtualization Management Center (VMC). With vCapacity, Reflex VMC integrates monitoring, performance, capacity, configuration management and security into a single solution, providing real-time visibility, correlation and control across your entire virtual or private cloud environment. VMC with vCapacity allows administrators to spend more time solving infrastructure issues, instead of manually integrating, correlating and reporting activity across multiple products and consoles.</p>
<p>From a single interface and a single logical database, Reflex VMC provides the ability to show historical performance, change tracking, monitoring, capacity, configuration, inventory, chargeback/showback, and security intelligence. The new integrated capacity planning and enhanced performance analytics in vCapacity enable integrated functionality that isn’t possible with VMware vCenter, VMware management products, or point solutions. vCapacity is highly customizable in terms of both presentation of data within the interface, as well as online and offline reporting. This enables organizations to customize capacity planning and performance management to truly meet the individual demands of their organization.</p>
<p>“Capacity planning is a big issue for organizations as they mature in their use of virtualization, especially as they evolve to a private cloud model,” said Rachel Chalmers, Research Director, Infrastructure Management for The 451 Group. “Users are searching for capabilities that make capacity planning more accurate, straightforward and integrated with their existing systems and best practices. Reflex offers them broad functionality that spans multiple management disciplines within the IT organization.”</p>
<p>vCapacity, when combined with the integrated feature sets of the VMC, provides a broad view of capacity and performance analytics in context of the entire virtualized data center. Operations teams may be using resources efficiently based on initial capacity analysis but ongoing management of resources within the broader management of the virtual infrastructure is critical to improve both CAPEX and OPEX efficiency.</p>
<ul>
<li>Reflex provides a high-level summary dashboard as well as granular targeted dashboards highlighting capacity, contention, latency, inventory, allocation, availability and efficiency. vCapacity allows administrators to quickly visualize capacity planning issues, such as:</li>
<ul>
<li>Resources (CPU, memory &amp; storage) that are being wasted</li>
<li>Where resource contention is highest across the entire environment</li>
<li>Physical resource overcommitment usage and trends</li>
<li>Which VMs are consuming the most resources</li>
<li>Capacity usage across time, including future forecasting</li>
</ul>
</ul>
<p>For further information on the new vCapacity capabilities, visit  <a href="http://www.reflexsystems.com/">www.reflexsystems.com</a> and follow Reflex at<a href="http://twitter.com/ReflexSystems"> http://twitter.com/ReflexSystems</a> and the vCurve Blog:<a href="http://blog.reflexsystems.com/"> blog.reflexsystems.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2013/01/news-bytes-190/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Away Mission for August</title>
		<link>http://linuxgazette.net/2013/01/away-mission-for-august</link>
		<comments>http://linuxgazette.net/2013/01/away-mission-for-august#comments</comments>
		<pubDate>Wed, 23 Jan 2013 01:10:50 +0000</pubDate>
		<dc:creator>Howard Dyckoff</dc:creator>
				<category><![CDATA[August 2011]]></category>
		<category><![CDATA[Away Mission]]></category>
		<category><![CDATA[LinuxCon]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[USENIX]]></category>
		<category><![CDATA[VMworld]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/?p=1040</guid>
		<description><![CDATA[LinuxCon North America In August, LinuxCon celebrated 20 years of Linux. That&#8217;s right, its been 2 rapid decades since Linus Torvolds sent our his historic post to the MINIX news group that he was working on a small open source &#8230; <a href="http://linuxgazette.net/2013/01/away-mission-for-august">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>LinuxCon North America</strong></p>
<p>In August, LinuxCon celebrated 20 years of Linux. That&#8217;s right, its been 2 rapid decades since Linus Torvolds sent our his historic post to the MINIX news group that he was working on a small open source version of a Unix-workalike for personal computers.</p>
<p>LinuxCon North America in Vancouver will be ground zero for the festivities, and a major Linux conference as well. Besides the &#8220;Roaring 20&#8242;s&#8221; 20th Anniversary Gala, there will be hot topic panels and presentations on the Kernel, device drivers, embed Linux, IPv6, benchmarks and tracing. LinuxCon brings together the Linux community including core developers, administrators, end users, business executives and operations experts. In short, all of us.</p>
<p>As part of the festivities, the Linux Foundation is hosting a Facebook Quiz: &#8220;Could you do Linus Torvalds&#8217; Job?&#8221; Linus has made it clear he&#8217;s not going anywhere, but, here is a cool way to find out if you&#8217;ve got what it takes to manage the kernel development community. But here is something even cooler: everyone who participates in the quiz gets a a custom code for 25% off the LinuxCon registration fee. You can also take the quiz as many times as you like. Take the quiz now: http://www.facebook.com/TheLinuxFoundation?sk=app_209551195757882</p>
<p>You also have a chance to experience IBM&#8217;s Watson by testing your skills against the Jeopardy! champion. The Watson game and video interface will be on display at LinuxCon and is at the IBM booth in the Technology Showcase.</p>
<p>Besides the panels, parties, and the special 20th aniversary t-shirt, there is also an<br />
historical gallery at LinuxCon North America to help remember Linux’s last 20 years. This gallery is a walk down memory lane and should be fun for everyone, but LinuxCon needs your help &#8211; send or bring more memorabilia. Aready collected: the original books Linus used to learn programming, CDs and boxes of early Linux distributions, computers used to do early hacking, memorabilia from IBM’s Peace/Love/Linux campaign and much more.</p>
<p>For more information on the Linux History Gallery and how to donate, please visit Amanda McPherson&#8217;s blog:</p>
<p>http://www.linux.com/news/featured-blogs/167-amanda-mcpherson/466227-do-you-have-linux-memorabilia-to-donate-to-our-linuxcon-gallery</p>
<p>&nbsp;</p>
<p><strong>USENIX Security Symposium and co-located events</strong></p>
<p>Preceeding LinuxCon in the second week of August will be the 20th USENIX Security Symposium which is co-located with specialty conferences such as WOOT (Workshop on Offensive Technologies) and HotSec (Hot Topics in Security).</p>
<p>Here is the full list of co-located events:</p>
<p>EVT/WOTE &#8217;11: 2011 Electronic Voting Technology/Workshop on Trustworthy Elections<br />
CSET &#8217;11: 4th Workshop on Cyber Security Experimentation and Test<br />
FOCI &#8217;11: USENIX Workshop on Free and Open Communications on the Internet<br />
WOOT &#8217;11: 5th USENIX Workshop on Offensive Technologies<br />
HealthSec &#8217;11: 2nd USENIX Workshop on Health Security and Privacy<br />
HotSec &#8217;11: 6th USENIX Workshop on Hot Topics in Security<br />
MetriCon 6.0: Sixth Workshop on Security Metrics</p>
<p>I have previously been to HotSec and WOOT events and can say these are research-oriented and very cutting edge. Having all of these sessions under one roof will be very interesting and a great opportunity to interact with many people at the frontiers of computer and network security. Here are links to more recent USENIX security conferences, which have slides and white papers available:</p>
<p>http://www.usenix.org/events/sec10/tech</p>
<p>http://www.usenix.org/events/hotsec10/tech/</p>
<p>http://www.usenix.org/events/woot10/tech/</p>
<p>http://www.usenix.org/events/cset10/tech/</p>
<p>The program begins with the two-day tutorial TCP/IP Weapons School 3.0 taught by Richard Bejtlich and continues with its 3-day technical program. All events will take place at the Westin St. Francis near Union Square.</p>
<p><strong>Black Hat North American</strong></p>
<p>In the first week of August is the somewhat infamous Black Hat Conference for hackers and security professionals. This is the event where alpha geeks demonstrate successful attacks on smartphones, ATMs, and DOD facilities.</p>
<p>The real heavy duty hacking happens at the even more infamous DefCon event which overlaps the main Black Hat event, but you need an exclusive invitation to attend to DevCon. And if you do go to DefCon, or even Black Hat, be prepared to reformat your internet access device. Everyone is a target.</p>
<p>But this year, you can see some of the event online. Via the Black Hat Uplink program, thousands of security professionals from around the world will be a part of Black Hat USA 2011, but not in Las Vegas at the live event. With Black Hat Uplink, you can experience the content that shapes the security industry from the comfort of your home or office machine. There will be 2 tracks of content available &#8211; perhaps vendor-sponsored sessions &#8211; and the keynotes and award ceremonies, all for free. The hitch here is that you can&#8217;t review any sessions online without paying the access fees &#8211; only the keynotes will be available for replay. Of course, onsite registraton will set you<br />
back $2495.</p>
<p>Black Hat Uplink registration is here:</p>
<p>http://www.blackhat.com/html/bh-us-11/bh-us-11-uplink.html</p>
<p><strong>NoSQL Now</strong></p>
<p>NoSQL Now is a new conference but its being shepherded by Wilshire which also organizes MDM and BI events (and the Semantic Technology conference until this year) Its also a very hot trend right now and should attract a large and varied group of attendees. Like other Wilshire events, lunch is NOT provided except for a one day lunch and learn session. Pack your own or carry cash for for eateries in San Jose.</p>
<p>Topics so far include items such as &#8220;NewSQL vs NoSQL for New OLTP&#8221; and &#8220;Putting Business Intelligence to Work on Hadoop Data Stores&#8221; . Although this is the first one, there is reason to expect this to be a good one.</p>
<p><strong>VMworld 2011</strong></p>
<p>Leading up the rear, but not the least by any criteria, is the annual VMworld conference. This is where all things VMware will be discussed and it keeps getting bigger. So its in Vegas this year instead of San Francisco. Hot days and nights. Carry lots of water.</p>
<p>Here are some stats from last year in San Francisco: VMworld 2010 attracted more than 17,000 customers, partners, and analysts, and 233 sponsors and exhibitors signifying a major shift in the IT industry towards cloud computing. VMworld 2010 featured more than 170 unique breakout sessions across 10 tracks. Expect an even bigger event this year, which is probably the reason its being held in Vegas.</p>
<p>This event could be ground-zero for for the newest innovations in virtualization and cloud computing. VMware and EMC continue to be the virtualization juggernaut, although the Linux KVM technology is gaining marketshare.</p>
<p>While VMworld isn&#8217;t streamed over the net (not yet), many sessions are available at the VMware Community site, where content is basically free., You can pre-purchase access to 2011 content for $699, which may include addtitional materials not on the community site. Many sessions from 2010 are currently available here: http://www.vmworld.com/community/sessions</p>
<p>For 2011, the first keynotes will be streamed and available for replay later. However, the Thursday keynote will NOT be available for replay. I assume it will be streamed, however.</p>
<p>Here is the August event list:</p>
<p><strong>Black Hat North America 2011</strong><br />
Aug 3-4, Caesar&#8217;s Palace, Las Vegas, NV<br />
<a href="http://www.blackhat.com/html/bh-us-11/bh-us-11-home.html"> http://www.blackhat.com/html/bh-us-11/bh-us-11-home.html</a></p>
<p><strong>20th USENIX Security Symposium</strong><br />
Aug 10-12, 2011, San Francisco, CA<br />
<a href="http://www.usenix.org/sec11/"> http://www.usenix.org/sec11/</a></p>
<p><strong>LinuxCon North America 2011</strong><br />
Aug 17-19, Hyatt Regency, Vancouver, Canada<br />
<a href="http://events.linuxfoundation.org/events/linuxcon"> http://events.linuxfoundation.org/events/linuxcon</a></p>
<p><strong>NoSQL NOW!</strong><br />
Aug 23-25, 2011, San Jose, California<br />
<a href="http://nosql2011.wilshireconferences.com/"> http://nosql2011.wilshireconferences.com/</a></p>
<p><strong>VMworld 2011</strong><br />
Aug 29-Sept 1, Venetian, Las Vegas, NV<br />
<a href="http://www.vmworld.com/index.jspa"> http://www.vmworld.com/index.jspa</a></p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2013/01/away-mission-for-august/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NewsBytes</title>
		<link>http://linuxgazette.net/2011/07/newsbytes</link>
		<comments>http://linuxgazette.net/2011/07/newsbytes#comments</comments>
		<pubDate>Sat, 02 Jul 2011 23:20:03 +0000</pubDate>
		<dc:creator>Howard Dyckoff</dc:creator>
				<category><![CDATA[July 2011]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/new/?p=353</guid>
		<description><![CDATA[Contents: News in General Conferences and Events Distro News Software and Product News Please submit your News Bytes items in plain text, as a one- or two-paragraph summary plus a URL; we do not publish entire press releases. Submit items &#8230; <a href="http://linuxgazette.net/2011/07/newsbytes">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="../../../gx/bytes.gif" border="1" alt="News Bytes" /></p>
<h3>Contents:</h3>
<ul>
<li><a href="#general">News in General</a></li>
<li><a href="#Events">Conferences and Events</a></li>
<li><a href="#distro">Distro News</a></li>
<li><a href="#commercial">Software and Product News</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
<p style="font-style: italic;">Please submit your News Bytes items in <strong>plain text</strong>, as a one- or two-paragraph summary plus a URL; we do not publish entire press releases. Submit items to <a href="mailto:bytes@linuxgazette.net">bytes@linuxgazette.net</a>. Deividson can also be reached via <a href="http://www.twitter.com/deivid_okop">twitter</a>.</p>
<hr />
<div id="news">
<p><a name="general"></a></p>
<h2>News in General</h2>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />ApacheCon 2011: Open Source Enterprise Solutions, Cloud Computing</h3>
<p><em>28 June 2011 FOREST HILL, MD</em> The Apache Software Foundation (ASF), the all-volunteer developers, stewards, and incubators of nearly 170 Open Source projects and initiatives, today announced &#8220;Open Source Enterprise Solutions, Cloud Computing, and Community Leadership&#8221; as the theme for ApacheCon North America.</p>
<p>ApacheCon is the ASF&#8217;s official conference, trainings, and expo, created to explore key issues in using and developing Open Source solutions &#8220;The Apache Way&#8221;. This year&#8217;s event takes place 7-11 November 2011 at the Westin Bayshore Vancouver, Canada, with early registration incentives available through 2 September 2011.</p>
<p>Apache products power more than 225 million Websites (over half the Internet) and countless mission-critical applications worldwide, from financial services to publishing to radioastronomy to social networking to biomedicine research datastores to mobile medial applications. More than a dozen Apache projects form the foundation of today&#8217;s Cloud computing, and five of the top ten Open Source downloads are Apache projects.</p>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />Oracle to Make Hudson an Eclipse Foundation Project</h3>
<p>Proposal Designed to Improve Insight, Predictability and Openness of Hudson Project.</p>
<p>Demonstrating its commitment to the developer and open source communities, Oracle has submitted a proposal to the Eclipse Foundation to create a Hudson project in Eclipse and contribute the Hudson core code to that project.</p>
<p>As part of the process, Oracle will transfer the Hudson trademark and the Hudson-ci.org domain name to the Eclipse Foundation.</p>
<p>Hudson is a industry-leading open source &#8220;continuous integration&#8221; (CI) server that increases productivity by coordinating and monitoring executions of repeated jobs, making it easier for developers to integrate changes to the project and for users to obtain a fresh build.</p>
<p>&#8220;Continuous Integration, and Hudson in particular, have become a key pillar of the modern Application Lifecycle Management (ALM) stack,&#8221; said Mik Kersten, CEO of Tasktop and founder of Eclipse Mylyn.</p>
<p>Under the new proposal, Oracle will be the project lead with Sonatype, Tasktop, and VMware as initial contributors. Other companies are also listed as project supporters. To help ensure that the proposal is in the best interests of the developer and open source communities, Oracle will solicit feedback from the Hudson community to make sure those opinions are heard before any proposal is finalized.</p>
<p>&#8220;This is the best possible outcome for the Hudson community &#8211; it gives the project a new path forward that benefits the entire Hudson ecosystem, especially its users. We applaud Oracle for moving Hudson to the Eclipse Foundation,&#8221; said Jason van Zyl, founder and CTO of Sonatype.</p>
<p>&#8220;By establishing a Hudson project at Eclipse and contributing the code and trademarks to the project, we believe that Oracle is acting in the best interest of Hudson and the community,&#8221; said Rod Johnson, senior vice president, Application Platform Strategy, VMware. &#8220;It&#8217;s important that the Java community has an open source CI solution with a broad-based set of committers.&#8221;</p>
<p>For more information, go to <a href="http://hudson-ci.org/">Hudson CI website</a>.</p>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />LexisNexis Announces Open Source Big Data Platform</h3>
<p>LexisNexis Risk Solutions announced in June that it will offer its data intensive supercomputing platform under a dual license, open source model, as HPCC Systems. Designed to solve big data problems, the platform is built on top of high performance computing technology and has been proven with customers for the past decade. The same week, LexisNexis also announced it was joining the Linux Foundation. HPCC Systems provides a high performance computing cluster (HPCC) technology with a single architecture and a consistent data centric programming language. HPCC Systems is an alternative to Hadoop.</p>
<p>&#8220;We believe that HPCC Systems will take big data computing to the next level,&#8221; said James M. Peck, chief executive officer, LexisNexis Risk Solutions. &#8220;We&#8217;ve been doing this quietly for years for our customers with great success. We are now excited to present it to the community to spur greater adoption. We look forward to leveraging the innovation of the open source community to further the development of the platform,&#8221; said Mr. Peck.</p>
<p>To manage, sort, link, and analyze billions of records within seconds, LexisNexis developed a data intensive supercomputer that has been proven for the past ten years with customers who need to process large volumes of data. Customers such as leading banks, insurance companies, utilities, law enforcement and federal government leverage the HPCC platform technology through various LexisNexis® products and services. The HPCC platform specializes in the analysis of structured and unstructured data for enterprise class organizations.</p>
<p>HPCC Systems will initially release a virtual machine for the community to test, in addition to documentation and training. Full binaries will be released in several weeks and the source code will be released in a few more weeks after the binaries. HPCC Systems will have two offerings: the Community Edition which includes free platform software with community support, and the Enterprise Edition, which includes platform software with enterprise class support. Enterprise Edition customers will also have the option to acquire advanced modules and features.</p>
<p>LexisNexis Risk Solutions will not release its data sources, data products, the unique data linking technology, or any of the linking applications that are built into its products. These assets will remain proprietary and will not be released as open source.</p>
<p>HPCC Systems can process, analyze, and find links and associations in high volumes of complex data significantly faster and more accurately than current technology systems. The platform scales linearly from tens to thousands of nodes handling petabytes of data and supporting millions of transactions per minute. HPCC Systems is comprised of a single architecture, a consistent data-centric programming language, and two processing platforms: the Thor Data Refinery Cluster and the Roxie Rapid Data Delivery Cluster.</p>
<p>The core of the technology platform is the Enterprise Control Language (ECL), which is a declarative, data-centric programming language optimized for large-scale data management and query processing. The expressiveness of the language enables data analysts and developers to define &#8220;what&#8221; they want to do with their data instead of giving the system step-by-step instructions. As a result, developers can express complex queries and transformations with less programming time and fewer lines of code than other conventional programming languages. ECL specifications will be released under a Creative Commons license.</p>
<p>The Thor Data Refinery Cluster is responsible for ingesting vast amounts of data, transforming, linking and indexing that data, with parallel processing power spread across the nodes. The Roxie Rapid Data Delivery Cluster provides scalable, high-performance online query processing and data warehouse capabilities.</p>
<p>For more information, visit <a href="http://hpccsystems.com">HPCCSystems</a>.</p>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />Gartner and Forbes Find Expectations of IT&#8217;s Strategic Contribution Will Double for 2012</h3>
<p>More boards of directors are expecting high to extremely high strategic contributions from IT in In the midst of tough economic times, according to a Gartner-Forbes 2011 U.S. Board of Directors Survey. The expectations of &#8220;high&#8221; to &#8220;extremely high&#8221; strategic contributions of IT climbed from 32 percent of survey respondents for 2010 to 66 percent for 2012.</p>
<p>From October to December, Gartner and Forbes surveyed 96 company directors. The Gartner Forbes 2011 U.S. Board of Directors Survey was designed to gain insight from a group that has low visibility to IT and business leaders, yet is ultimately held accountable for the performance of the corporation. The survey examined the key business issues and priorities of a sample of directors from companies with revenues over $1 billion, their view of what is ahead for their businesses, and their expectations for IT&#8217;s strategic contribution to the business.</p>
<p>&#8220;The pursuit of higher impact for IT in an environment of budget constraint is one that insists on rewriting the rules for how IT acts,&#8221; said Jorge Lopez, vice president and distinguished analyst at Gartner. &#8220;&#8230;[This is] where the IT organization takes a leadership position to rewrite the rules of competition for the industry. To meet the expectations that have risen will require rethinking about how IT operates,&#8221; Mr. Lopez said.</p>
<p>While 73 percent of board directors surveyed believe that the economic situation is tough and will remain so for the foreseeable future, 51 percent said they are still focused on growing revenue. The tension between these two views means that CIOs will need to plan for the systems that will be required for growth but build in flexibility should circumstances change amid high levels of uncertainty.</p>
<p>Additional information is available in the Gartner report &#8220;Executive Advisory: Gartner Forbes 2011 U.S. Board of Directors Survey: IT Expectations Rise Dramatically for 2012.&#8221; The report is available on <a href="http://www.gartner.com/resId=1604843">Gartner&#8217;s website</a>.</p>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />The Linux Foundation Announces LinuxCon Program</h3>
<p>The Linux Foundation has published the complete LinuxCon program and schedule and has announced that Linux creator Linus Torvalds will participate in an interview-style keynote with Greg Kroah-Hartman. The conference takes place August 17-19, 2011 in Vancouver, B.C. Also included is the co-located MeeGo Mini-Summit which will address MeeGo netbook and tablet applications and device development.</p>
<p>The LinuxCon event will host the formal 20th Anniversary of Linux celebration, which includes the LinuxCon Gala taking place the evening of August 17 at the Commodore Ballroom in Vancouver. It will also host a &#8220;20 Years of Linux&#8221; panel that will include Linux and open source luminaries Jon &#8220;maddog&#8221; Hall, FOSS veteran and advocate, and Eben Moglen, Software Freedom Law Center founder. The Linux Foundation&#8217;s Executive Director Jim Zemlin will moderate the exclusive panel.</p>
<p>Among many session highlights for this year&#8217;s LinuxCon North America program will be &#8220;How to Set a Broken ARM,&#8221; presented by Grant Likely from Secret Lab, who will explore the current state of ARM and the Linux development community;</p>
<p>Early bird registration ends July 8, 2011. For more information and to register, please visit the <a href="http://events.linuxfoundation.org/events/linuxcon">LinuxCon Website</a>.</p>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />OPEN VIRTUALIZATION ALLIANCE Created at OSBC</h3>
<p>In a session at the close of the annual Open Source Business Conference (OSBC), a group of virtualization vendors other than VMware formed a consortium to complement and promote the existing open source communities managing the development of the Kernel-based Virtual Machine (KVM)hypervisor and associated management capabilities.</p>
<p>The consortium will promote examples of customer successes, encourage interoperability and accelerate the expansion of the ecosystem of third party solutions around KVM, providing businesses and government improved choice for in-house virtualization.</p>
<p>The Open Virtualization Alliance will provide education, best practices and technical advice to help businesses understand and evaluate the Kernel-based Virtual Machine (KVM) hypervisor.</p>
<p>In June, Nimbula joined with OVA founding companies BMC, Eucalyptus, HP, IBM, Intel, Red Hat, and SUSE. KVM is built into current versions of Red Hat Enterprise Linux and Nimbula Director will support Red Hat Enterprise Linux 6 and Red Hat Enterprise Virtualization 2.2.</p>
<p>The Open Virtualization Alliance&#8217;s goals are to:</p>
<ul>
<li>Increase overall awareness and understanding of KVM;</li>
<li>Foster the adoption of KVM as an open virtualization alternative to proprietary solutions;</li>
<li>Accelerate the emergence of an ecosystem of third-party solutions around KVM;</li>
<li>Encourage interoperability, promote best practices, and highlight examples of customer successes.</li>
</ul>
<p>As a core component in the Linux kernel, KVM leverages hardware virtualization support built into Intel and AMD processors, providing a robust environment for hosting Linux and Windows virtual machines. KVM naturally leverages the rapid innovation of the Linux kernel (to virtualize both Linux and Windows guests), automatically benefiting from scheduler, memory management, power management, device driver and other features being produced by the thousands of developers in the Linux community.</p>
<p>Members of the Open Virtualization Alliance have a common interest in supporting open virtualization, and are involved in the development, distribution, support or use of KVM or offerings which use it. By providing an open virtualization alternative, they are offering their clients choice in virtualization products for their business needs.</p>
<p>&#8220;Eucalyptus Systems has a clear focus on enterprise cloud computing, so we are thrilled to be an early member of the Open Virtualization Alliance to advance enterprise-ready open virtualization solutions,&#8221; said Rich Wolski, Eucalyptus Systems CTO. &#8220;With Eucalyptus, users can transform their hypervisor environments into a powerful private cloud, and there are already thousands of KVM-based Eucalyptus private cloud installations..&#8221;</p>
<p>&#8220;No matter what virtualization solution is chosen by our customers, the Intel strategy remains the same &#8211; to help ensure their choice runs best on Intel architecture,&#8221; said Doug Fisher, vice president, Software and Services Group, and general manager, Systems Software Division at Intel. &#8220;KVM offers an open source alternative for virtualization that takes immediate advantage of the Linux device driver work Intel does, which helps KVM track the rapid improvements we make in our products.&#8221;</p>
<p>&#8220;When one company dominates an industry, innovation suffers, and customers pay the price,&#8221; said Scott Crenshaw, vice president and general manager, Cloud Business at Red Hat. &#8220;Red Hat and the open source community are breaking the stranglehold of closed virtualization, enabling better performance, scalability, security &#8212; and better economics. We&#8217;re pleased to see momentum continue to build, changing the virtualization market just as we did with closed operating systems and enterprise middleware.&#8221;</p>
<p>For more information, visit the <a href="http://www.openvirtualizationalliance.org">Open Virtualization Alliance</a> website.</p>
<hr />
<p><a name="links"></a>&nbsp;</p>
<h2>Conferences and Events</h2>
<p>&nbsp;</p>
<dl>
<dt><strong>Cisco Live, U.S.</strong></dt>
<dd>July 10 &#8211; 14, 2011<br />
<a href="http://www.ciscolive.com/us/">http://www.ciscolive.com/us/</a>.</dd>
</dl>
<dl>
<dt><strong>Cloud Identity Summit</strong></dt>
<dd>July 18-21, Keystone, Colo.<br />
<a href="http://www.cloudidentitysummit.com/index.cfm">http://www.cloudidentitysummit.com/index.cfm</a>.</dd>
</dl>
<dl>
<dt><strong>20th USENIX Security Symposium</strong></dt>
<dd>August 10-12, 2011, San Francisco, CA<br />
<a href="http://www.usenix.org/sec11/">http://www.usenix.org/sec11/</a>.</dd>
</dl>
<dl>
<dt><strong>LinuxCon North America 2011</strong></dt>
<dd>August 17 &#8211; 19, Hyatt Regency, Vancouver, Canada<br />
<a href="http://events.linuxfoundation.org/events/linuxcon">http://events.linuxfoundation.org/events/linuxcon</a>.</dd>
</dl>
<dl>
<dt><strong>NoSQL NOW!</strong></dt>
<dd>August 23-25, Jose, California<br />
<a href="http://nosql2011.wilshireconferences.com/">http://nosql2011.wilshireconferences.com/</a>.</dd>
</dl>
<dl>
<dt><strong>VMworld 2011</strong></dt>
<dd>August 29-September 1st, Venetian, Las Vegas, NV<br />
<a href="http://www.vmworld.com/index.jspa">http://www.vmworld.com/index.jspa</a>.</dd>
</dl>
<dl>
<dt><strong>Storage Decisions New York</strong></dt>
<dd>September 19, New York, NY</dd>
</dl>
<dl>
<dt><strong>Semantic Technology Conference &#8211; LONDON</strong></dt>
<dd>September 26-27, Hotel Russell, London<br />
<a href="http://semtechuk2011.semanticweb.com/index.cfm">http://semtechuk2011.semanticweb.com/index.cfm</a>.</dd>
</dl>
<hr />
<p><a name="distro"></a>&nbsp;</p>
<h2>Distro News</h2>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />Fedora 15 Released with Gnome 3, Btrfs</h3>
<p>In late May, the Fedora Project released Fedora 15, the &#8216;first&#8217; stable distro to come with Gnome 3 as its default desktop environment.</p>
<p>Fedora is a bleeding edge GNU/Linux-based distribution which comes with the latest software packages for enthusiasts and dare-devils to try. However, Fedora can also be used by average users interested in learning more aboutGNU/Linux systems.</p>
<p>Fedora 15l gives users a distro which allows them to explore Gnome 3 with the stability that a Fedora distro offers. Fedora 15 is also introducing Btrfs as a menu item in the installer (only for non-live images &#8211; live images support just Ext4) and does not require passing a special option to the installer as in the previous releases. Btrfs availability has moved up a notch as a incremental step towards the goal of Btrfs as the default filesystem in the next release of Fedora.</p>
<p>BoxGrinder is an included set of tools for making appliances, typically used in virtualized environments, or for use in a cloud environment. It grinds out a preconfigured disk image, including the operating system and required software ready for deployment and can deliver the appliance to a targeted location. BoxGrinder originated in the JBoss Community and marks the first time a JBoss Community project has been included in Fedora.</p>
<p>Fedora 15 comes with Indic typing booster, a predictive input method for the ibus platform. It suggests complete words based on partial input, and users can simply select a word from the suggestion list and improve their typing speed and accuracy.</p>
<p>Live images in this release use XZ compression instead of gzip as in older releases, making them smaller (about 10%) to download or providing more space for applications.</p>
<p>Fedora 15 includes a redesigned version of powertop and newer versions of tuned and pm-utils for better power management. The tuned package contains a daemon that tunes system settings dynamically to balance between power consumption and performance. It also performs various kernel tunings according to a selected profile.</p>
<p>For more information on Fedora 15, to download the distribution or to join this community effort, visit <a href="http://www.fedoraproject.org">the Fedora Project website.</a>.</p>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />Vinux 3.2 for Visually Impaired Users</h3>
<p>Vinux 3.2 is now available. Based on Ubuntu 11.04. this is a cutting edge release featuring the latest versions of Orca (3.1.2-xdesktop) and Speech-Dispatcher (0.8~2784+13~maverick1) from daily builds.</p>
<p>Vinux iwas originally a remastered version of the popular Ubuntu 10.10 Maverick Meerkat distribution optimised for the needs of blind and partially sighted users. It is now based on Ubuntu 11.04.</p>
<p>By default Vinux provides three screen-readers, two full-screen magnifiers, global font-size and colour changing facilities as well as support for USB Braille displays. Booting the live CD, users will be greeted by the Orca reader/magnifier which enables the graphical Gnome desktop using keybindings, as well as providing full screen magnification if required. For those who prefer a simple text based console, there is the Speakup screen-reader. A second full-screen magnifier is provided by the Compiz Window Manager, which uses 3D technology to allow you to magnify and navigate the whole screen using the mouse, or move a resizable virtual magnifying glass around the screen. The Gnome Desktop Manager itself provides global key bindings to change the font size and/or the colour scheme on the fly. Finally, Brltty provides Grade 1/2 Braille output via the Orca screen-reader. By default all of the screen-readers use the same Espeak Speech Synthesizer via Speech-Dispatcher which provides a seamless experience for the user when switching from one screen-reader to another!</p>
<p>This version is available as CD and DVD in both 32 and 64 bit editions. The DVD version provides the same software as the CD but with the addition of libreoffice and some non-free multimedia codecs etc. The default desktop is Classic Gnome 2.x but Unity is available from the GDM login screen if your video card supports 3D.</p>
<p>The 3.2 release includes the Pico TTS voices in addition to Espeak, the Epiphany Internet Browser and built-in keybindings to quickly organise multiple windows with x-tile. It also features new packages including Orca-Teacher, Talking Clock and CDBurn. Version also plays a system bell when the isolinux boot screen appears allowing users to select different boot options including an experimental &#8216;toram&#8217; mode. There is also a Vinux 3.2 PLUS edition which features extra packages for partially-sighted users.</p>
<p>There are now more text tools on the CD edition including: sox gpm screen, splitvt, figlet, cmatrix, txt2html, html2text, pdf2svg, pstotext, units mc, trash-cli, vrms, dict, sc, htop, linuxinfo, w3m, elinks-lite, urlview, finch, axel, calcurse, tdl.</p>
<p>Vinux can be downloaded <a href="http://vinuxproject.org/downloads">here</a>.</p>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />New Version of Just Enough OS released in June</h3>
<p>The newest version of Just Enough OS is JeOSS-U-LTS-8.04.3 and is available from <a href="http://www.vercot.com/~jeoss/download.html">JeOSS website</a>.</p>
<p>The JeOS (Just enough OS) concept was introduced in 2007 with Ubuntu JeOS 7.10, then in 2008 as a variant of Ubuntu&#8217;s LTS (Long Term Support) Server v8.04. At that time JeOS was a small version of Ubuntu&#8217;s server OS, including a virtual kernel tuned for virtual appliances.</p>
<p>The current Jeoss is a very compact size for a real server kernel re-targeted for supporting and being directly-installable even on legacy, limited resource, and embedded x86 (32bits) platforms.</p>
<p>Jeoss in a Nutshell:</p>
<ul>
<li>x86 (32bit) i586 (not PAE required) Low Latency Server kernel;</li>
<li>Simple and direct installation even on Headless and/or DVD/CD drive-less platforms;</li>
<li>Direct installation on Flash devices (Pen Drive, Compact Flash, SD, HDSD, etc);</li>
<li>Full PXE Network install support;</li>
<li>Full Serial &amp; SSH Console install support;</li>
<li>No Internet connection required during install.;</li>
<li>Full Install ISO image 136Mb;</li>
<li>128MB required RAM.</li>
</ul>
<p><a name="commercial"></a></p>
<hr />
<h2>Software and Product News</h2>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />Google Launches All Web ChromeBooks</h3>
<p>During May&#8217;s Google IO developer conference, the first netbooks using the Linux-based ChromeOS were announced from Acer and Samsung. This was a public follow up from the very public beta of ChromeOS netbooks kicked off in December. One of the morning keynotes was dedicated to describing the new netbooks and their features. In June, the ChromeBooks finally shipped and were available for purchase from Amazon and Best Buy. Amazon actually sold out of Samsung Chromebooks in the first week.</p>
<p>Linux Gazette&#8217;s correspondent Howard Dyckoff received a beta unit and describes the Chromebook universe in a main article in thie issue of Linux Gazette.</p>
<h3><img src="../../../gx/bolt.gif" alt="lightning bolt" />Protecode Announces Real-time Open Source License Management</h3>
<p>Protecode, a provider of open source license management tools, is now offering its Developer Assistant to the developer community worldwide, supporting all operating systems and software development tools. Previously only available for the Eclipse Integrated Development Platform (IDE), this solution operates unobtrusively in the background and requires no training for developers.</p>
<p>Developer Assistant is a real-time analysis solution that manages licensing and copyright obligations at the earliest point in a software development lifecycle. Operating at the developer workstation, it uses the code analysis services of Protecode&#8217;s Enterprise Server and compares the code structure of a file to signatures of millions of files stored in Protecode Global IP Signatures (GIPS). There, it identifies the licensing and copyright obligations of the file and provides instant feedback to the developer as the code is put together or brought in from the Internet, an external storage device or a corporate repository.</p>
<p>&#8220;Detecting open source licenses as soon as the code is brought in or put together reduces cost and time associated with fixing related problems later down the road. Developer Assistant is the only solution currently on the market to detect open source and other third party code in real-time,&#8221; says Kamal Hassin, Vice President of Product Management, Protecode.</p>
<p>Running in the background of a developer station with other components of Protecode&#8217;s System 4 solution, the Developer Assistant manages external content based on corporate license policies. Developers are immediately notified if a software file contains unacceptable open source or other third party content; developers can fix the problem on the spot, choose to ignore the warning (knowing that the violations are also caught by other System 4 components), or attach a comment to the violating software file. System 4 stores and manages all comments against the files and projects, maintaining a record of the events.</p>
<p>Protecode showcased its Developer Assistant at the Open Source Business Conference in May in San Francisco. To view a demo video of Protecode&#8217;s Developer Assistant visit <a href="http://www.protecode.com/developer-ip-assistant.php">Protecode&#8217;s website</a>.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2011/07/newsbytes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Away Mission</title>
		<link>http://linuxgazette.net/2011/07/away-mission</link>
		<comments>http://linuxgazette.net/2011/07/away-mission#comments</comments>
		<pubDate>Sat, 02 Jul 2011 17:02:29 +0000</pubDate>
		<dc:creator>Howard Dyckoff</dc:creator>
				<category><![CDATA[July 2011]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/new/?p=280</guid>
		<description><![CDATA[Cisco Live 2011 in Las Vegas, Nevada,  (July 10 &#8211; 14, 2011) is the venue for all things Cisco  this month.  Not that I&#8217;d recommend Vegas in July, but Cisco does provide lots of tech sessions and good grub. The &#8230; <a href="http://linuxgazette.net/2011/07/away-mission">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Cisco Live 2011 in Las Vegas, Nevada,  (July 10 &#8211; 14, 2011) is the venue for all things Cisco  this month.  Not that I&#8217;d recommend Vegas in July, but Cisco does provide lots of tech sessions and good grub. The infamous Cisco Networker Bash also promises arcane but highly coveted headgear, but that&#8217;s another story. For the last several years,  the combined Networker and Cisco Live user event has had a strong virtual presence with keynotes and many detailed sessions for free and an even larger program for a paid virtual conference pass. This year, the virtual component also includes panels and partner &#8216;supersessions&#8217; and morning press conferences.   In fact, the conference literature says full access to the virtual event is free this year. Go here to find the <a href="http://www.ciscolive.com/us/virtual/events/index.php?zid=hinav-clv-agenda">Virtual Live agenda</a>. At Cisco Live Virtual, you can:</p>
<ul>
<li>• Access over 1,000 live and on-demand technical training sessions, keynotes, and Super Sessions.  About 70 conference video and 200 audio sessions will be on-demand, after the event</li>
<li>• Download 2011 session PDFs prior to the conference</li>
<li>• Build a virtual &#8220;briefcase&#8221; to manage and organize the content that interests you</li>
<li>• Join the conference conversation in the blog center and social media</li>
<li>• Download Cisco booth content and partner information in the exhibitor resource centers</li>
<li>• Participate in games and win prizes</li>
</ul>
<p>I was very happy with Cisco Live 2010, especially as almost all session PDFs were available before the day of the session.   You just can&#8217;t get slides in advance at most virtual conferences.     But not all sessions were available to the free attendees last year.   If that limitation is removed, this is an excellent opportunity. Since free registration to Cisco Live Virtual is available only for 6 months, last year&#8217;s content is no longer available as a virtual conference.   But some sessions are available. One of the sessions I downloaded in 2010 was entitled &#8220;Highly Available Wide Area Network Design&#8221; (session BRKCRS-2042) and it weighed in at 102 slides.  So many of these presentations are both detailed and quite good. There may be a lot of Cisco partners at the solution pavilion, but the collateral will be on-line.  However, attending has other incentives: the lab experience &#8211; Cisco Live&#8217;s four- and eight-hour labs give direct experience installing and troubleshooting network technologies and practicing network operations in a simulated environment moderated by Cisco experts. Many labs also qualify as preparation for specific Cisco Certifications exams.  But you have to go to be there, and the labs cost $600-1000 each over the cost of the conference. Collaboration User Group at Cisco Live 2011 If you are actually attending Cisco Live in Vegas, here are also special opportunities for Cisco Collaboration User Group members to meet with each other and Cisco executives and get other members-only perks at the conference. Collaboration User Group members get extra benefits at Cisco Live:</p>
<ul>
<li>• Access to a welcome reception following the Collaboration Welcome Session</li>
<li>• Exclusive NDA product direction sessions</li>
<li>• Preferred access to the Walk-in Self Paced Labs</li>
<li>• Preferred seating at the Collaboration Town Hall</li>
<li>• Collaboration User Group polo shirt and badge ribbon</li>
</ul>
<p>To learn more about Cisco Collaboration User Group activities at Cisco Live 2011, go to the <a href="https://communities.cisco.com/community/technology/collaboration/usergroups">usergroups web site</a>. Conference Hotels include the Luxor, the MGM and Mandalay Bay, so the event is at the end of the Strip nearest the airport.   That make leaving easier and taxi fares less.  That must be Cisco taking care of us. Of course, this is an expensive event to attend physically.   We are now in the &#8216;late&#8217; registration period, with costs raised $100 to $2195  for June 4 -July 8, and an extra $100 the week of the conference.  Airfare and hotel and expenses would easily be another $1000-2000.  So do consider that virtual conference option.   Its good value for no money.</p>
<p>August preview:<br />
&#8211; LinuxCon North America 2011 in Vancouver, Canada<br />
&#8211; The first NoSQL NOW! event in  San Jose, California<br />
&#8211; VMworld 2011 at  the Venetian, Las Vegas, NV</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2011/07/away-mission/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HAL: Part 4 Scripts</title>
		<link>http://linuxgazette.net/2011/07/hal-part-4-scripts</link>
		<comments>http://linuxgazette.net/2011/07/hal-part-4-scripts#comments</comments>
		<pubDate>Sat, 02 Jul 2011 10:32:34 +0000</pubDate>
		<dc:creator>Henry Grebler</dc:creator>
				<category><![CDATA[July 2011]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/new/2011/06/hal-part-4-scripts</guid>
		<description><![CDATA[This is the last part of a series of articles about how I operate. Here is a list of the full set of articles: Henry&#8217;s Techno-Musings: My Help System What Really Matters or The Counting Article HAL: Part 1 Preliminaries &#8230; <a href="http://linuxgazette.net/2011/07/hal-part-4-scripts">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is the last part of a series of articles about how I operate.</p>
<p>Here is a list of the full set of articles:</p>
<ul>
<li><a href="http://linuxgazette.net/174/grebler.html">Henry&#8217;s Techno-Musings: My Help System</a></li>
<li><a href="http://linuxgazette.net/181/grebler.html">What Really Matters or The Counting Article</a></li>
<li><a href="http://linuxgazette.net/183/grebler1.html">HAL: Part 1 Preliminaries</a></li>
<li><a href="http://linuxgazette.net/184/grebler1.html">HAL: Part 2 My Favourite Aliases</a></li>
<li><a href="http://linuxgazette.net/185/grebler.html">HAL: Part 3 Functions</a></li>
<li> HAL: Part 4 Scripts</li>
</ul>
<p>In <a href="http://linuxgazette.net/183/grebler1.html">HAL: Part 1 Preliminaries</a>, there was a link which would allow the reader to download my HAL. There you will find about 123 scripts.</p>
<p>Here are the most interesting ones.</p>
<h3>Aliases Which Invoke Scripts</h3>
<p>I&#8217;m going to start with scripts that I mentioned in &#8216;HAL &#8211; My Favourite Aliases&#8217; in the section &#8216;Aliases Which Invoke Scripts&#8217;.</p>
<pre>alias cleanup $HOME/scripts/cleanup.sh</pre>
<p>This is only relevant to emacs users. By default, when you edit a file, emacs keeps a copy of the original file in a file whose name has a trailing tilde (~). They&#8217;re worth hanging on to while you are developing your program, script or article. But once you have finished, they become just clutter, especially if you maintain some sort of revision control (which I do).</p>
<p>This script finds all such emacs backup files in the tree rooted at the current working directory, lists them and offers to delete them.</p>
<pre>alias diff $HOME/scripts/diff.sh</pre>
<p>This script could be seen as related to the previous script. With more than one arg, it behaves like a regular diff. If given a single arg, it compares that file against its emacs backup. So, for example, &#8216;diff HAL.Scripts&#8217; (the file I&#8217;m currently creating) would become &#8216;diff HAL.Scripts~ HAL.Scripts&#8217;.</p>
<p>Looking at the script now, I wince: it seems so badly written. And it seems it would be better cast as a function. But it has evolved over time, so perhaps I should be more forgiving.</p>
<pre>alias lns '$HOME/scripts/lns.sh'</pre>
<p>Like &#8220;ln -s&#8221;, but, if the target is a symbolic link, delete it first. If it&#8217;s a file, offer to delete it.</p>
<p>Ideal for replacing a symlink.</p>
<pre>alias tcg='/home/henryg/scripts/tarcompressuuencode.sh +u -g'
alias tcu='/home/henryg/scripts/tarcompressuuencode.sh'
alias uut='/home/henryg/scripts/uudecodeuncompresstar.sh'</pre>
<p>The name of the script provides clues to its origins. I&#8217;ve used email since at least 1993. Back in the early days, the typical way to send directory trees was tar-compress-uuencode. That&#8217;s what this script does. Over the years, gzip replaced compress and often I don&#8217;t uuencode (except when sending to myself).</p>
<p>&#8216;tcu&#8217; was what I used at first; &#8216;tcg&#8217; is what I typically use now.</p>
<p>&#8216;uut&#8217; is for use in the other direction. I guess, these days, I would only use it on mail from myself. Other related capabilities are provided by functions &#8216;gttv&#8217; and &#8216;gtx&#8217; (see &#8216;HAL: Part 3 Functions&#8217;).</p>
<pre>alias x='/home/henryg/scripts/expr.sh'</pre>
<p>The &#8216;x&#8217; alias (nice and short) invokes expr.sh, my Mickey Mouse calculator. For most of my calculations, this suffices. I can enter asterisk (&#8216;*&#8217;) or lower-case &#8216;x&#8217;  for multiply. I can use parentheses for grouping as long as I quote the expression.</p>
<p>For example:</p>
<pre class="code">x '(2 + 3)/ 7'
0.714286</pre>
<p>Under the covers, it invokes awk.</p>
<pre>alias xr='/home/henryg/scripts/xrenamewindow.sh'
alias xt='/home/henryg/scripts/xterm.sh'</pre>
<p>I&#8217;m currently running 34 xterms spread across 6 virtual desktops. By default, they&#8217;d all have the text &#8220;xterm&#8221; in the title bar. When iconised they&#8217;d all be identical and all have the text &#8220;xterm&#8221; near the bottom of the icon. How would I find the one I want?</p>
<p>When I start an xterm, I use the &#8216;xt&#8217; alias followed by a string specifying the text I want to see in the title bar and on the icon. (I can choose to have different text for the icon, but usually I don&#8217;t.)</p>
<p>This text is meaningful to me and helps me to keep track of all my xterms. The one I&#8217;m working in at the moment has &#8220;WRITING&#8221; in the title bar. There&#8217;s another right near it with &#8220;WRITING2&#8243;. This is my main window for creating what you are now reading. The other one is a &#8220;helper&#8221; window; for instance, I use it to look up what I wrote in a previous article.</p>
<p>These two windows are here for the long haul. I opened &#8220;WRITING&#8221; last Christmas Day, soon after I rebooted 23 December 2010 (as I write, today is 28 February 2011). I&#8217;m not sure why it should be this way, but I only opened &#8220;WRITING2&#8243; 3 Jan 2011.</p>
<p>Often I only work on something for a short time. When I&#8217;ve finished, if I want to recycle the xterm, I might decide to give it a different text string in the title bar. For that I use &#8216;xr&#8217;.</p>
<h3>Scripts that stood the test of time</h3>
<p>Some of these display my ignorance or naivete at the time that I wrote them &#8211; proving, yet again, that a script does not have to be brilliant or perfect to be effective and useful.</p>
<p>If someone provides me with a better way of achieving the same result, I&#8217;ll consider replacing the corresponding script.</p>
<p>The dates below refer to the first time I wrote the script. Many have been modified over time.</p>
<pre>1991	expire.sh - move a file to the expire directory</pre>
<p>Nowadays it would just be a function.</p>
<p>The basic idea is that some things (files, directories) look like you&#8217;ve finished with them, but you&#8217;re not quite sure. Move them to the expire directory. From time to time, when you visit the expire directory, if they are still there, delete them. I guess it&#8217;s a little like Trash on a Microsoft Windows system.</p>
<p>I use this infrequently.</p>
<pre>1992	howWide - displays the number of chars in the widest line in a file</pre>
<p>I cannot tell you how many times I&#8217;ve used this script. It often dictates whether I choose to print a file in landscape as opposed to portrait.</p>
<pre>1993	rcsdiffp - do an rcsdiff on this file and the previous
                   revision in RCS</pre>
<p>rcsdiff is usually used to compare the working copy with the last checked-in version. There are many options to perform other sorts of comparisons. Over the years, the second most common comparison for me has been with the penultimate revision because, after I have checked a file in, I may want to check again what I changed.</p>
<pre>1995	add.sh</pre>
<p>Adds numbers. Example usage:</p>
<pre>ls -la | cutf 5 | add.sh</pre>
<p>cutf, a function, is my response to some non-uniformity between awk and cut. cut only knows about single-char field separators; by default, awk treats white space as the field separator. cutf behaves more &#8220;intuitively&#8221; than cut on many sorts of (unstructured output) data.</p>
<p>The above pipeline lists the files, selects the 5th field (file size) and adds the sizes.</p>
<p>In many cases, even if there is text intermingled with numbers, add.sh produces the sum.</p>
<pre>1995	ps_who_owns_it*.sh - provide a list of parent process ids for a pid</pre>
<p>Solaris has ptree which does a better job than this script. Linux has pstree, but I&#8217;ve never found it satisfactory.</p>
<p>Give it a pid and this script will provide a full PS list entry for the given pid and all of its parents up to 1. I&#8217;ve never managed to get this script to work upwards and downwards. Each process has a single parent, but can have more than one child, so the full script would be more difficult.</p>
<p>I use this often.</p>
<pre>1996	emacs-nw - interlude for commands in .mailrc</pre>
<p>This is an interesting script. It has about 12 functional characters in the entire script. Any explanation will be bigger than the script itself. If you don&#8217;t run emacs, you won&#8217;t care.</p>
<p>emacs comes in 2 flavours. If you run emacs from the command line, it will try to run using its special interface to X in a separate emacs window. If you want it to run in an xterm you have to specify something special. I never want to run the GUI version.</p>
<p>There are times when applications offer to run your favourite editor. Sometimes you can add arguments, sometimes you can&#8217;t. This script is for those times when you can&#8217;t.</p>
<p>Note that, although it could be cast as a function for interactive use, a function may not be visible to the application.</p>
<p>This is one of the few scripts I have written that does not have .sh at the end of the name. I cannot recall what my thinking was at the time.</p>
<pre>1996	chmod_g-o.sh - chmod copying rx bits from group to other</pre>
<p>This is a script that I don&#8217;t use often, but every time I do I&#8217;m glad I wrote it. It&#8217;s such a simple function to state, and not hard to write, but not the sort of thing one can do easily on the command line. This script does not treewalk. Use a construct like chmod_g-o.sh `find &#8230;`</p>
<p>It&#8217;s particularly nice because, quite often, when you are working on a tree, you want to set read permission on files and rx on directories. This saves you dealing with that sort of detail. If the <strong>group</strong> permissions are right, then the <strong>other</strong> permissions will be right after the script is run.</p>
<pre>1997	rename.sh - rename files</pre>
<p>Ostensibly written in 1997, a comment near the top suggests that I had already written something like this previously. I thought I based it on a similar command from VMS, but I can find no confirmation for that proposition.</p>
<p>When I wrote it, I was concerned that I might get it wrong, so rather than having it do a rename, it simply displays the commands which it would have executed. I check that the commands look right and then copy and paste them to achieve the rename.</p>
<p>I guess because I use it infrequently, I left in the usage so that it is always displayed. Here&#8217;s an example:</p>
<pre class="code">rename.sh 'part*' part=.doc
Usage:  /home/henryg/scripts/rename.sh  &lt;from&gt; &lt;to&gt;

        where &lt;from&gt; is filename pattern to match

        &lt;from&gt; is of the form &lt;string1&gt;*&lt;string2&gt;
        &lt;to&gt;   is of the form &lt;string3&gt;=&lt;string4&gt;

either of &lt;string1&gt; or &lt;string2&gt; may be null
either or both of &lt;string3&gt; or &lt;string4&gt; may be null

 mv part1 part1.doc
 mv part2 part2.doc
 mv part3 part3.doc</pre>
<h3>Best of the Rest</h3>
<pre>dircmp - compare 2 directories</pre>
<p>There may be other ways to achieve the same ends, but I&#8217;ve used dircmp since 1993 and still find it useful. It reports which files are different and which files in the first directory are absent from the second directory (it&#8217;s not symmetrical).</p>
<pre>disp_args.sh - display args</pre>
<p>I use this to determine what a shell script sees as its arguments. This can be helpful if there is a lot of quoting of different sorts going on.</p>
<pre>du-forte.sh - industrial-strength du
du-root.sh - industrial-strength du for the root partition</pre>
<p>The main purpose of these script is to avoid NFS-mounted filesystems. If I want to know where the space is being used on a disk, especially if it&#8217;s the root filesystem, I don&#8217;t want to wait while large remote disks are searched inefficiently. If the space is remote, I&#8217;ll go to the remote machine to do the analysis.</p>
<p>Lately, I&#8217;ve found that NFS-mounted filesystems are not the only pain. I also have a 1TB USB disk attached to my machine. It&#8217;s pretty slow. Usually I don&#8217;t want to search that. I&#8217;m not sure there&#8217;s an easy way to achieve this objective.</p>
<p>Until I started writing this, I&#8217;d forgotten that I had du-root.sh. Damn, it would have been very useful the other day!</p>
<p>I tried it just now:</p>
<pre class="code">du-root.sh
This script performs
        du -csk /*
for directories (not files) on the root partition only.
2       /.snap
Skipping non-root /dev
Skipping non-root /tmp
Skipping non-root /usr
Skipping non-root /var
1902    /etc
Skipping non-root /cdrom
Skipping non-root /cdrom1
2       /dist
1026    /bin
160510  /boot
6842    /lib
242     /libexec
2       /media
14      /mnt
2       /proc
4128    /rescue
66      /root
5398    /sbin
Skipping non-root /p6
1320    /History_dir
75398   /sw
2       /Big
Skipping non-root /WD5
Skipping non-root /DISKA
Skipping non-root /p7
Skipping non-root /p8
2       /p5
2       /p1
Total (excludes /proc) 256858</pre>
<p>That was quick. That&#8217;s so clever.</p>
<pre>openwin*</pre>
<p>There&#8217;s a whole family of scripts that I use to fire up the same window environment on Solaris, Linux and FreeBSD. I use this family constantly.</p>
<pre>treecopy.sh - like Prime's tree copy (trecpy)</pre>
<p>This script uses back-to-back tar to copy a directory tree. I used this extensively until I discovered rsync.</p>
<h3>That&#8217;s It</h3>
<p>That&#8217;s all the scripts that I&#8217;m going to discuss in any detail. There are many more, but I don&#8217;t think they are of interest to a wider audience. If you&#8217;ve downloaded them, feel free to explore, ignore, adapt, reuse and recycle.</p>
<p>As I said at the start, these entities (aliases, functions, scripts) were intended to make life more comfortable for <strong>me</strong>. They suit the way I want to operate. I do not expect I have clones. Every reader will be different and will have different notions of comfort.</p>
<p>I anticipate that an individual reader will completely ignore perhaps 90% of these entities. Of the remaining 10%, perhaps 2 or 3 will be deemed worthy of further consideration.</p>
<p>On the other hand, I hope there are enough readers that at least one person finds some of these entities worthwhile, even if it&#8217;s only to act as a launching pad for an entirely different entity.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2011/07/hal-part-4-scripts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HelpDex</title>
		<link>http://linuxgazette.net/2011/07/helpdex-2</link>
		<comments>http://linuxgazette.net/2011/07/helpdex-2#comments</comments>
		<pubDate>Fri, 01 Jul 2011 22:00:51 +0000</pubDate>
		<dc:creator>Shane Collinge</dc:creator>
				<category><![CDATA[July 2011]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/new/?p=344</guid>
		<description><![CDATA[Click here to see the full-sized version <a href="http://linuxgazette.net/2011/07/helpdex-2">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="525" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="movie" value="http://linuxgazette.net/new/wp-content/uploads/203bridge.swf" /><embed type="application/x-shockwave-flash" width="525" src="http://linuxgazette.net/wp-content/uploads/203bridge.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high"></embed></object></p>
<p><a href="http://linuxgazette.net/wp-content/uploads/203bridge.swf">Click here to see the full-sized version</a></p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2011/07/helpdex-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced Programming In Expect: sHellspawn   &#8211;   Demons in the Daemons</title>
		<link>http://linuxgazette.net/2011/07/advanced-programming-in-expect-shellspawn-demons-in-the-daemons</link>
		<comments>http://linuxgazette.net/2011/07/advanced-programming-in-expect-shellspawn-demons-in-the-daemons#comments</comments>
		<pubDate>Fri, 01 Jul 2011 17:07:56 +0000</pubDate>
		<dc:creator>David L. Fisher</dc:creator>
				<category><![CDATA[July 2011]]></category>

		<guid isPermaLink="false">http://linuxgazette.net/new/?p=238</guid>
		<description><![CDATA[Note: The examples in this article use the original implementation of Expect, as part of the TCL scripting language, but the concepts apply to any language that supports the same principles of spawning connections to remote systems or processes. Whichever &#8230; <a href="http://linuxgazette.net/2011/07/advanced-programming-in-expect-shellspawn-demons-in-the-daemons">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em><strong>Note:</strong> The examples in this article use the original implementation of Expect, as part of the TCL scripting language, but the concepts apply to any language that supports the same principles of spawning connections to remote systems or processes. Whichever language you choose, the same issues and benefits apply. I must offer a final caveat, and I can&#8217;t emphasize this enough: always wear eye protection.</em></p>
<h3>How to deal with spawned processes in hostile waters, and managing ever-changing spawn ids</h3>
<p>One of the problems Expect programmers have with spawn ids is trying to manage them when remote systems continually require a re-establishment of the connection. There are numerous effective ways of doing that and many lead to spawn id parametrization, but I&#8217;ve found that regarding each spawned process the same way I regard windows in a windowing operating system &#8211; each one is a command shell, and if I need telnet or ftp or whatever, I can simply type that command into the command shell, perhaps make sure I didn&#8217;t make any mistakes, and then hit the return key.</p>
<p>Here&#8217;s the sample from the book &#8220;Exploring Expect&#8221; written by Don Libes, and also found in the manual page, using telnet as the session we are creating. We&#8217;ve all followed the simple example and done it this way and it worked just fine (until it didn&#8217;t work):</p>
<pre><code>catch {spawn telnet 1.2.3.4} pid; </code></pre>
<p>Technically, in order to detect the failure of the process to spawn, the above command should really be implemented this way:</p>
<pre><code>if { [catch {spawn telnet 1.2.3.4} pid] } { ## handle error, which is in the pid variable } </code></pre>
<p>Assuming success, we now have a spawn id variable that is our handle to the telnet session, and the spawn command returned the process ID of the new session in the pid variable, not the spawn ID. If there is an error in spawning the process, the pid variable will contain the error message. The process ID may be useful for identifying the process for various reasons, but it is the spawn_id variable that is required to communicate with the session.</p>
<p>There is an inherent and unavoidable problem with directly spawning processes following the above example &#8211; if the spawn command itself hangs for whatever reason, it will hang the script indefinitely. Many programmers find themselves digging deep into the source code of Expect to find ways of determining when such an anomaly occurs and how to handle it, but this should be their first clue that they are looking in the wrong place for a solution. Sometimes problems don&#8217;t need solutions, but simple circumventions.</p>
<p>I&#8217;m using telnet as an example, because it is widely used in corporate intranets and, like other communications protocols, it sometimes get closed remotely, physical network cables are sometimes accidentally disconnected or suffer electrical or failure, and the spawn id of the associated process becomes invalid because the spawned process exited. While catching exceptions during communication with these sessions will prevent them from propagating up the call-stack, and potentially causing the script to exit, caution must be exercised with this approach, especially when the expect clause continues to execute until the final criteria are met for the clause to exit and the following commands to execute.</p>
<p>Spawn ids are never re-used during the execution of an Expect program &#8211; if you spawn the same command again, you will get a new spawn id, but with a 32-bit system, you won&#8217;t run out of new spawn ids until you&#8217;ve done over four billion spawns, and if you have, you&#8217;re probably not doing things the way you should (even in run-forever systems).</p>
<p>Many Expect developers use the spawn id of spawned processes as an index or value in an array, or have other reasons why they prefer to reference the session based on other data, such as the IP address or hostname of a remote system, the name of the program spawned, etc. The spawn id will always be necessary to send data to, and listen to, a particular session. Indirect lookup tables may sometimes seem easier to work with, but they add an unnecessary layer and complexity to the management of these sessions.</p>
<p>Given the number of times I&#8217;ve had to fix this issue in existing code, and the number of times I&#8217;ve had to explain this simple solution in interviews and in courses I&#8217;ve taught in automation, it seems beneficial to share it with the entire community. My favorite solution is so simple that it seems too obvious, too easy, and therefore not something the average programmer would consider the answer they seek.</p>
<p>Again, I mention that the easiest way to regard spawned sessions is the same way to regard separate windows in a windowing system &#8211; each has a unique &#8220;identity&#8221; to the user, and it is intuitive when dealing with them. In the same way we would keep track of which window represented a unique session, spawn ids should he considered the same. Each window is a command shell with a CLI, and as long as we haven&#8217;t lost track of all of the sessions we have going, we know instinctively how to manage each of them.</p>
<p>Here is how to not only maintain the association between processes and their spawn ids, but also to avoid exceptions</p>
<pre><code>catch {spawn /your/favorite/shell} pid; exp_send "telnet 1.2.3.4\r"; </code></pre>
<p>Technically, to detect failure of the process to spawn or of the communication with the process after successfully spawning, the above commands should really be implemented this way:</p>
<pre><code>if { [catch {spawn /your/favorite/shell} pid] } { ## handle error, which is in the pid variable } elseif { [catch {exp_send "telnet 1.2.3.4\r"} err] } { ## handle error, which is in the err variable } </code></pre>
<p>Granted, this does increase the resource usage as twice as many processes are started (the host shell and the telnet session that runs within it), but the benefits far outweigh the price. Most notably, unless there is a catastrophic failure in the local system running the host shell (in which case you probably have much larger problems than being unable to communicate with the remote system), you still have an active spawn id with which to communicate. Even if the remote system is still connected, the communication program (in this example, telnet) can be interrupted with a terminate or suspend signal, and the host shell is still available.</p>
<p>The advantageous byproduct of this approach is that spawning a local shell should never hang, and a timeout for expecting a response from the subsequent exp_send command can easily handle situations in which a direct spawn might hang the entire script.</p>
<p>In much the same way as you would handle various shells, login sessions, and other windows that you would use, identification of the system each one represents is important. With each, you would want a prompt that uniquely identifies the session. It is simple enough to define a command prompt that identifies the session, and include it in the expect clause for determination of the process that sent the output.</p>
<p>Once setting the appropriate command prompts, you can use the indirect variable reference &#8220;any_spawn_id&#8221; as opposed to the direct variable reference &#8220;$any_spawn_id&#8221; in your expect_before and expect_after statements to detect and identify each session&#8217;s output. It then becomes an easy matter to determine whether you have lost a connection to a remote system without also losing the associated spawn id, and you can query the host shell for any information you please, beyond the variables returned from the exp_wait command. All of the same information can be found in the shell and environment variables, and the same spawn id can be used to restart the session.</p>
<p>The difference between using the indirect and direct reference to &#8220;any_spawn_id&#8221; is that the direct reference is evaluated once, at the entrance to the expect clause. This list is then used throughout the iterations of the clause until the exit criteria are met, and during the iterations, a spawned session may be lost and subsequent iterations will cause an exception because the spawn id no longer exists. The indirect reference is evaluated on each iteration, so when a spawn id is lost (or a new one is created in one of the action branches), the list will be updated to reflect the new active spawn ids. (A more thorough discussion addressing active control of this list will be the topic of a future article).</p>
]]></content:encoded>
			<wfw:commentRss>http://linuxgazette.net/2011/07/advanced-programming-in-expect-shellspawn-demons-in-the-daemons/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
