<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Everything Sysadmin</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/" />
    <link rel="self" type="application/atom+xml" href="http://everythingsysadmin.com/atom.xml" />
    <id>tag:everythingsysadmin.com,2008-07-21://2</id>
    <updated>2010-08-24T14:45:00Z</updated>
    <subtitle>Thoughts, news and views of Limoncelli, Hogan &amp; Chalup</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.34-en</generator>

<entry>
    <title>xed 2.0.2 released!</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/09/xed-202-released.html" />
    <id>tag:everythingsysadmin.com,2010://2.396</id>

    <published>2010-09-01T15:00:00Z</published>
    <updated>2010-08-24T14:45:00Z</updated>

    <summary>xed is a perl script that locks a file, runs $EDITOR on the file, then unlocks it. It also checks to see if the file is kept under RCS control. If not, it offers to make it so. RCS is...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
        <category term="Technical Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p><a href="http://www.nightcoder.com/code/xed/">xed</a> is a perl script that locks a file, runs $EDITOR on the file, then unlocks it.</p>

<p>It also checks to see if the file is kept under RCS control. If not, it offers to make it so.  RCS is a system that retains a history of a file.  It is the predecessor to GIT, SubVersion, CVS and such.  It doesn't store the changes in a central repository; it comes from a long-gone era before servers and networks.  It simply stores the changes in a subdirectory called "RCS" in the same directory as the file. (and if it can't find that directory, it puts the information in the same directory as the file: named the same as the file with ",v" at the end.)</p>

<p>[More about this little-known tool after the jump.]</p>
]]>
        <![CDATA[<p>The benefit of keeping the change history of a file can not be understated. Can't figure out why a bug suddenly appeared?  Now you can use commands like "rlog file", "rcsdiff -r1.2 -r1.4 file" and "co -p -r1.2 >oldfile" to examine old changes.</p>

<ul>
<li>If you work on a team, xed's ability to lock files prevents you from stepping on each others toes.</li>
<li>If you work solo, xed's file history is a great way to keep track of changes.</li>
<li>If you work on a team, xed's file history is... well, a great way to add accountability to the system.</li>
</ul>

<p>xed even notices when the last change to the file didn't happen via xed, and offers to clean up for you.</p>

<p>The new version adds a few features that I contributed:</p>

<ul>
<li>Better security and the ability to edit filenames with spaces and funny characters (spaces, quotes, etc.) thanks to changing from Perl's system(string) calls to system(list) calls.</li>
<li>The ability to set the RCS changelog message via the environment variable CIMSG.</li>
<li>The ability to force non-interactive mode by setting an environment varialbe (INTERACTIVE=0.  In non-interactive mode xed that assumes the defaults to any questions it asks.</li>
</ul>

<p>These new features combine to let me do something I've always wanted to do: Friction-free updates to files: no prompts, no 'are you sure?', no request for changelog statements.</p>

<p>There are certain files that I need to update a lot. One example is my "cribnotes.txt" file where I log little notes that I want to remember later. It is always very tempting for me to get lazy and not record these notes. The rationalization I use is generally "Oh, it's a small note no worth my bother to answer all those 'are you sure?' and other questions. I can surely remember it without writing it down." Oh, how many times I've said that and not been able to remember it later.  By making the editing process "friction-free", I don't have that excuse any more.</p>

<p>The alias I've set up is:</p>

<p>bash/ksh/sh:
alias note='INTERACTIVE=0 CILOG="updated" xed ~/.cribnotes.txt'</p>

<p>csh/tcsh:
alias note '( setenv INTERACTIVE 0 ; setenv CILOG "updated" ; xed ~/.cribnotes.txt'</p>

<p>Now I can simply type "note", record my thought, and save the file.  No excuses.</p>

<p>xed is a godsend. It was originally written by the awesome programmer John Linderman at Bell Labs in ksh; later ported to Perl by Cliff Miller.  The project page is here: <a href="http://www.nightcoder.com/code/xed/">http://www.nightcoder.com/code/xed/</a></p>

<p>I recommended it in TM4SA and I still recommend it today.  No Unix system is complete without it.</p>
]]>
    </content>
</entry>

<entry>
    <title>Verizon FIOS: No outage so far!`</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/09/verizon-fios-no-outage-so-far.html" />
    <id>tag:everythingsysadmin.com,2010://2.403</id>

    <published>2010-09-01T13:39:06Z</published>
    <updated>2010-09-01T13:40:08Z</updated>

    <summary>Well it is the first of the month and it seems like I have internet access still. That&apos;s good news. Lets see what happens my DHCP lease expires. That&apos;s the real test. I don&apos;t want to push my luck, but...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>Well it is the first of the month and it seems like I have internet access still.  That's good news.</p>

<p>Lets see what happens my DHCP lease expires.  That's the real test.</p>

<p>I don't want to push my luck, but it looks like good news so far!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Verizon FIOS Update</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/verizon-fios-update.html" />
    <id>tag:everythingsysadmin.com,2010://2.402</id>

    <published>2010-08-30T23:42:53Z</published>
    <updated>2010-08-30T23:59:51Z</updated>

    <summary>I know y&apos;all can&apos;t live without another update so here it is. The VerizonSupport twitter account sent me a secret URL to give them my account info and problem description. After filling it twice (separated by 2 days), I got...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>I know y'all can't live without another update so here it is.</p>

<p>The VerizonSupport twitter account sent me a secret URL to give them my account info and problem description.  After filling it twice (separated by 2 days), I got no phone call, no email, no results.</p>

<p>Today I called and was told that the IVR system transfered my phone call to billing because I was entering my phone number (as asked) but since I don't have Verizion phone service it was confused. That is the phone number on my account, and it certainly is able to look up my account after I've entered it, but the person assured me that this was the problem.  I should select the option where I enter my account number instead of my phone number and it should work.. promise.</p>

<p>When I got home (where I have the account number) I did as requested and of course the system said it is transferring my account to billing.</p>

<p>So what to do?</p>

<p>Well, I've tried billing and tech support with no luck.  I decided to call sales.  Stephanie and I had an ok conversation.  She said that last month my account was "in treatment" and now it definitely isn't so there should be no outage on Wednesday.  I pointed out that the IVR system disagrees, but she said I should "let it go".  She also said that if I do have an outage on the first of the month, they can cancel the account and recreate it.  I'd have a 20 minute outage.  She wrote all of this up in my account notes.</p>

<p>Wednesday I'll be "oncall" for work from 4pm to midnight.  If there is an outage in the morning, I'll be spending all day getting it fixed so that I can have connectivity for my oncall shift.</p>

<p>I've spent more than 10 hours on the phone with Verizon at this point.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Ohio Linux Fest: you don&apos;t have to be from Ohio!</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/ohio-linux-fest-you-dont-have.html" />
    <id>tag:everythingsysadmin.com,2010://2.399</id>

    <published>2010-08-30T14:00:00Z</published>
    <updated>2010-08-25T12:52:16Z</updated>

    <summary>What surprised me when I attended Ohio Linux Fest was that it is a national conference; it draws people from all over. One of the little-known gems at OLF is their training sessions called &quot;OLF University.&quot; It is excellent training...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
        <category term="Conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>What surprised me when I attended Ohio Linux Fest was that it is a national conference; it draws people from all over.</p>

<p>One of the little-known gems at OLF is their training sessions called "OLF University."  It is excellent training that is at a very nice price.  Considering the high-caliber trainers that they've recruited, I think (and I've told OLFU coordinators) that training like this should be priced 2x or 3x higher. The productivity boost from just one class will pay for itself in a month or two.  I recommend people sign up before the organizers start listening to me.</p>

<p><a href="http://whatwillweuse.com/2010/08/25/get-your-training-on-at-olfu/">Beth Lynn Eicher wrote a great article about OLF and the training</a>. Check it out.</p>

<p>If you aren't going to OLF University, but are going to OLF, be sure to stop by the LOPSA table!</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Exciting news about LISA 2010... soon</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/exciting-news-about-lisa-2010.html" />
    <id>tag:everythingsysadmin.com,2010://2.401</id>

    <published>2010-08-26T00:28:44Z</published>
    <updated>2010-08-26T00:31:06Z</updated>

    <summary>I&apos;m going to have a completely new tutorial at LISA 2010. I&apos;m developing the material right now and the more I see, the more I like it. I&apos;ll announce the topic soon :-)...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
        <category term="Conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>I'm going to have a completely new tutorial at LISA 2010. I'm developing the material right now and the more I see, the more I like it.</p>

<p>I'll announce the topic soon :-)</p>
]]>
        

    </content>
</entry>

<entry>
    <title>FIOS update</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/fios-update.html" />
    <id>tag:everythingsysadmin.com,2010://2.400</id>

    <published>2010-08-25T20:09:23Z</published>
    <updated>2010-08-25T20:31:06Z</updated>

    <summary>Quick update: no manager called me back. I found @verizonsupport on twitter. They gave me a URL to visit that asks for my account info (and my twitter name) so that they can investigate. Keeping my fingers crossed......</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>Quick update:</p>

<ol>
<li><p>no manager called me back.</p></li>
<li><p>I found @verizonsupport on twitter.</p></li>
<li><p>They gave me a URL to visit that asks for my account info (and my twitter name) so that they can investigate.</p></li>
</ol>

<p>Keeping my fingers crossed...</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Non-technical strategies</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/non-technical-strategies.html" />
    <id>tag:everythingsysadmin.com,2010://2.386</id>

    <published>2010-08-25T16:00:00Z</published>
    <updated>2010-08-20T12:53:17Z</updated>

    <summary>In the last few weeks I&apos;ve written about ways to get peers to adopt a technology you like, and how to get your managers to adopt it too. Today I&apos;d like to point out some &quot;non-traditional&quot; strategies you might employ...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
        <category term="Technical Management" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>In the last few weeks I've written about ways to get <a href="http://everythingsysadmin.com/2010/08/how-do-i-get-coworkers-to-acce.html">peers to adopt a technology you like</a>, and how to get your <a href="http://everythingsysadmin.com/2010/08/how-do-i-get-my-manager-to-ado.html">managers to adopt it</a> too.  Today I'd like to point out some "non-traditional" strategies you might employ when those fail.  This list was created when talking with a reader about how to get approval for installing a trouble-ticket system.</p>

<p>Often the non-technical push-back is against the entire concept of ticket systems and nothing will be "good enough".  In that case, don't bring a knife to a gun fight.  In fact, find a way to avoid the fight entirely.</p>

<p>The Art of War and other strategy books would suggest alternate strategies like these:</p>

<ul>
<li>Privately confront the primary dissenter directly: talk privately with the person to find the reasons behind their actions and settle those issues. Enlist them as a supporter.</li>
<li>Go around the dissenter entirely: set up the ticket system of your own choosing for a project they are not involved in, when it is successful it will be politically difficult not to expand its use to all projects.</li>
<li>Go over the dissenter's head: get the dissenter's boss on board.</li>
<li>Leverage influential people: If there is someone that the dissenter feels walks on water and can do no wrong, get an endorsement from that person.</li>
<li>Act faster: install something and put it into action before they can push back.</li>
<li>Act slower: are there benefits to putting off the decision?  For example, will the dissenter retire or change jobs soon? (You may not be allowed to know that they are on the way out.  If your boss smiles knowingly when you ask, maybe they know something you don't know.)</li>
<li>Produce more data: Gather data and produce charts that show undeniably you are right (don't show a single charts that disagrees; if the dissenter doesn't have the raw data, they can't make those charts).</li>
<li>Produce less data: Work in secret to build the system.</li>
<li>The power of crowds: Can you get a lot of other people on board such that the dissenter is outvoted?</li>
<li>The Power of the Demo: Are they rejecting a system they haven't actually used?  Install your preferred solution on a VM and give demos to likely supporters. (The secret to a successful demo is doing at least 5 dress rehearsals)</li>
<li>Divide an conquer: Find out where the opposition isn't in agreement with each other and play one side against the other.</li>
<li>Isolate dissent: Identify the dissenters and exclude them from the process (find a politically viable justification for this).</li>
<li>Overload the dissenter: Give them so much other work to do that they don't have time to dissent; or put so much of the research on their shoulders that they ask to be taken out of the decision process.</li>
<li>Reduce the choices: Don't show 15 different models and hope they pick the one you want.  Only show options that you will accept.</li>
<li>Give too many choices: Show so many potential products that they are overwhelmed; declare your expertise and recommend the one you want.</li>
<li>Selective comparison: Show 1 really awful system followed by a perfect demo of your system.  (In a related note: At a singles bar always stand next to an ugly person.)</li>
<li>Force a "win": Get agreement to default to your solution if a decision isn't made by a certain date ("because we can't delay ProjectX").  Make sure you've given them more work than can be accomplished by that date so-as to trigger the default.</li>
<li>Make the dissenter think they are making the decision: If you ask a child "what do you want for dinner?" they'll ask for ice cream.  If you ask, "Should we have hamburgers or hotdogs?" they'll think they're making the decision even though you've already made it for them.  (Worst of all: don't list choices one at a time, they'll keep saying "no" until you run out of choices: "Do you want hamburgers?" "no" "Do you want hotdogs?" no "Umm... well, we have ice cream"  "yes!").</li>
<li>Take advantage of emergencies: In an emergency the normal decision process goes away. Can you create a situation (or wait for a situation) where you can get permission to install RT or ORTS "just for this one emergency" and then take advantage of the fact that "nothing is more permanent than a temporary solution"?)</li>
<li>Bullies only respect other bullies:  Declare that your solution is the ONLY solution and brow-beat anyone that disagrees.</li>
<li>Discredit the enemy: If the dissenter is always going to find reasons to reject something, don't try to deal with the points they bring up; discredit the dissenter's opinions. ("He isn't a real stake-holder, why should we listen to him?"  "He rejects anything new, remember the time....", "He won't even be using the system, why is he causing trouble for us?")</li>
<li>Running code beats vaporware: a running system beats the theory that it won't work.</li>
<li>Avoid the issue: Find another project to work on that will make you a success; leave this "can't win" situation to co-workers that are suckers.</li>
</ul>

<p>If done right, these strategies could work or could get you fired.  Proceed with caution.  Work with your boss, or if you boss the problem, confer with peers.</p>

<p>Please post comments with your suggestions and experiences. (This website now supports OpenID and other systems.)</p>
]]>
        

    </content>
</entry>

<entry>
    <title>More Verizon FIOS pain</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/more-verizon-fios-pain.html" />
    <id>tag:everythingsysadmin.com,2010://2.398</id>

    <published>2010-08-24T15:30:38Z</published>
    <updated>2010-08-24T15:43:08Z</updated>

    <summary>After my recent story about the problem Verizon FIOS is having with my account, I decided (with the prompting of Chris) to be pro-active and call them. Since I know the problem still is lurking, it is better to get...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>After my recent story about <a href="http://everythingsysadmin.com/2010/08/first-of-the-month-technical-p.html">the problem Verizon FIOS is having</a> with my account, I decided (with the prompting of Chris) to be pro-active and call them. Since I know the problem still is lurking, it is better to get it resolved rather than tempt fate on the next "first of the month."</p>

<p>Just to keep my dear readers (all dozen or so of you) informed, I'm going to post about my progress.</p>

<p>Today while at work I spent 90 minutes trying to get through to someone that could help me.</p>

<p>Attempt 1: The person transfered me to tech support who couldn't help me.</p>

<p>Attempt 2: For some reason I got transfered to billing in a state other than NJ. They couldn't help me but transfered me to the right billing center. (Why is their system not sending me to the right billing center?  Could that be a symptom?)  When talking with this person I created a 3-way call so he could hear the problem himself. It takes about 5 minutes to get to the point where I get transfered, and right before we got to that last, final prompt he shouted "agent" which made the system stop what it was doing and transfer me to a human.  Thus, at this point no Verizon employee has seen the problem demonstrated.  I was so frustrated at that point that I said something about being too upset to continue and hung up.</p>

<p>Attempt 3: the person at this billing center took the time to understand my problem but kept repeating that he couldn't change how the phone system works.  I would calmly explain that this is triggered by something being wrong with my account, and could he help me with that.  He said there is nothing wrong with my account. I agreed and said, "Since we both agree that there is nothing wrong with my account, I shouldn't be transfered, right?" At that point we would repeat our conversation.  I literally got him to go in this circle 3 times.  I was nearly laughing.</p>

<p>I feel sorry for the guy. He works at a payment center.  His job is to take people's credit card info and process payment.  Obviously I'm not talking to the right people.</p>

<p>I asked to have this escalated.  He took my phone number and said that a manager will call me within 4 hours. That was at 11:30am.</p>

<p>Another data point: I just remembered that when I ordered the service I called from my desk phone in NYC and went to the NYC sales office. There was a problem because New Jersey is sold out of the New Jersey office.  She was able to put the order in anyway.  I wonder if my account is in some kind of limbo because the order was placed from the NYC sales office but the service was delivered to New Jersey.</p>

<p>Anyway... I've got a lot of work to do today.  I'm putting this to rest until they call me back.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>LOPSA providing tutorial slate at Ohio Linux Fest</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/lopsa-providing-tutorial-slate.html" />
    <id>tag:everythingsysadmin.com,2010://2.394</id>

    <published>2010-08-24T15:00:00Z</published>
    <updated>2010-08-22T13:29:41Z</updated>

    <summary>As part of Ohio Linux Fest&apos;s training program (called &quot;OLF University&quot;), LOPSA will be offering the following classes on Friday, September 10th: IPv6 essentials and deployment Strategies Black Magic: Linux Troubleshooting and System Administration Application Acceleration and Tiered Storage and...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>As part of Ohio Linux Fest's training program (called "OLF University"), LOPSA will be offering the following classes on Friday, September 10th:</p>

<ul>
<li>IPv6 essentials and deployment Strategies</li>
<li>Black Magic: Linux Troubleshooting and System Administration</li>
<li>Application Acceleration and Tiered Storage and Archiving</li>
<li>Monitoring and Nagios</li>
<li>Introduction to Automating System Administration with Cfengine</li>
<li>Data Centers: Planning, Expanding, Managing</li>
</ul>

<p>These classes will be taught by community luminaries such as Dale Carter, Jonathan Billings, and John Sellens.</p>

<p>A full class schedule can be found at
<a href="http://www.ohiolinux.org/olfu.html">http://www.ohiolinux.org/olfu.html</a></p>

<p>LOPSA instructors return for the fourth year to Ohio Linux Fest in Columbus, Ohio on Friday September 10th - teaching 6 out of 11 classes at Ohio Linux Fest University.</p>

<p>LOPSA serves the public through education on system administration
issues; Ohio Linux Fest promotes the education of Linux and Free and
Open Source software.</p>

<p>Classes will give OLFU students an intense and personal learning
experience. The traditional Ohio LinuxFest conference and expo will take place on Saturday, September 11th.  Registration for OLFU is part of the Ohio LinuxFest "Professional Package", which costs $350. It includes OLFU training classes on
September 10, admission to The Ohio LinuxFest on September 11, lunch
on both days and an official conference t-shirt.</p>

<p>Class sizes will be limited so OLFU students can receive the very best personalized professional training.  Classes are by available by pre-registration only.  Registration for OLFU will not be available on-site.  To register, please visit <a href="https://www.ohiolinux.org/register.html">https://www.ohiolinux.org/register.html</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Calling in an emergency</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/calling-in-an-emergency.html" />
    <id>tag:everythingsysadmin.com,2010://2.397</id>

    <published>2010-08-24T04:40:15Z</published>
    <updated>2010-08-24T04:42:08Z</updated>

    <summary>It used to be that when there was an emergency, such as a car accident, someone might go inside the house to call for an ambulance. Now in that situation you go outside the house, to make sure you get...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>It used to be that when there was an emergency, such as a car accident, someone might go inside the house to call for an ambulance.</p>

<p>Now in that situation you go outside the house, to make sure you get a clear signal.</p>

<p>Hmmm...</p>

<p>Tom</p>

<p>P.S. Remember when people would say things like, "Could I use your phone?" and you'd walk them to the room in the house with the phone?</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Learning From Successful IPv6 Upgrade Projects</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/methods-of-converting-to-ipv6.html" />
    <id>tag:everythingsysadmin.com,2010://2.338</id>

    <published>2010-08-23T15:00:00Z</published>
    <updated>2010-08-20T17:56:58Z</updated>

    <summary>I wrote about upgrading to IPv6 in the past, but I have more to say. The wrong way: I&apos;ve heard a number of people say they are going to try to convert all of their desktops to IPv6. I think...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
        <category term="Technical Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>I wrote about <a
href="http://everythingsysadmin.com/2009/01/google-enables-ipv6-for-most-s.html">upgrading
to IPv6</a> in the past, but I have more to say.</p>

<p><b>The wrong way:</b> I've heard a number of people say they are
going to try to convert all of their desktops to IPv6.  I think
they are picking the wrong project.  While this is a tempting
project, I think it is a mistake (well-intentioned, but not a good
starter project).  Don't try to convert all your desktops and servers
to IPv6 as your first experiment.  There's rarely any immediate
value to it (annoys management), it is potentially biting off more
than you can chew (annoys you), and mistakes affect people that you
have to see in the cafeteria every day (annoys coworkers).</p>

<p>Instead copy the success stories I've detailed below.  Some use a
"outside -> in" plan, others pick a "strategic value".</p>

<h4>Story 1: Work from the outside -> in</h4>

<p>The goal here is to get the path from your ISP to your load balancer
to use IPv6; let the load balancer translate to IPv4 for you.  The
web servers themselves don't need to be upgraded; leave that for
phase 2.</p>

<p>It is a small, bite-sized project that is achievable.  It has a
real tangible value that you can explain to management without being
too technical: "the coming wave of IPv6-only users will have faster
access to our web site.  Without this, those users will have slower
access to our site due to the IPv4/v6 translaters that ISPs are
setting up as a bandaid.".  That is an explanation that a non-technical
executive will understand.</p>

<p>It also requires only modest changes: a few routers, some DNS
records, and so on.  It is also a safe place to make changes because
your external web presence has a good dev -> qa -> production
infrastructure that you can leverage to test things properly (it
does, right?).</p>

<p>Technically this is what is happening:</p>

<p>At many companies web services are behind a load balancer or reverse proxy.</p>

<p>ISP -> load balancer -> web farm</p>

<p>If your load balancer can accept IPv6 connections but send out IPv4
connections to the web farm, you can offer IPv6 service to external
users just by enabling IPv6 the first few hops into your network;
the path to your load balancer.  As each web server becomes IPv6-ready,
the load balancer no longer needs to translate for that host.
Eventually you're entire web farm is native IPv6.  Doing this gives
you a throttle to control the pace of change. You can make small
changes; one at a time; testing along the way.</p>

<p>The value of doing it this way is that it gives customers IPv6
service early, and requires minimal changes on your site.  We are
<a href="http://www.potaroo.net/tools/ipv4/index.html">about 280 days away from running out of IPv4 addresses</a>.
Around that time ISPs will start to offer home ISP service where
IPv6 is "normal" and attempts to use IPv4 will result in packets
being <a href="http://www.isc.org/software/aftr">NATed</a>
at the <a href="http://www.networkworld.com/community/node/44989">carrier</a> level.
Customers in this situation will get worse performance for sites
that aren't offering their services over IPv6.  Speed is very
important on the web. More specifically,
<a href="http://www.datacenterknowledge.com/archives/2009/06/24/the-billion-dollar-html-tag/">latency is important</a>.</p>

<p>[Note: Depending on where the SSL cert lives, that load balancer might need to do IPv6 all the way to the frontends. Consult your load balancer support folks.]</p>

<p>Sites that are offering their services over IPv6 will be faster for
new customers.  Most CEOs can understand simple, non-technical,
value statements like, "new people coming onto the internet will
have better access to our site" or "the web site will be faster for
the new wave of IPv6-only users."</p>

<p>Of course, once you've completed that and shown that the world
didn't end, developers will be more willing to test their code under
IPv6. You might need to enable IPv6 to the path to the QA lab or
other place.  That's another bite-sized project.  Another path will
be requested. Then another. Then the desktop LAN that the developer
use.  Then it makes sense to do it everywhere.  Small incremental
roll-outs FTW!</p>

<p>During Google's IPv6 efforts we learned that this strategy works
really well.  Most importantly we've learned that it turned out to
be <a href="http://www.networkworld.com/news/2009/032509-google-ipv6-easy.html">pretty
easy and not expensive</a>.
Is IPv6 code in routers stable?  Well, we're now sending YouTube
traffic over IPv6.  If you know of a better load test for the IPv6
code on a router, please let me know!  (Footnote:
"<a href="http://www.networkworld.com/news/2009/032509-google-ipv6-easy.html">Google:
IPv6 is easy, not expensive Engineers say upgrading to next-gen
Internet is inexpensive, requires small team</a>")</p>

<h4>Story 2: Strategy Upgrades</h4>

<p>Some people run into their boss's office and say, "OMG we have to
convert everything to IPv6".  They want to convert the routers, the
DNS system, the DHCP system, the applications, the clients, the
desktops, the servers.</p>

<p>These people sound like crazy people.  They sound like Chicken
Little claiming that the sky is falling.</p>

<p>These people are thrown out of their boss's office.</p>

<p>Other people (we'll call these people "the successful ones") go to
their boss and say, "There's <b>one specific thing</b> I want to do with
IPv6. Here's why it will help the company."</p>

<p>These people sound focused and determined.  They usually get funding.</p>

<p>Little does the boss realize that this "one specific thing" requires
touching many dependencies. That includes the routers, the DNS
system, the DHCP system, and so on.  Yes, the same list of things
that the "crazy" person was spouting off about.</p>

<p>The difference is that these people got permission to do it.</p>

<p>According to a presentation I saw them give in 2008, Comcast found their 'one thing" to be: Settop box management.
Every settop box needs an IP address so they can manage it.  That's
more IP addresses than they could reasonably get from ARIN.  So, they
used IPv6.  If you get internet service from Comcast, the settop box
on your TV set is IPv6 even though the cable modem sitting next to it
providing you internet service is IPv4.  They had to get IPv6 working
for anything that touches the management of their network:
provisioning, testing, monitoring, billing. Wait, billing?  Well, if
you are touching the billing system, you are basically touching a lot
of things.  Ooh, shiny dependencies.
(There used to be a paper about this at <a href="http://www.6journal.org/archive/00000265/01/alain-durand.pdf">http://www.6journal.org/archive/00000265/01/alain-durand.pdf</a> but the link isn't working.  I found this <a href="https://labs.ripe.net/Members/mirjam/content-ipv6-monitor">interview with the author</a> but not the original paper.)</p>

<p>Nokia found their "one thing" to be: power consumption.  Power
consumption, you say?  Their phones waste battery power by sending
out pings to "keep the NAT session alive".  By switching to IPv6
they didn't need to send out pings.  No NAT, no need to keep the
NAT session alive.  Their phones can turn off their antenna until
they have data to send.  That saves power.  In an industry where battery life is
everything, any CxO or VP can see the value.  A video from Google's IPv6 summit
details <a href="http://www.youtube.com/watch?v=o5RbyK0m5OY">Nokia's success in upgrading to IPv6</a>.</p>

<p>Speaking of phones, T-Mobile's next generation handset will be IPv6-only.  Verizon's LTE handsets are required to do IPv6.  If you have customers that access your services from their phone, you have a business case to start upgrading to IPv6 now.</p>

<p>In the long term we should be concerned with converting all our networks and equipment to IPv6.  However
the pattern we see is that successful projects have picked "one
specific thing to convert", and let all the dependencies come along for
the ride.</p>

<h4>Summary:</h4>

<p>In summary, IPv6 is real and real important.  We are about a year away from running out of IPv4 addresses at which point ISPs will start offering IPv6 service with translation for access to IPv4-only web sites.  Successful IPv6 deployment projects seem to be revealing two successful patterns and one unsuccessful pattern.  The unsuccessful pattern is to scream that the sky is falling and ask for permission to upgrade "everything".  The sucessful patterns tend to be one of:</p>

<ul>
<li><b>Find one high-value (to your CEO) reason to use IPv6:</b>  There are no simple solutions but there are simple explanations.  Convert just that one thing and keep repeating the value statement that got the project approved.  There will be plenty of dependencies and you will end up touching many components of your network. This will lead the way to other projects.</li>
<li><b>Work 'from the outside -> in":</b>  A load balancer that does IPv6&lt;-&gt;IPv4 translation will let you offer IPv6 to external customers now, gives you a "fast win" that will bolster future projects, and gives you a throttle to control the speed at which services get native support.</li>
</ul>

<p>I'd love to hear from readers about their experiences with convincing management to approve IPv6 projects.  Please post to the comments section!</p>

<p>-Tom</p>

<p>P.S.  Material from the last Google IPv6 conference is here:
<a href="http://sites.google.com/site/ipv6implementors/2010/agenda">http://sites.google.com/site/ipv6implementors/2010/agenda</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>First of the month technical problems could be billing software bugs</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/first-of-the-month-technical-p.html" />
    <id>tag:everythingsysadmin.com,2010://2.395</id>

    <published>2010-08-22T13:56:42Z</published>
    <updated>2010-08-24T14:42:26Z</updated>

    <summary>I just added a new item to my list of dumb things to check. (Maybe I should call it my &quot;things to check when you think you&apos;ve tried everything&quot;). The new item is: * Is it the first of the...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>I just added a new item to my <a href="http://everythingsysadmin.com/dumb-things-to-check.html">list of dumb things to check</a>.  (Maybe I should call it my "things to check when you think you've tried everything").</p>

<p>The new item is:
* Is it the first of the month?  Maybe there is a billing problem and something got shut off.</p>

<p>A few Sunday's ago my Verizon FIOS connection went dead. Not the entire connection, just the internet.  The TV still worked (I don't have the phone service)</p>

<p>I did the usual debugging steps but nothing worked. Realizing it was the first of the month, I thought "hmm.... could this be a billing issue?"</p>

<p>I called tech support and entered my account number. After 6 different prompts (!) rather than sending me to tech support the computer voice said, "Hmmm...  it appears your problem can't be solved by technical support.  Please hold on for a moment." (yes, the synthesized voice actually said, "hmmm").  After a few rings I got a message, "Sorry, the finance department is closed. We re-open Monday at yadda yadda yadda."</p>

<p>August 1st, you see, is a Sunday.  With no way to reach technical support (no matter what I tried I got redirected) I was sunk until Monday.  Luckily I wasn't oncall.</p>

<p>On Monday I called again. Since the finance department is only open hours that I'm at work, I was hoping that their procedure wouldn't require me to have physical access to my stuff at home.</p>

<p>Finance said that there's nothing wrong with my account and my service should be fine. As a testament to this, they pointed out that my TV service works, so obviously I wasn't shut off.</p>

<p>She also pointed out that I have a credit of $41.32.  That number sounded familiar.  Ah yes, the prior month when there really was a billing problem that number came up. However, that got resolved.</p>

<p>What was the chance that when the problem was resolved last time there was still a flag sitting around somewhere that meant "disconnect this customer on the first of the next billing cycle".  Such a bug wouldn't appear until the first of the next month, eh?  Knowing that TV and ISP subsystems are probably entirely different provisioning systems that get fed from sources, how likely is it that they got out of sync?  How likely is it that when the last billing problem got resolved the flag was flipped for TV service but the request to flip it for the ISP service got lost by a buggy batch job somewhere? (My hunch: someone forgot to include unittests for the weird case of a customer having FIOS with no phone service.)</p>

<p>I was about to give up when I realized that the phone system had transfered me to her. Thus, some database somewhere thought I had a payment problem on my account.  I pointed this out to her and she couldn't deny my logic.  I could hear her typing. Suddenly she said, "Oh, that shouldn't be.. um... how could that be?"  I could hear her typing a bit more.</p>

<p>Then she said, "Ok, things are fixed here.  Now I need to transfer you to tech support so they can make sure that things are activated."  I thanked her profusely.</p>

<p>To make a long story short, the tech support people were confused, also claimed that my account was fine, and I had to explain that things really weren't fine.</p>

<p>Of course, since I was at work and not at home I couldn't reboot my router (their "go to" solution for most problems, and rightly so).  However, I could point out that I couldn't ping my router.  They could ping their end.  They could reboot their end.</p>

<p>Using a little verbal jujitsu, I asked them if they could reboot my router remotely. They said they could even when the system was otherwise down. But wait... he coudn't access it through that out-of-band channel!  Ah, this holds promise.</p>

<p>Verizon FIOS installs a little box in the basement that is essentially a UPS so that during a power outage you can still make phone calls. In that box is a bit of network equipment that can only be rebooted by removing the battery from the UPS or by having Verizon reboot it remotely.  He suggested I pull out the battery when I get home and call back if that didn't fix it.  I asked him to reboot remotely (I didn't want to have to call back and explain the entire situation to a new tech).</p>

<p>After the reboot, he could see my router, but he could also see that their DHCP server wasn't giving me an address.  This, good friends, was another instance of "the flag" causing problems.</p>

<p>He had to tweek some stuff (I hope he meant re-pushing a database) and soon it was doing DHCP right. Moments later I could ping my home router.</p>

<p>Success!</p>

<p>End note:  I'm writing this blog post on Aug 22 but I'm scheduling it to not appear until August 31.  Since September 1st is a Wednesday the billing department will be open if "the flag" haunts me again... though from midnight to 9am I'll be dead in the water. I just tried calling tech support and was transfered to the finance department.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Ohio LinuxFest 2010 - September 10-12, 2010</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/ohio-linuxfest-2010---septembe.html" />
    <id>tag:everythingsysadmin.com,2010://2.392</id>

    <published>2010-08-19T16:00:00Z</published>
    <updated>2010-08-19T14:39:25Z</updated>

    <summary>Registration for OLF opened today. This conference draws people from all over the country, not just Ohio. The Ohio LinuxFest is proud to announce that registration is now open for Ohio LinuxFest. The schedule has also been announced, and this...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
        <category term="Conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>Registration for OLF opened today. This conference draws people from all over the country, not just Ohio.</p>

<blockquote>The Ohio LinuxFest is proud to announce that registration is now open for Ohio LinuxFest. The schedule has also been announced, and this year will feature a fantastic line-up of talks for new and experienced Linux users. The 2010 Ohio LinuxFest takes place in Columbus, Ohio at the Greater Columbus Convention Center from September 10 through September 12, 2010.</blockquote>

<p>The keynote is Christopher &#8220;Monty&#8221; Montgomery of <a href="http://Xiph.org">Xiph.org</a> will be talking about next generation open source media formats.</p>

<p><strong><em>Admission is free but space is limited.</em></strong>  Supporters can opt for the $65 package that includes lunch and an OLF t-shirt, or the $350 package that includes admission to the &#8220;OLF University&#8221; training program (which is so good I really think they should charge twice as much.  Sign up before they start listening to crazy people like me!)</p>

<p>Sign up today at <a href="http://ohiolinux.org/register.html">http://ohiolinux.org/register.html</a></p>

<p>More info at <a href="http://ohiolinux.org">http://ohiolinux.org</a></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Usenix starts YouTube channel</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/usenix-starts-youtube-channel.html" />
    <id>tag:everythingsysadmin.com,2010://2.391</id>

    <published>2010-08-19T13:56:46Z</published>
    <updated>2010-08-19T14:07:43Z</updated>

    <summary>Usenix now has a YouTube channel! Whether you want to watch a short, funny talk about Electronic Voting, the &quot;Best Paper&quot; presentation about a new security model for safe web browsing, or a technical and thought-provoking talk about how concurrency...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
        <category term="Conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>Usenix now has a YouTube channel!</p>

<p>Whether you want to watch a <a href="http://www.youtube.com/watch?v=d0RnXq7PkB0">short, funny talk about Electronic Voting</a>, the "Best Paper" presentation about <a href="http://www.youtube.com/watch?v=raNx9L4VH2k">a new security model for safe web browsing</a>, or a technical and thought-provoking talk about <a href="http://www.youtube.com/watch?v=jR9pAaQlVRc">how concurrency is changing everything we do</a> by a computer science legend, this channel has everything a geek could want.  (well, it's 8 videos so far, so maybe not everything.)</p>

<p>[If you don't have time for those videos, maybe the videos on <a href="http://www.tomontime.com">www.TomOnTime.com</a> will help you find more free time.]</p>
]]>
        

    </content>
</entry>

<entry>
    <title>New to Mac OS X? Tips for Unix users</title>
    <link rel="alternate" type="text/html" href="http://everythingsysadmin.com/2010/08/new-to-mac-os-x-tips-for-unix.html" />
    <id>tag:everythingsysadmin.com,2010://2.390</id>

    <published>2010-08-18T13:00:00Z</published>
    <updated>2010-08-16T00:52:24Z</updated>

    <summary>A friend of mine who is an old-time Unix/Linux user asked me for suggestions on how to get used to Mac OS X. The first mistake that Unix users make when they come to OS X is that they try...</summary>
    <author>
        <name>Tom Limoncelli</name>
        <uri>http://EverythingSysadmin.com</uri>
    </author>
    
        <category term="Mac OS X" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Technical Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://everythingsysadmin.com/">
        <![CDATA[<p>A friend of mine who is an old-time Unix/Linux user asked me for suggestions on how to get used to Mac OS X.</p>

<p>The first mistake that Unix users make when they come to OS X is that they try to use X Windows (X11) because it is what they are used to.  My general advice: Don't use X windows.  Switching between the two modes is more work for your hands.  Stick with the non-X11 programs until you get used to them.  Soon you'll find that things just "fit together" and you won't miss X11.  </p>

<p>Terminal is really good (continued lines copy and paste correctly!  resize and the text reformats perfectly!).  I only use X windows when I absolutely have to.  Oh, and if you do use X11 and find it to be buggy, install the third-party X replacement called <a href="http://xquartz.macosforge.org/trac/wiki">XQuartz</a> (sadly you'll have to re-install it after any security or other updates)</p>

<p>Now that I've convinced you to stick with the native apps, here's why:</p>

<ol>
<li><code>pbcopy &lt;file</code></li>
</ol>

<p>Stashes the contents of "file" into your paste buffer.</p>

<ol>
<li><code>pbpaste &gt;file</code></li>
</ol>

<p>Copies the paste buffer to stdout.</p>

<ol>
<li><code>pbpaste  | sed -e 's/foo/bar/g' | pbcopy</code></li>
</ol>

<p>Changes all occurances of "foo" to "bar" in the paste buffer.</p>

<ol>
<li><p>"<code>open</code>" emulates double-clicking on an icon.</p>

<p>open file.txt</p></li>
</ol>

<p>If you had double-clicked on file.txt, it would have bought it up in TextEdit, right?  That's what happens with "open file.txt".  If you want to force another application, use "-a":</p>

<pre><code>open -a /Applications/Microsoft\ Office\ 2008/Microsoft\ Word.app file.txt
</code></pre>

<p>Wonder how to start an ".app" from Terminal?  Double click it:</p>

<pre><code>open /Applications/Microsoft\ Office\ 2008/Microsoft\ Word.app
</code></pre>

<p>Want to find a directory via "cd"ing around on the Terminal, but once you get there you want to use the mouse?</p>

<pre><code>cd /foo/bar/baz
open .
</code></pre>

<p>I use this so much I have an alias in my <code>.bash_profile</code>:</p>

<pre><code>alias here="open ."
</code></pre>

<p>Now after "find"ing and searching and poking around, once I get to the right place I can type "here" and be productive with the mouse.</p>

<ol>
<li>Want to use a Unix command on a file you see on the desktop?  Drag the icon onto the terminal.</li>
</ol>

<p>type:  <code>od</code> (space) <code>-c</code> (space) </p>

<p>Then drag an icon onto that Terminal.  The entire path appears on the command line.  If the path has spaces or other funny things the text will be perfectly quoted.</p>

<ol>
<li><p>Dislike the File Open dialog?  Type "/" and it will prompt you to type the path you are seeking.  Name completion works in that prompt.  Rock on, File Dialog!</p></li>
<li><p>Word processors, spread sheets, video players and other applications that work with a file put an icon of that file in the title bar.  That isn't just to be pretty. The icon is useful.  CMD-click on it to see the path to the file. Select an item in that path and that directory is opened on the Desktop.</p></li>
</ol>

<p>That icon in the title bar is draggable too!   Want to move the file to a different directory?  You don't have to poke around looking for the source directory so you can drag it to the destination directory.  Just drag the icon from the title bar to the destination directory.  The app is aware of the change too.  Lastly, drag the icon from the title bar into a Terminal window.  It pastes the entire path to the file just like in tip 5.</p>

<ol>
<li><p>If you want to script the things that Disk Util does, use "<code>hdiutil</code>" and "<code>diskutil</code>".  You can script ripping a DVD and burning it onto another one with "<code>hdiutil create</code>" then "<code>diskutil eject</code>" then "<code>hdiutil burn</code>".</p></li>
<li><p><code>rsync</code> for Mac OS has an "<code>-E</code>" option that copies all the weird Mac OS file attributes including resource forks. ("<code>rsync -avPE src host:dest</code>")</p></li>
<li><p>"<code>top</code>" has stupid defaults.  I always run "<code>top -o cpu</code>".  In fact, put this in your profile:</p>

<p>alias top='top -o cpu'</p></li>
<li><p>For more interesting ideas, read the man pages for:</p>

<p>screencapture
 mdutil
 say
 dscl
 dot_clean
 /usr/<em>bin/</em>util
 pbcopy
 pbpaste
 open
 diskutil
 hdiutil </p></li>
</ol>

<p>Enjoy!</p>

<p>P.S.  others have recommended this list: <a href="http://superuser.com/questions/52483/terminal-tips-and-tricks-for-mac-os-x">http://superuser.com/questions/52483/terminal-tips-and-tricks-for-mac-os-x</a></p>
]]>
        

    </content>
</entry>

</feed>
