<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
         xmlns:rss="http://purl.org/rss/1.0/"
         xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <rss:channel rdf:about="http://tracyreed.org/blog">

        <rss:title>tracyreed.org - Tracy Reed</rss:title>
        <rss:link>http://tracyreed.org/blog</rss:link>

        
        <rss:description>Tracy Reed RSS 1.0 feed.</rss:description>

        <rss:image rdf:resource="http://tracyreed.org/logo-spacer.jpg" />

        <sy:updateperiod>hourly</sy:updateperiod>
        <sy:updatefrequency>1</sy:updatefrequency>
        

        <rss:items>
            <rdf:seq>
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2008/06/17/get-less-junkmailprotect-your-credit" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2008/03/16/i-love-this-community" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2008/03/04/pilots-judgement-crosswind-landings" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2008/02/25/anyone-need-a-computer-job" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2008/01/15/geeks-vs-9-to-5ers" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2008/01/04/my-rss-feeds" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/12/02/social-network-sites" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/10/12/dane-geld" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/08/18/sco-loses-one-laptop-per-child-open-letter-to-people-wanting-free-computer-tech-support" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/08/17/quantum-physics" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/08/05/whore-or-long-term-relationship" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/06/29/gplv3-released-today" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/06/28/s3-backuppy" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/06/13/tao-te-ching-unix-power-classic" />
                
                
                <rdf:li rdf:resource="http://tracyreed.org/blog/archive/2007/05/02/when-will-they-learn" />
                
                
            </rdf:seq>
        </rss:items>
    </rss:channel>

    <rss:image rdf:about="http://tracyreed.org/logo-spacer.jpg">
        <rss:title>tracyreed.org - Tracy Reed</rss:title>
        <rss:link>http://tracyreed.org/blog</rss:link>
        <rss:url>http://tracyreed.org/logo-spacer.jpg</rss:url>
    </rss:image>

    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2008/06/17/get-less-junkmailprotect-your-credit">
        <rss:title>Get less junkmail/protect your credit</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2008/06/17/get-less-junkmailprotect-your-credit</rss:link>       
        
        <content:encoded><![CDATA[I just <a href="https://www.dmachoice.org/MPS/proto1.php">signed up for this</a>. I found it via <a href="http://www.savingadvice.com/blog/2008/06/04/102143_never-pay-someone-to-protect-your-identity.html">
this article about LifeLock</a> which was <a href="http://www.schneier.com/blog/archives/2008/06/lifelock_and_id.html">linked to by Bruce Schneier</a>, my favorite security guru. Hopefully over the next few months it will cut down on the amount of junkmail I get. I am also considering calling the credit company and putting a fraud alert on my account. Unfortunately it expires every 90 days so I would have to call them every 3 months to keep it going which would be a pain. That is all Lifelock does for you. The credit bureaus really should be taking these precautions anyway. But it costs them extra money to have to actually verify requests for credit so they try to avoid it.
]]></content:encoded>        
        <dc:date>2008-06-17T14:07+00:00</dc:date>
        <dc:modified>2008-06-17 18:07:03</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2008/03/16/i-love-this-community">
        <rss:title>I love this community</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2008/03/16/i-love-this-community</rss:link>       
        <rss:description>A tale of two communities...</rss:description>
        <content:encoded><![CDATA[<p>For the last year I have been hanging out on a local Windows user group mailing list just to see how the other half lives. I have been on the local Linux user group mailing list for at least 12 years. The difference is night and day. The Windows user group mailing list has invites to various free lunches paid for by vendors who want to you to buy their stuff and the occasional chatter about some problem with SQL Server or IIS or something. When someone complains about Windows a rep from Microsoft shows up on the list to handle the situation. The Linux group is full of passionate discussion and debate about all manner of technical and political issues plus the usual advice giving and newbie helping. The Linux people are clearly in it for the love of it and the Windows users just seem to be there for a paycheck. Just look at the times people post to the lists. The local Linux folk are posting day and night and weekends. The Windows people are mostly 9 to 5'ers Monday through Friday. The Windows group meets at the local Microsoft office and watch a vendor presentation and then go home. The Linux group meets at a local school, put on their own presentation from 7 to 9 pm every second Thursday and then a dozen or so of them go to an after-meeting meeting at a nearby Denny's restaurant for conversation until midnight. If any of you are in the San Diego area check out http://kernel-panic.org/<br /><br />And on top of it all, tonight I hacked a new feature into Kudzu (detecting AoE disks so that Anaconda can install RedHat/CentOS onto them which is something I *really* need) made possible by Free Software and some help from my LUG friends so I'm pretty darn happy with the GNU/Linux community right now. I'll be sending that code to RedHat for sure because that's how I give back and we as a community keep improving our Free Software.</p>]]></content:encoded>        
        <dc:date>2008-03-16T00:06+00:00</dc:date>
        <dc:modified>2008-03-16 04:06:27</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2008/03/04/pilots-judgement-crosswind-landings">
        <rss:title>Pilots, judgement, crosswind landings</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2008/03/04/pilots-judgement-crosswind-landings</rss:link>       
        
        <content:encoded><![CDATA[<p>I don't post nearly enough about my flying adventures on my blog. I have long vowed to write more about aviation here but for some reason once the plane is tied down and paperwork done I don't do anything more about it. I have been flying on average every couple of weeks for years now and I'm getting near a thousand flight hours of experience.  An old friend emailed me today asking a question about aviation and my reply turned out to be rather long so I decided I should just post it here for all to enjoy.</p>
<p>He wrote:
<pre>
  So, I'd love to hear your opinion on this. There's a lotta comments
  from posters saying they're professional pilots etc, but I don't know
  them from Adam.

  So, your thoughts, was this great piloting, or poor judgement in the
  first place?

  http://thelede.blogs.nytimes.com/2008/03/03/video-captures-near-plane-crash-in-hamburg/index.html?hp
</pre>
</p>
<p>A co-worker pointed this out to me earlier today. I'm really not sure. I 
don't know what the forecast conditions were, what the actual conditions 
were, etc. It could be that the conditions were forecast to be just fine 
and suddenly a microburst or gust front or something similar hit the 
airport just as he was landing. The article indicates something to that 
effect. Generally I try really hard not to second guess other pilots 
unless I am there in the cockpit and have all of the same information 
they do. Non-pilots should try twice as hard.</p>
<p>I try to avoid the mainstream media when it comes to aviation or 
computers because they inevitably get it wrong and just piss me off.</p>
<p>About the only thing I can say is that by calling it a "near plane 
crash" they almost certainly sensationalize the situation and needlessly 
scare people. I guess I can also say that he did the right thing by 
initiating a go-around as soon as he realized something wasn't right. 
Impossible to say if the pilot has "skills" or not though.</p>
<p>"Superior pilots use their superior judgment to stay out of situations 
where they must use their superior skills." I have always liked that 
motto. They do indeed train for just that situation. I train for it too.</p>
<p>In fact, just last night I was returning from a flight to Fullerton 
airport where we went for dinner with some of Trinity's old high school 
friends from Vietnam. It is amazing how many of her friends have made it 
over to the US and live around or occasionally visit the Westminster 
(Little Saigon) area. There was a pretty strong Santa Ana weather 
condition last night and the winds were quite strong as we arrived back 
over Montgomery Field in San Diego around 11pm. Because the wind was out 
of the northeast (around 050 degrees) the best runway to land on was 
runway 05. But that runway is unlit at night. So do I land on the runway 
favored by the wind which has no lights or do I land on the lighted 
runway and deal with the crosswind? I decided that a crosswind is 
something I can handle but a lack of visibility and possibly landing on 
the taxiway or elsewhere by mistake was not acceptable. So I had to land 
on the only lighted runway which is 28R/10L (normally I land on 28R due 
to normal winds out of the west). You can land in either direction on 
this runway but 10L was facing more into the wind which is always 
preferable as it decreases your landing distance and speed at touchdown 
which makes for a safer landing.</p>
<p>The control tower had long since closed. The airport was uncontrolled. 
The automated weather told me there was a strong wind out of the 
northeast. As I approached the runway having completed the pre-landing 
checks I noticed that I was having to point the nose of the airplane far 
left of the runway in order to keep the plane making progress towards 
the runway. The nose of the plane was probably (just guessing) 15 
degrees to the left of the actual direction of travel over the ground. 
If we touched down in that attitude (wheels not aligned with direction 
of travel) we could damage the landing gear, blow a tire, run off the 
runway, or generally lose control of the aircraft.</p>
<p>So the procedure is to bank the airplane into the wind which turns some 
of the wings normally vertical lift vector into horizontal "lift" (or 
just call it force if you like) into the wind which pulls the plane 
horizontally into the wind and counters the blowing of the wind so your 
track across the ground is straight. However, this by itself would 
actually cause the airplane to start turning left into the wind so you 
have to put in right rudder to hold the nose of the plane aligned 
parallel with the runway. The amount of bank into the wind is 
proportional to the strength of the wind and the amount of rudder 
proportional to the bank. As the airplane gets slower while approaching 
the runway the controls become less effective due to less air moving 
over them so you have to steadily feed in more aileron control to 
maintain the same amount of bank angle until you finally touch down on 
just one wheel (the upwind wheel) with the controls all the way over 
into the direction of the wind and then the rest of the wheels come down 
as the plane decelerates.</p>
<p>If the wind is changing or gusting you have to vary the amount of 
aileron (and thus rudder etc) with the changing wind. All together it 
turns out to be quite an exercise in judgement and coordination and not 
a terribly easy maneuver to do well. Last night I did all of the above 
and was actually quite successful with it and made a very nice landing 
in a strong crosswind at night on a relatively unfamiliar runway on an 
uncontrolled airfield. And the reason why is training. We all train for 
this sort of thing. And if the wind had suddenly kicked up really strong 
and started to blow me off the runway like it did for that airliner I 
would have pushed the throttle full forward, kept the plane under 
control, and headed back up for the safety of the open sky having 
already pre-configured the airplane for just such an event (in my case 
that is propeller at high rpm, mixture rich, etc) as part of my 
pre-landing checks. Just like that guy did.</p>
]]></content:encoded>        
        <dc:date>2008-03-03T23:25+00:00</dc:date>
        <dc:modified>2008-03-04 04:25:47</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2008/02/25/anyone-need-a-computer-job">
        <rss:title>Anyone need a computer job?</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2008/02/25/anyone-need-a-computer-job</rss:link>       
        <rss:description>The meaning of the word has changed a bit since then...</rss:description>
        <content:encoded><![CDATA[<img src="/photo-album/funny/computer.jpg">]]></content:encoded>        
        <dc:date>2008-02-24T19:59+00:00</dc:date>
        <dc:modified>2008-02-25 00:59:29</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2008/01/15/geeks-vs-9-to-5ers">
        <rss:title>Geeks vs 9 to 5'ers</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2008/01/15/geeks-vs-9-to-5ers</rss:link>       
        
        <content:encoded><![CDATA[When I look for employees or look for an employer I consider whether they are a real "geek" (which these days is a serious compliment)or just a 9 to 5'er. <a href="http://osnews.com/permalink?295748#comment_295748">This message, posted to OSNews.com</a> explains the difference quite well. I'm quoting it here in case the original message disappears someday:
 
 <br>
 
 <pre>
 geeks vs 9-5'ers
 by TechGeek (3.49) on Mon 14th Jan 2008 03:07 UTC
 TechGeek
 Member since:
 2006-01-14
 
 Working at a university I see a lot of trends that people talk
 about. Its easy to spot these when you have seen thousands of
 students cycle through your program. The attitude that Open Source
 users are more capable looks like its true on the surface. But its
 just an illusion. The real problem is that there are two types of IT
 people, as I like to label them, the geeks and the 9to5'ers.
 
 We have students who just went in to IT because they thought it
 would be a good career. These are the 9to5'ers. They do the minimum
 learning to skate by. And nothing is easier to look good at running
 than Windows. Thats not to say it IS that easy to do well, but with
 a little knowledge its pretty easy to look like you know what your
 doing. These people don't touch linux or unix because it requires a
 lot more effort to learn it to any degree of proficiency.]]></content:encoded>        
        <dc:date>2008-01-15T09:19+00:00</dc:date>
        <dc:modified>2008-01-15 14:19:19</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2008/01/04/my-rss-feeds">
        <rss:title>My RSS feeds</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2008/01/04/my-rss-feeds</rss:link>       
        <rss:description>Here's an XML export of all of the RSS feeds I read daily.</rss:description>
        <content:encoded><![CDATA[I've heard about RSS for quite a while but never really got into it until I discovered the <a href="http://sage.mozdev.org/">Sage RSS feed reader</a> extension for Firefox. Now I'm an RSS addict. I get all of my news, mostly tech stuff, via RSS. I am putting the list of cool sites which I read frequently up for others to peruse. I have removed the links of various personal friends websites who would probably rather not have the guilt by association. :) <a href="/Members/treed/export.opml">You can download the list in standard OPML format here</a>. I know that either Sage or Google Reader can import this.]]></content:encoded>        
        <dc:date>2008-01-03T20:23+00:00</dc:date>
        <dc:modified>2008-01-04 01:34:44</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/12/02/social-network-sites">
        <rss:title>Social network sites</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/12/02/social-network-sites</rss:link>       
        <rss:description>So many, so lame...</rss:description>
        <content:encoded><![CDATA[<p>Every time some new social network site springs up one of my many friends or colleagues just has to invite me. And of course I have to try it out to see if there is really anything special about it. So far I'm not too impressed. I'm on Myspace, Orkut, Linkedin, Yahoo 360, Facebook, etc. Pretty much all of them. Have been since the beginning. I never send invite requests to my friends. I'm afraid it might be annoying to them. Most of the kind of people I hang out with don't appreciate having their email addresses given to third parties without their consent. I get nearly a thousand spams a day now so I don't blame them.<br /><br />I know lots of people visit these sites and some have market valuations in the billions. And if there were just one and everyone used it I might be more into it. But I just can't see using the site as my only means of communicating with people. I hear some folks do all of their messaging etc through it and they consider email to be out of style. I suspect these people are high school and perhaps college kids. It might work for gossip and kid communications but I suspect that for getting stuff done in the real world email has little to fear.<br /><br />And what's up with the horrible page design and user interface? It seems everyone has to customize their page and make it impossible to read with lots of widgets and play a really sappy song in the background when you load it up. I'm not whether my ears, my eyes, or my browser are more strongly offended. I recently found an article somewhere lamenting this same problem but alas I cannot for the life of me recall where it was to link to it.<br /><br />And now I have clients saying they want &quot;social networking&quot; added to their website designed to sell widgets because they hear about it all the time and think it will attract people to their site and sell more widgets. *sigh*</p>]]></content:encoded>        
        <dc:date>2007-12-02T18:16+00:00</dc:date>
        <dc:modified>2007-12-02 23:16:00</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/10/12/dane-geld">
        <rss:title>Dane-geld</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/10/12/dane-geld</rss:link>       
        <rss:description>A very appropriate poem by Rudyard Kipling</rss:description>
        <content:encoded><![CDATA[Whether dealing with corrupt local policeman, customs officials, foreign countries, or even litigious bastards such as <a href="http://www.groklaw.net/article.php?story=20071011205044141">Microsoft and their proxies (SCO, Acacia),</a> it is always best not to pay. And although I don't normally blog about politics (plenty of others doing that) I'm a bit annoyed that we are sending North Korea 50,000 metric tons of oil as a reward for their behavior. I wonder how much we will eventually end up paying Iran? I must say I am a bit gratified to see Novell named in a patent lawsuit. That's what happens to people who do business with Microsoft.

<pre>
Dane-geld
(A.D. 980-1016)
Rudyard Kipling


IT IS always a temptation to an armed and agile nation,
    To call upon a neighbour and to say:—
“We invaded you last night—we are quite prepared to fight,
    Unless you pay us cash to go away.”

And that is called asking for Dane-geld,
    And the people who ask it explain
That you’ve only to pay ’em the Dane-geld
    And then you’ll get rid of the Dane!

It is always a temptation to a rich and lazy nation,
    To puff and look important and to say:—
“Though we know we should defeat you, we have not the time to meet you.
    We will therefore pay you cash to go away.”

And that is called paying the Dane-geld;
    But we’ve proved it again and again,
That if once you have paid him the Dane-geld
    You never get rid of the Dane.

It is wrong to put temptation in the path of any nation,
    For fear they should succumb and go astray,
So when you are requested to pay up or be molested,
    You will find it better policy to say:—

“We never pay any-one Dane-geld,
    No matter how trifling the cost;
For the end of that game is oppression and shame,
    And the nation that plays it is lost!” 
</pre>]]></content:encoded>        
        <dc:date>2007-10-12T11:28+00:00</dc:date>
        <dc:modified>2007-10-12 15:54:00</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/08/18/sco-loses-one-laptop-per-child-open-letter-to-people-wanting-free-computer-tech-support">
        <rss:title>SCO loses, One Laptop Per Child, Open Letter to people wanting free computer tech support</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/08/18/sco-loses-one-laptop-per-child-open-letter-to-people-wanting-free-computer-tech-support</rss:link>       
        
        <content:encoded><![CDATA[<p><a href="http://www.groklaw.net/article.php?story=20070810165237718">SCO has lost their epic legal battle.</a> The judge ruled against them. Time to party! No more FUDing about Linux. At least not that same old FUD which we have had to tolerate for the last 4 years. And hopefully MS has learned a lesson from SCO's foolishness. Once again I feel vindicated.</p>

<p>
<a href="http://www.freedom-to-tinker.com/?p=1187">Here is an excellent review</a> of the $100 laptop of the One Laptop Per Child laptop project which is a small laptop designed to be used as an educational tool for children in poor third world countries who already have food and a roof over their heads but still lack education.</p>

<p>
<a href="http://blog.pretheory.com/arch/2007/08/an_open_letter_to_anyone.php">An Open Letter To Everyone:</a> I know JUST how this guy feels. Why can't I ever get free legal or car work done? From the article:

<blockquote>
So you're having a problem with your computer, eh? Yes, you're right, I do know something about computers and yes, I was a computer science major. Will I fix your problem?

I'll certainly try. I'm more than happy to help you to the best of my ability. You're a friend and I'm glad I can help you. I know you'd do the same for me and in all likelihood, I'll be hitting you up for free financial/legal/medical/automotive advice in the near future. I happen to have an area of expertise and I genuinely don't mind helping you out.</blockquote>
</p>

<p>
All of this combined with <a href="http://www.accountingweb.co.uk/cgi-bin/item.cgi?id=171829&d=1032&h=1020&f=1026">Dell shipping Linux pre-installed on their hardware and report having received 30,000 requests for Linux pre-installed</a> on their machines makes this a pretty good week. People are starting to get it!</p>]]></content:encoded>        
        <dc:date>2007-08-17T22:09+00:00</dc:date>
        <dc:modified>2007-09-03 02:18:08</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/08/17/quantum-physics">
        <rss:title>Quantum physics</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/08/17/quantum-physics</rss:link>       
        <rss:description>You can't communicate information faster than the speed of light, right?</rss:description>
        <content:encoded><![CDATA[Someone on <a href="http://slashdot.org">slashdot</a> wrote a 
<a href="http://science.slashdot.org/comments.pl?sid=272587&threshold=4&commentsort=0&mode=nested&cid=20260497"> 

reply</a> to

<a href="http://science.slashdot.org/article.pl?sid=07/08/17/1153252">this article</a> to which <a href="http://science.slashdot.org/comments.pl?sid=272587&cid=20266577">I replied</a> which I also post here:


<blockquote>
2. Quantum instantaneousness. Two particles can be put into a quantum entanglement, such that their states depend on one another, even though they have not 'picked' a particular state yet. You can separate the two particles (even by a huge distance), collapse one particle into a state and the other particle collapses instantaneously into the corresponding state.
</blockquote>

<p>
Your explanation is as I have read many times and seems to be good physics to my untrained thinking. If you have a particle and I have the corresponding tangled particle and we are separated by a great distance and you collapse yours mine will collapse also. I don't know what state yours collapsed to and cannot tell anything from what state mine collapsed to. But I *do* know that you collapsed yours. Isn't that information? What if you and I each have a vast number of entangled particles ordered in a line. You start collapsing your particles with a certain timing. Say, for example, morse code. Particle collapses 1 second apart are dits and 2 seconds apart are dahs. Now don't we have a means of transmitting information faster than light? Surely this is not possible, right? But I don't understand why not.
</p>

<p>
Update: The flaw in the above is that there is no way to tell if my particle has collapsed to any particular state or not because when I measure my particle it will cause it to collapse causing my partners entangled particle to collapse to some state also making it useless for communication. Heisenberg was a real bastard.
</p>]]></content:encoded>        
        <dc:date>2007-08-17T09:00+00:00</dc:date>
        <dc:modified>2007-08-17 16:40:21</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/08/05/whore-or-long-term-relationship">
        <rss:title>Whore, or long term relationship?</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/08/05/whore-or-long-term-relationship</rss:link>       
        <rss:description>Just take a guess what this one is about...</rss:description>
        <content:encoded><![CDATA[<p>I haven't really done much Linux advocacy in recent years since Linux really doesn't need nearly as much as it used to. Linux is mainstream, very successful, etc. Companies with any significant computer infrastructure that don't use Linux are becoming rare. Of course, most of them still make the right choice for the wrong reason but at least they are choosing Linux. But every now and then I still have to step in and advocate for Linux on the desktop. Most of the practical problems with it have gone away leaving us with the perceptual and habitual issues. And those will be even harder to solve and you won't win those arguments on technical grounds. There has got to be another way.</p>
<p>I was reading the Fedora mailing list today and came across this excellent comparison:
<pre>
 The difference between Windows and Linux is like the
 difference between a whore and a long term relationship.
 It needs some time, it does not allow everything and is
 not always easy, but it is worth it. - Adalbert Prokop
</pre>
</p>
<p>How true!</p>
<p>To which someone else replied:
<pre>
 I like your comparison and your explanation. A person
 that I knew divorced after 20 years of marriage
 because the wife went with another man. This person
 went to a place and met a whore and got married with
 her. He says that she is the best women a man can
 have. She does not have the urge for other men because
 she has been there, done that. She is faithful and
 treats him like a king. However, this is the
 exception and not the rule.

 The way you state it is the way it is, you stick with
 linux and in the end, you will be better off. It will
 take time, but it is a good decision.

 Regards,

 Antonio
</pre>
</p>
<p>Very interesting point of view, no?</p>
<p>And to look at the long term relationship aspects of it: I have been using Linux for over 13 years now. And everything I learned back then still works today. The tools work the same, the environment works the same, the fundamentals are unchanged. The time spent learning it has been an investment which now pays dividends every time I sit down in front of my computer. Some important capabilities have been added since then that make things much better but they are all pretty much invisible to the desktop user. From a desktop point of view things are a bit prettier and we can read/write Word files etc. Not a big difference. The biggest differences are hidden from the user in the form of better driver support, more auto-configuration of hardware, etc. In fact most of the improvements in Linux as a desktop in recent years seem to have come in the form of getting most of that stuff out of the users face.</p>
<p>On the other hand, Windows users have needed retraining on how many different revs of software since then? And they have had to pay again every time. Windows techs have to get re-certified every time too. It is a never-ending upgrade treadmill. Have fun with that.</p>
]]></content:encoded>        
        <dc:date>2007-08-05T16:12+00:00</dc:date>
        <dc:modified>2007-08-05 20:22:26</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/06/29/gplv3-released-today">
        <rss:title>GPLv3 released today</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/06/29/gplv3-released-today</rss:link>       
        
        <content:encoded><![CDATA[The GNU General Public License, the software license which has enabled
 
 companies like Interactivate, Google, Redhat, and others to thrive and
 
 for guys like me to have a career, has just had a new version
 
 released.
 
 
 
 It's funny how such a notable event which affects so much software
 
 that so many big companies critically depend on will pass with barely
 
 a mention in the industry trade press.
 
 
 
 The first version of the GNU General Public License appeared in
 
 1988. Version 2 was released in 1991. Version 2 survived the PC
 
 explosion, Internet explosion, dot com boom and bust, and appears to
 
 be weathering the legal attacks from SCO and others quite well. While
 
 other companies change their license like most people change underwear
 
 the GPLv2 has endured for 16 years. But now the recent litigious trend
 
 due to the proprietary software industry having their business model
 
 obsoleted by Free Software plus the patent issues among others have
 
 caused some additional language to be added and other language
 
 clarified to further protect the rights of software users.
 
 
 
 Most of the GPL licensed software we use will automatically transition
 
 to the GPLv3 by virtue of the "or any later version" language included
 
 in GPLv2. The Linux kernel will not because it does not include the
 
 "any later version" language but I have a feeling it will be manually
 
 moved to GPLv3 some day.
 
 
 
 The text of GPLv3 can be found here:
 
 
 
 <a href="http://www.gnu.org/licenses/gpl-3.0.html">http://www.gnu.org/licenses/gpl-3.0.html</a>
 
 ]]></content:encoded>        
        <dc:date>2007-06-29T10:28+00:00</dc:date>
        <dc:modified>2007-07-05 12:05:11</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/06/28/s3-backuppy">
        <rss:title>s3-backup.py</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/06/28/s3-backuppy</rss:link>       
        <rss:description>s3-backup.py uploads Bacula (backup software) file volumes to Amazon S3 for safe, cheap, easy off-site storage. I'm crazy about backups. This is part of my disaster recovery plan. "If it wasn't backed up it wasn't important." - Me
 </rss:description>
        <content:encoded><![CDATA[I use <a href="http://www.bacula.org">bacula</a> to do the backup to file storage volumes and then I use a python program which I hacked together using the BitBucket library to query the bacula mysql database for full volumes and then it looks into the directory where bacula dumps the volumes and if it finds them there it uploads them to S3. When the upload finishes it deletes the volume from the local disk. I cron this program to run every 5 minutes checking for stuff to upload. This turns out to be a pretty slick solution and is working really well so far.

<pre>
#!/usr/bin/python
"""

Get list of full volumes from the bacula database, upload the volumes
to S3, delete the volumes from the local system.

Tracy Reed
March 15, 2007

"""

import mimetypes
import os.path
import sys
import MySQLdb
import bitbucket
import time
import fcntl

AWS_ACCESS_KEY_ID = 'myaccesskey'
AWS_SECRET_ACCESS_KEY = 'mysecretkey'
BUCKET_NAME = 'mybucket'
BACKUP_DIR = '/home/treed/media/backups'

def daemonlock(progname, timeout=2):

    """Test lock for daemons to prevent multiple instances
 
    @param progname: The name of the caller. This name is used for the lock and
        should be unique on the system. Alternatively, this may be an absolute
        path for the lock file, which is useful for programs that do not run
        as root.
    @param timeout: Seconds to wait for the lock.
    @return: 
         0 - success
        -1 - another daemon is still active
        -2 - some other error
 
    The lock will be released when the caller terminates. No unlock is
    required.

    This is much slicker than the old way of writing our pid out to a
    file and then reading in that file and parsing ps output to see if
    that pid still exists.
    """
    
    if progname.startswith(os.path.sep):
        lockfile = progname
    else:
        lockfile = "/var/run/%s.pid" % (progname.replace(os.path.sep, "_"))
 
    try: 
        fd = os.open(lockfile, os.O_CREAT | os.O_RDWR, 0644)
    except OSError, e:
        print e
        return -2
 
    timed_out = True              # Assume failure
    t_end = time.time() + timeout
    while time.time() < t_end:
        try:
            fcntl.lockf(fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
            timed_out = False
            break
        except IOError, e:
            pass
        time.sleep(0.3)         # Wait a little to minimise CPU load
        
    if timed_out:
        return -1
    else:
        # Got lock, write the program's current pid
        os.write(fd, "%d\n" % (os.getpid()))
        return 0

def get_full_volumes():

    """ Connect to the database and get a list of all of the full
    volumes. Return the list. """
    
    db = MySQLdb.connect(host="localhost", user="root", passwd="mypassword", db="bacula")
    cursor = db.cursor()
    cursor.execute("select VolumeName from Media where VolStatus='Full'")
    result = cursor.fetchall()
    return result

def upload_volumes(full_volumes):

    """ Use bitbucket to establish a connection to S3. Iterate over
    full_volumes and upload each one.  Bitbucket is cool in that it
    makes the files to upload keys in a dictionary. The bucket is the
    dictionary, the keys are the files, the values associated with the
    keys are the contents. So to put data into file on S3 we just
    assign the data to a key and it gets uploaded. It automatically
    checks if the contents are the same using md5sum in the
    implementation of the bucket object and if they are the same
    already it does not upload the data.  """

    connection = bitbucket.connect(access_key=AWS_ACCESS_KEY_ID, secret_key=AWS_SECRET_ACCESS_KEY)
    bucket = connection.get_bucket(BUCKET_NAME)
    for record in full_volumes:
        file=("%s/%s" % (BACKUP_DIR, record[0]))
        print file
        if os.path.exists(file):

            # This while causes us to loop which retries the
            # upload. We increment attempts each time through and if
            # attempts is less than 3 we raise ValueError which gets
            # caught with a pass which causes us to hit the bottom of
            # the loop so we start over. If attempts is 3 or greater
            # we don't raise ValueError which causes us to hit the
            # else clause which contains a break which gets us out of
            # the loop.

            attempts = 0
            while 1:
                # This try for implementing the retry mechanism
                try:

                    # This try for ignoring empty files
                    try:
                        if bucket.has_key(record[0]):
                            bits = bucket[record[0]]
                            bits.filename = file
                        else:
                            bits = bitbucket.Bits(filename=file)
                            # Here's where we assign bits (read in
                            # from the file) to record[0] (the
                            # filename in S3) to a key in the bucket.
                            bucket[record[0]] = bits
                        os.unlink("%s/%s" % (BACKUP_DIR, record[0]))
                    except bitbucket.BitBucketEmptyError:
                        print 'sync_dir: Empty File - Ignored %s' % fullpath
                    attempts = attempts + 1
                    if attempts < 3:
                        raise ValueError

                    
                except ValueError:
                    print "Retrying...Retry number ", attempts+1
                    pass # retry
                else:
                    break # done


if __name__ == "__main__":

    # Check our lockfile and see if another copy is already running
    if daemonlock("s3-upload") != 0:
        sys.exit()
    # Connect to the bacula db and get our list of full volumes to
    # upload
    full_volumes = get_full_volumes()
    # Do the uploads to S3
    upload_volumes(full_volumes)

</pre>]]></content:encoded>        
        <dc:date>2007-06-27T21:41+00:00</dc:date>
        <dc:modified>2007-06-28 01:45:42</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/06/13/tao-te-ching-unix-power-classic">
        <rss:title>Tao Te Ching: Unix Power Classic</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/06/13/tao-te-ching-unix-power-classic</rss:link>       
        
        <content:encoded><![CDATA[One reason why I like Linux/Unix is the community. Other OS's tend not to have communities. They may have lots of users but no real communities. Nobody writes stuff like this about Windows:

<a href="http://home.ccil.org/~cowan/upc/">http://home.ccil.org/~cowan/upc/</a>]]></content:encoded>        
        <dc:date>2007-06-13T12:05+00:00</dc:date>
        <dc:modified>2007-06-13 16:05:46</dc:modified>
        
        <dc:creator>treed</dc:creator>
        
    </rss:item>
    
    
    
    
    <rss:item rdf:about="http://tracyreed.org/blog/archive/2007/05/02/when-will-they-learn">
        <rss:title>When will they learn?</rss:title>
        <rss:link>http://tracyreed.org/blog/archive/2007/05/02/when-will-they-learn</rss:link>       
        <rss:description>Oh Nein Eff Nein</rss:description>
        <content:encoded><![CDATA[<p> <img class="image-left"
	 src="../../photo-album/HD-DVD-KEY.JPG/image_preview" alt="Oh nein
	 eff nein" />
    
    For decades they have tried and for decades they have failed. You
    simply cannot completely secure a digital computer against its owner
    and prevent the owner from copying data in that computer and giving
    it to anyone they want. Not while preserving the basic freedoms
    which we enjoy such as freedom of speech.</p>

<p>The numbers depicted here are the secret code needed to decrypt
    the new high definition DVD's. The movie industry spent lots of time
    and money coming up with this silly scheme and truly brilliant
    hackers had it cracked in no time. And every time they do this there
    will be truly great people lining up to meet the challenge. I have
    never seen any industry repeatedly fail to learn from history for as
    long as these guys have.</p>

<p>I find myself agreeing more and more with the idea that DRM
    stands for "Digital Restrictions Management" and that DRM manages
    rights the same way jail manages freedom. Yet another reason why I
    have not bought a CD in years and I have never in my life bought a
    movie on DVD. The current system of copyright is totally corrupt and
    damaging to both our economy and our culture. We pay taxes to
    support the copyright system which is established by the
    Constitution of the United States of America to encourage creation
    of artistic works so that eventually these things fall into the
    public domain and we can all enjoy them. We do NOT have a copyright
    system so that artists get paid. That is only a means to an end. And
    until these things fall into the public domain we are entitled to
    Fair Use.</p>

<p>Copyright was originally set at 56 years. More than long enough
    for the artist to recoup his investment. The media companies are
    constantly extending copyright. It has been extended twice now, each
    time a bunch of content from the beginning of the movie
    entertainment age was about to fall into the public
    domain. Currently it is set at life of the author plus 95 years in
    the case of corporate created works such as Mickey Mouse. The
    copyright on Mickey Mouse will expire in 2061 unless they extend it
    again which seems quite possible. Walt Disney is long dead and
    gone. How is providing further protection encouraging him to create
    more artistic works?</p>

<p>But in addition to constantly expanding the term of copyright
    protection so that nothing falls into the public domain the movie
    and music industries are doing their best to remove our rights to
    Fair Use under the <a title="United States Copyright Act of 1976"
			  href="http://en.wikipedia.org/wiki/United_States_Copyright_Act_of_1976">Copyright
    Act of 1976</a> (17 U.S.C. Section 107). The Digital Millenium
    Copyright act is only the most recent successful attempt at chipping
    away at our rights.</p>

<p>Information does want to be free. In the same sense that water wants
    to run downhill. Not so much as to anthropomorphize information as
    to state a basic tendency. Or to put it another way, you can't put
    the genie back in the bottle.</p>

<div>
    <object height="350" width="425"><param name="movie" value="http://www.youtube.com/v/L9HaNbsIfp0" /><param name="wmode" value="transparent" /></object>
</div>]]></content:encoded>        
        <dc:date>2007-05-01T21:32+00:00</dc:date>
        <dc:modified>2007-05-02 02:20:23</dc:modified>
        
        <dc:creator>root</dc:creator>
        
    </rss:item>
    
    
    
</rdf:RDF>

