<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>jro.codegrinder.com - Home</title>
  <id>tag:jro.codegrinder.com,2008:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.7.3">Mephisto Noh-Varr</generator>
  <link href="http://jro.codegrinder.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://jro.codegrinder.com/" rel="alternate" type="text/html"/>
  <updated>2008-08-04T17:43:41Z</updated>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-08-04:55</id>
    <published>2008-08-04T17:39:00Z</published>
    <updated>2008-08-04T17:43:41Z</updated>
    <link href="http://jro.codegrinder.com/2008/8/4/fight-club-macbookpro-results" rel="alternate" type="text/html"/>
    <title>Fight Club: MacBookPro results</title>
<content type="html">
            &lt;p&gt;It didn&#8217;t really take long for me to decide to give OSX the lion&#8217;s share of the hard drive.  I think the biggest thing was that the current madwifi drivers (from trunk) didn&#8217;t provide reliable access at home, and that sucked A LOT.  Many of the other issues with the UI, etc I would have eventually been able to deal with.  &lt;/p&gt;

&lt;p&gt;I&#8217;ve still left some space for a linux install, and I&#8217;m itching to try it with a bent towards KDE apps, but I&#8217;ll need to find some serious time to do so.  I was a bit naive as to how much time it would really require to get a good picture.  So, I don&#8217;t consider this a failure for Ubuntu or E at all, but a failure for how much time I really had to dedicate.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-07-12:49</id>
    <published>2008-07-12T19:58:00Z</published>
    <updated>2008-07-13T00:26:05Z</updated>
    <link href="http://jro.codegrinder.com/2008/7/12/fight-club-macbookpro" rel="alternate" type="text/html"/>
    <title>Fight Club: MacBookPro</title>
<content type="html">
            &lt;p&gt;I&#8217;ve been putting off upgrading the trusty MacBookPro to Leopard for a while.  I use fink and the Unix-ey side of things quite a bit, and really wanted that to be stable.  Well, turns out many of the apps I&#8217;d like to try out are now Leopard only.  So, upgrade time.  &lt;/p&gt;

&lt;p&gt;But, with a twist.  I&#8217;ve long lamented the quality of packaging on the Mac, fink and macports both have their failures and apple&#8217;s own package handling is very sad.  Enter a new challenger: Hardy Heron - Ubuntu.  I&#8217;ve used Linux in one form or another for what seems like forever.  And, I miss it.  So, I want to see how I like the current offering from Ubuntu.&lt;/p&gt;

&lt;p&gt;I&#8217;ve setup the MBP to have two equal installations, each around 70G in size.  I&#8217;ve used &lt;a href=&quot;http://refit.sourceforge.net/&quot;&gt;eEFIt&lt;/a&gt; to handle the bootloader issues.  I&#8217;ve started to use &lt;a href=&quot;https://help.ubuntu.com/community/MacBookPro&quot;&gt;this guide&lt;/a&gt; to get started on fixing things.  Apparently, I have a 3rd rev MBP so I had a few issues with wifi early on.  I&#8217;ll blog more about the tech details if I think other people would find them interesting.  We&#8217;ll see.&lt;/p&gt;

&lt;h3&gt;What do I really expect?&lt;/h3&gt;

&lt;p&gt;Despite having more experience with Linux overall, I really think Leopard might win for me.  There are a couple applications I&#8217;m not sure I can learn to live without.  But, at the same time, I &lt;em&gt;really&lt;/em&gt;, &lt;em&gt;really&lt;/em&gt; miss a decent environment for using Unix apps.  It&#8217;s also quite likely that I&#8217;ll end up continuing to dual boot, living mostly in Linux but booting to the OS X side for the few programs I can easily transition.  &lt;/p&gt;

&lt;p&gt;Bets?&lt;/p&gt;

&lt;h3&gt;Update - Useful links&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://ubuntuguide.org/wiki/Ubuntu:Hardy&quot;&gt;Ubuntu Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.medibuntu.org/&quot;&gt;MediaBuntu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://opengeuwiki-en.intilinux.com/index.php?title=Install_opengeu_8.04_from_packages&quot;&gt;OpenGeu - E17 derivative of Ubuntu&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-05-19:47</id>
    <published>2008-05-19T03:50:00Z</published>
    <updated>2008-05-19T03:55:34Z</updated>
    <link href="http://jro.codegrinder.com/2008/5/19/i-have-survived-part-2" rel="alternate" type="text/html"/>
    <title>I have survived, part 2</title>
<content type="html">
            &lt;p&gt;I&#8217;m back, and still surviving&lt;/p&gt;

&lt;h3&gt;The Orbitz Years&lt;/h3&gt;

&lt;p&gt;When I started in the NOC at &lt;a href=&quot;http://www.orbitz.com&quot;&gt;Orbitz&lt;/a&gt;, I really only expected to stay a year or two cutting my teeth before finishing school and moving on to something new.  Well, that year turned into six, and that finishing school thing never really happened.  I was, however, lucky enough to get to know some truly awesome people, and work in three rather different positions within the company.  &lt;/p&gt;

&lt;p&gt;In the NOC, I recall meeting &lt;a href=&quot;http://rhuber.blogspot.com/&quot;&gt;Ryan&lt;/a&gt; on one of my first days at the company and chatting about the &lt;a href=&quot;http://www.enlightenment.org&quot;&gt;Enlightenment&lt;/a&gt; window manager while the rest of the team moved the NOC down a floor.  We got on pretty well, both being from down-state Illinois, and spent a fair bit of time trolling around Chicago as we learned our way around.  Shenanigans included a few visits to &lt;a href=&quot;http://www.defcon.org&quot;&gt;Defcon&lt;/a&gt;, many rounds of drunken chess, and being asked if we were FBI agents while Wardriving.., er Warsitting?.  &lt;/p&gt;

&lt;p&gt;After the NOC, I was able to move into a position as a Systems Engineer attached to the development team.  I learned about managing a large number of workstations, and dealing with the requests from a large number of developers.  LDAP for authentication, RPM + apt, and a local Jabber server really really helped me from going insane.  This is about the time I saw the light for properly packaging software for local use.   Mmmmm RPMDEBFINKPKG-stuff.&lt;/p&gt;

&lt;p&gt;Moving on, I landed in the Information Security department with Justin, &lt;a href=&quot;http://cleartext.wordpress.com/&quot;&gt;Ed&lt;/a&gt;, and &lt;a href=&quot;http://www.laz.com&quot;&gt;Laz&lt;/a&gt;.  We had great fun, and I was able to really spend some time with Ruby, visit Mauritius errr.. audit a vendor in Mauritius, and meet real live Sarbanes-Oxley auditors (shudder).&lt;/p&gt;

&lt;p&gt;There were, really, too many great folks to talk about my experiences with each, but it was a wonderful experience all around.  I will however note that &lt;a href=&quot;http://www.laz.com&quot;&gt;Laz&lt;/a&gt; is &lt;em&gt;still procrastinating in starting his blog&lt;/em&gt;.  Laz I know you worked at SGI during the Jurassic period, but seriously, stop contemplating, start writing.&lt;/p&gt;

&lt;h3&gt;Viewpoints&lt;/h3&gt;

&lt;p&gt;In May of 2007, I left Orbitz to start a new adventure at &lt;a href=&quot;http://www.viewpoints.com&quot;&gt;Viewpoints&lt;/a&gt;.  It&#8217;s been a great experience so far.  We&#8217;re a small team (an awesome one), we&#8217;re a Ruby on Rails site, and I&#8217;ve been able to learn a lot.  Awesome!&lt;/p&gt;

&lt;h3&gt;So 10 years in tech?&lt;/h3&gt;

&lt;p&gt;I&#8217;m very happy with where I&#8217;ve landed at Viewpoints, and I don&#8217;t see myself freaking out and changing careers any time soon.  But, it has been interesting to look back over the last 10 years and contemplate where I&#8217;ll be 10 years from now.  It seems quite likely as I get a bit older that my next real adventures won&#8217;t have anything to do with my career or career aspirations, but that&#8217;s a thought for another day.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-05-07:45</id>
    <published>2008-05-07T05:17:00Z</published>
    <updated>2008-05-19T03:56:13Z</updated>
    <link href="http://jro.codegrinder.com/2008/5/7/i-have-survived" rel="alternate" type="text/html"/>
    <title>I have survived</title>
<content type="html">
            &lt;p&gt;As of a day or two ago, I have survived for 28 years of life. Of those, I&#8217;ve spent roughly the last decade working in technology.  I&#8217;m not normally a huge birthday person, so maybe it&#8217;s been the recent onslaught of &#8220;your parents music&#8221; at work, but for some reason it strikes me as a milestone.  So, I thought I&#8217;d share a few memorable points and people from the last 10 years of being a geek.&lt;/p&gt;

&lt;h3&gt;The first &#8220;real&#8221; job&lt;/h3&gt;

&lt;p&gt;I&#8217;d worked some farming, and food industry jobs before, but right after I graduated high school in May of 1998, my friend Joe secured me a job at the school district he was working and graduated from.  I think we reported sometime in June to &lt;a href=&quot;https://www.eyrich.net/people/eyrichjf/wordpress/&quot;&gt;Jim&lt;/a&gt;, where we spent the first month or two of the summer lashing cat5 cables together, making ethernet patch cords and crawling through crawlspaces and air-ducts in up-to century old school buildings.  Moving into maintaining the hundreds of windows95 clients for the school district, I was tasked with building some kind of mirroring script using &#8220;rdist&#8221; (for DOS/Win). It was sort of like Norton Ghost, but command-line, rather rudimentary, and free to educators at the time.  It did, however, allow us build a lab of 30 computers in something like a day, rather than week once the &#8220;master&#8221; image for that lab was finished.  That was really my first push into Systems Administration.  After that I setup an authentication system for the school&#8217;s self-hosted ISP, managed Fool-Proof configs (a totally awesome and amusing way to lock down Windows95 machines from student tampering), and started helping &lt;a href=&quot;http://betka.net/wordpress/&quot;&gt;Corey&lt;/a&gt; with managing email, DNS and the other &#8220;core&#8221; services that were on the Linux server in the house.&lt;/p&gt;

&lt;p&gt;Amazingly, it looks like the Hoopeston School District is still sporting a web design based somewhat off of one I did a decade ago.  In some ways I&#8217;m not sure I&#8217;d ever design anything like it again, but I am proud of it&#8217;s longevity.  Check it out &lt;a href=&quot;http://www.hoopeston.k12.il.us/&quot;&gt;here&lt;/a&gt;, if you dare!&lt;/p&gt;

&lt;p&gt;All in all, at eighteen and working with Linux, I really did feel very lucky to be doing what I was doing.&lt;/p&gt;

&lt;h3&gt;Net66&lt;/h3&gt;

&lt;p&gt;Around the start of fall semester in &#8216;99 I needed to look for some work more local to the university; I just wasn&#8217;t able to keep the kind of hours I needed to with the high school being an hour away and the cost of school was an increasing burden.   My friend Pete and I applied for Support Tech positions at &lt;a href=&quot;http://www.net66.com/popmap.jpg&quot;&gt;Net66&lt;/a&gt; (now gone), which was then a small ISP owned by &lt;a href=&quot;http://www.toeppen.com/&quot;&gt;Dennis&lt;/a&gt;.  I got the position and spent a year or so working with Dennis, Marsita, Bobby, Alan, and a whole mess of other folks that rotated in and out, or were a part of Dennis&#8217;s other company (&lt;a href=&quot;http://www.suburbanexpress.com/indexuiuc.html&quot;&gt;Suburban Express&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Dennis, himself, is really what defined my experience at Net66.  Much more-so than my hung-over morning shifts on the phones, late night Saganaki and coding sessions with Alan, annoying Marsita by being late to a shift after falling asleep in a class (more often than you think), and even more than &lt;a href=&quot;http://www.suburbanexpress.com/george.jpeg&quot;&gt;George the Cat&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Dennis started Suburban Express while in school, so that he could have an excuse to explain his business school grades falling to.. B&#8217;s.  It&#8217;s a niche bus service that take kids from their central Illinois campus to the Chicago suburbs where they live.  And, he&#8217;s been terribly successful at running it, and keeping competitors away, including a price battle with GreyHound and various other upstarts.  &lt;/p&gt;

&lt;p&gt;So, Dennis decides one day to start and ISP because all the other ones in town suck, and he orders a few custom build fancy fancy servers that will run BSDi, thinking he can get them setup in a weekend.  It takes Dennis a week to get Apache setup.  And, really, that&#8217;s one of the things I&#8217;ve come to admire most about him; was simply that when he sees an opportunity, he starts working on it for real.  Not just thinking, but doing.  He&#8217;s had some false starts along the way, a newspaper to compete with the monopolized college rag, etc; but his determination keeps him moving forward.  &lt;/p&gt;

&lt;h4&gt;The sale(s)&lt;/h4&gt;

&lt;p&gt;Dennis sold Net66 to Advancenet in 2000, and I sort of went along with the company.  This was after finishing my last two weeks making flyers for Suburban Express, in what used to be O&#8217;Malleys (of Don Mclean - American Pie / UIUC midnight drinking song fame).  At Advancenet, I was able to meet some folks that would become important to my life, &lt;a href=&quot;http://twitter.com/Tricon&quot;&gt;Dave&lt;/a&gt;, and very briefly the girl that I would marry, Cindy.  Though, neither of us knew that at that time.  Unfortunately for her, (or fortunately, depending) she worked near the front of the office which I did my damnedest to avoid, because that&#8217;s where the sales folks and those that took messages from customers were.  And both groups created more and more work for me.  It got to be so bad after a while that I couldn&#8217;t get a haircut without being called or paged, and ultimately had to leave school at UIUC for a bit.  &lt;/p&gt;

&lt;p&gt;I stayed at AdvanceNet for about a year all told, until I bought a car that was a little too expensive for my income at the time.  On a lark, I put out some feelers based on hotjobs.com postings from local tech companies.  Within days I had an offer at &lt;a href=&quot;http://www.orbitz.com&quot;&gt;Orbitz.com&lt;/a&gt; that I had no idea what to do with.  The salary was near double, so I figured I didn&#8217;t really have a choice to make and I took it.&lt;/p&gt;

&lt;p&gt;While at Orbitz, Advancenet was bought by another company &lt;a href=&quot;http://www.egix.com&quot;&gt;Egix&lt;/a&gt; who I did a bit of consulting for to help transition some of the ISP authentication systems that I had been spending a lot of time on.  I was pretty naive about it all, and either through my fault or H&amp;amp;R Block&#8217;s ended up creating a couple thousand dollar tax bill for myself.  OUCH!&lt;/p&gt;

&lt;h3&gt;To Be&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://jro.codegrinder.com/2008/5/19/i-have-survived-part-2&quot;&gt;(continued)&lt;/a&gt;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-04-30:44</id>
    <published>2008-04-30T03:54:00Z</published>
    <updated>2008-04-30T03:56:47Z</updated>
    <link href="http://jro.codegrinder.com/2008/4/30/i-just-wanted-to-apologize" rel="alternate" type="text/html"/>
    <title>I just wanted to apologize </title>
<content type="html">
            &lt;p&gt;for that last post.  I was moving this blog do a different virtual host and wanted to test it out, but didn&#8217;t have anything real to say, and well &#8220;I&#8217;m sorry&#8221;.  &lt;/p&gt;

&lt;p&gt;With that out of the way.  It&#8217;s time to put some energy back into this.  But, rather than a bunch of empty promises that I&#8217;ll write something every day for the next 30 days or some other such non-sense, you&#8217;ll just have to wait and see.  I do plan to revisit an old post/tutorial on RPM, so be sure to &lt;a href=&quot;http://jro.codegrinder.com/2007/12/3/introduction-to-rpm&quot;&gt;check it out&lt;/a&gt; for a refresher.  Also, if you have any feedback on the content, length, or frequency that you find most interesting or useful in a blog, I&#8217;d love to hear it in the comments.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-04-29:42</id>
    <published>2008-04-29T04:28:00Z</published>
    <updated>2008-04-29T04:29:40Z</updated>
    <link href="http://jro.codegrinder.com/2008/4/29/mozy-mac-client" rel="alternate" type="text/html"/>
    <title>Mozy mac client...</title>
<content type="html">
            &lt;p&gt;seems to now report status to the command line in kilobits rather than Kilobytes.  Sneaky.. sneaky.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-03-19:32</id>
    <published>2008-03-19T00:47:00Z</published>
    <updated>2008-03-19T00:50:37Z</updated>
    <link href="http://jro.codegrinder.com/2008/3/19/twitterrific-from-the-command-line-using-ruby" rel="alternate" type="text/html"/>
    <title>Twitterrific from the command line using ruby</title>
<content type="html">
            &lt;p&gt;I caught this &lt;a href=&quot;http://www.rubyinside.com/ruby-as-an-applescript-replacement-811.html&quot;&gt;Ruby Inside&lt;/a&gt; post about using ruby as an applescript replacement earlier today, and started reading the associated links, and searching for something I could try to do with ruby and applescript that might actually make my life a little easier.&lt;/p&gt;

&lt;p&gt;Thanks to my friend Dave, I&#8217;ve been giving twitter a 2nd chance.  So, I created a tiny script to let me &lt;strong&gt;tweet&lt;/strong&gt; from the command line.  It&#8217;ll either take arguments and use them as the input, or standard input.  I&#8217;m sure I could have done it without using applescript or the wonderful &lt;a href=&quot;http://iconfactory.com/software/twitterrific&quot;&gt;Twitterrific&lt;/a&gt;, but that wouldn&#8217;t have been as much fun.  This way I get Twitterrific&#8217;s niceties, and besides I always have it running anyway.&lt;/p&gt;

&lt;pre&gt;
#!/usr/bin/env ruby

require 'rubygems'
require 'appscript'

str = ARGV.join(&quot; &quot;)
if str.length == 0
 $stdin.each {|l| str &amp;lt;&amp;lt; l}
end

Appscript.app('Twitterrific').post_update(str[0..139])
&lt;/pre&gt;

&lt;p&gt;Usage:&lt;/p&gt;

&lt;pre&gt;
jro@fireant:~$ tweet Having a great old time
jro@fireant:~$ tweet @someone that sounds like fun!
jro@fireant:~$ uptime | tweet 
&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-03-15:31</id>
    <published>2008-03-15T18:32:00Z</published>
    <updated>2008-03-15T18:35:38Z</updated>
    <link href="http://jro.codegrinder.com/2008/3/15/mozy-on-the-headless-mac" rel="alternate" type="text/html"/>
    <title>Mozy for the headless Mac</title>
<content type="html">
            &lt;p&gt;Frequently mentioned on &lt;a href=&quot;http://lifehacker.com/software/free-online-mac-backup/download-of-the-day&#8211;mozy-windowsmac-255699.php&quot;&gt;Lifehacker&lt;/a&gt;, &lt;a href=&quot;http://mozy.com/home&quot;&gt;Mozy Home&lt;/a&gt; is an incredibly economical network backup option at $5 a month.  The online backup service will store an unlimited amount of data, and has Mac and Windows clients.  The big caveat there is that you don&#8217;t have unlimited throughput, so it can still take a while to backup a large fileserver, say.  In that case it&#8217;s especially important to be able to manage it effectively.&lt;/p&gt;

&lt;p&gt;I&#8217;m currently using an old PPC-based Mac Mini, running Tiger, with a couple (or more) USB attached drives, as my home fileserver.  For a long time I ran a Linux box with an internal RAID5 disk array, but with the advent of mozy and 5$ a month &lt;strong&gt;offsite&lt;/strong&gt; backup, I&#8217;ve made the switch.  It hasn&#8217;t been completely painless, however, so here are a couple notes about effectively using Mozy on a headless Mac.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You still probably need VNC or that fancy new Leopard desktop-sharing feature, especially to install.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mozy has a command line interface!  Enable SSH on your Mac and check this out&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;
bombe:~ jro$ /Applications/Mozy.app/Contents/Resources/MozyBackup help
Commands: start|cancel|auth|rescan|status|tempdir

bombe:~ jro$ /Applications/Mozy.app/Contents/Resources/MozyBackup status
Status: Backing up files...

Preparing (0.0 B/s): 
   70.9% 4925415586 of 6943326336

 Sending   (46.3 KB/s): blah_blah_20061012.tgz
    0.9% 87851008 of 9257768960
&lt;/pre&gt;

&lt;p&gt;You can probably guess what most of the commands do.  It&#8217;s great being able to start and cancel a backup on a whim, say when I upload more data to the server, or stop it when it&#8217;s messing with my VOIP call quality.  I definitely recommend still having Mozy backup on a regular schedule, even if you&#8217;re doing a fair bit by hand.  You never know if you&#8217;ll forget!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mozy has a very useful log.&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;
bombe:~ jro$ sudo less /Library/Logs/Mozy.log

2008-03-15 12:43:55.229 MozyBackup[31] (backup) Starting backup
2008-03-15 12:43:55.231 MozyBackup[31] (backup) Checking for update
2008-03-15 12:43:56.821 MozyBackup[31] (backup) Connecting to r4165.mozy.client.ut2.berkeleydata.com (66.133.112.25)
2008-03-15 12:43:57.277 MozyBackup[31] (backup) Version is up-to-date (0.9.1.0)
...
2008-03-15 12:46:01.028 MozyBackup[31] (backup) Building backup set
2008-03-15 12:46:03.278 MozyBackup[31] (backup) Processing files in scan cache
2008-03-15 12:46:09.704 MozyBackup[31] (backup) Processing files in manifest but not in scan cache
2008-03-15 12:46:19.569 MozyBackup[31] (backup) Preparing 4 files (6943326336 bytes)
2008-03-15 12:46:19.570 MozyBackup[31] (backup) Unlocking cache...
2008-03-15 12:46:19.570 MozyBackup[31] (backup) Unlocked cache
2008-03-15 12:46:19.570 MozyBackup[31] (prepare) Starting
2008-03-15 12:46:19.575 MozyBackup[31] (send) Starting
2008-03-15 12:46:19.575 MozyBackup[31] (send) Getting files from queue
2008-03-15 12:51:12.245 MozyBackup[31] (send) Offering 1 files (0 are removes)
&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Mozy can use your &lt;em&gt;your&lt;/em&gt; encryption key.  If you don&#8217;t want the guys at EMC/Mozy to know what kind of &lt;em&gt;ahem&lt;/em&gt; data you&#8217;re storing on their machines, you can configure Mozy to use your own encryption key.  This definitely increases the security of your data, just make sure you don&#8217;t lose that key, or you&#8217;ll be in a world of hurt come restore time.&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-01-21:30</id>
    <published>2008-01-21T06:06:00Z</published>
    <updated>2008-01-21T06:09:31Z</updated>
    <link href="http://jro.codegrinder.com/2008/1/21/fink-error-environment-variable-set-to-10-1" rel="alternate" type="text/html"/>
    <title>fink error: environment variable set to: 10.1</title>
<content type="html">
            &lt;p&gt;I, recently, decided to move some of my home rails sites to my aging PPC-based mac mini.  I&#8217;m still running Tiger on it because I&#8217;m lazy, don&#8217;t need any new features, and know how macports &amp;amp; fink work in Tiger.  I ran through the normal, install fink, ruby package,&#8230; routine.  But, when I got to compiling some of my gems, I got this error: &lt;/p&gt;

&lt;pre&gt;
/usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: flag: -undefined dynamic_lookup can't be used with MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1
&lt;/pre&gt;

&lt;p&gt;Which seems pretty strange since I&#8217;m obviously running on 10.4.  And, while I don&#8217;t know why the system is getting it wrong, a quick work around is to set the environment variable yourself. &lt;/p&gt;

&lt;pre&gt;
export MACOSX_DEPLOYMENT_TARGET=10.4
&lt;/pre&gt;

&lt;p&gt;Oddly, it doesn&#8217;t happen on my intel macs, so I suspect that there&#8217;s a bug somewhere in the PPC fink stack that just doesn&#8217;t effect all compilations.  /shrug.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2008-01-02:28</id>
    <published>2008-01-02T15:39:00Z</published>
    <updated>2008-01-02T15:41:18Z</updated>
    <link href="http://jro.codegrinder.com/2008/1/2/happy-new-year-2008" rel="alternate" type="text/html"/>
    <title>Happy New Year 2008!</title>
<content type="html">
            &lt;p&gt;I hope everyone had a safe and happy time over the holidays.  I&#8217;m just getting back to normal life after a month of craziness, and I need to figure out my resolutions, or lack of, for the new year.  What are you doing differently or better this year?  &lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2007-12-07:27</id>
    <published>2007-12-07T16:12:00Z</published>
    <updated>2007-12-27T18:58:49Z</updated>
    <link href="http://jro.codegrinder.com/2007/12/7/rails-2-0-released" rel="alternate" type="text/html"/>
    <title>rails 2.0 released!</title>
<content type="html">
            &lt;p&gt;Every ruby nerd in the world will be blogging about this.  I&#8217;m no exception.  Ruby on Rails 2.0 is out and represents a mountain of progress.  Many thanks to the rails core team and everyone that&#8217;s assisted in bringing this to us, the masses.  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://weblog.rubyonrails.com/2007/12/7/rails-2-0-it-s-done&quot;&gt;Riding Rails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ryandaigle.com/articles/2007/12/7/rails-2-0-final-released-summary-of-features&quot;&gt;Ryan&#8217;s Scraps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.37signals.com/svn/posts/734-rails-20&quot;&gt;37 signals blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2007-12-03:8</id>
    <published>2007-12-03T05:55:00Z</published>
    <updated>2007-12-03T05:55:45Z</updated>
    <link href="http://jro.codegrinder.com/2007/12/3/introduction-to-rpm" rel="alternate" type="text/html"/>
    <title>Packaging Software: Introduction to RPM</title>
<content type="html">
            &lt;p&gt;Better late than never.  This is the first &#8220;real&#8221; article in the &lt;a href=&quot;/2007/9/30/tales-from-the-server-packaging&quot;&gt;Packaging Software&lt;/a&gt; series.  It&#8217;s long, but hopefully it&#8217;ll help someone out.  Enjoy!&lt;/p&gt;

&lt;h3&gt;So what&#8217;s an RPM?&lt;/h3&gt;

&lt;p&gt;In it&#8217;s distilled form, a big ball of files that hopefully make up something useful, like software.  But wait, there&#8217;s more!  It&#8217;s not just a file format for installing, uninstalling, updating, verifying software, it&#8217;s also the system for creating those bundles and doing all the installing, etc.  Confused?  What we have is two parts: The files commonly referred to as RPM, aka the software bundles, and rpm set of commands for creating and managing those bundles.&lt;/p&gt;

&lt;h3&gt;History and the Soap Opera&lt;/h3&gt;

&lt;p&gt;RPM was birthed by Red Hat as the &lt;em&gt;Red Hat Package Manager&lt;/em&gt;, later becoming the &lt;em&gt;RPM Package Manager&lt;/em&gt; as it became building block of more and more non-Red Hat Linux distributions.  It&#8217;s grown to be used in innumerable Linux distros, large and small, popular and not.  &lt;/p&gt;

&lt;p&gt;I don&#8217;t want to get the drama wrong, so I&#8217;m just going to quote  &lt;a href=&quot;http://en.wikipedia.org/wiki/RPM_Package_Manager&quot;&gt;Wikipedia&lt;/a&gt; &lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;As of the 31st of May, 2007, there are two versions of RPM in development. The first is led by long-time (since 1999) RPM maintainer, Jeff Johnson (&#8216;JBJ&#8217;), who continued his development efforts after departing Red Hat. It has combined recently with efforts of OpenPKG and added a new website rpm5 tine of the fork. The &#8216;JBJ&#8217; variant is used by Mandriva, PLD Linux Distribution and supported by OpenPKG. Jeff Johnson formerly worked for Red Hat before a controversy.&lt;/p&gt;
    
    &lt;p&gt;The other effort is led by Red Hat recent hire (2007) staff member Panu Matilainen. The Red Hat RPM tine of the fork which issued its first major code revision in July 2007, is used by Fedora, Red Hat Enterprise Linux, Novell&#8217;s openSUSE and CentOS. Matilainen has also worked on an apt-like front end for package management for RPM previously; apt-get is a Debian Linux management tool.&lt;/p&gt;
    
    &lt;p&gt;The displaced former RPM website content is archived by its long time maintainer at oldrpm web archive. On December 14, 2006, Red Hat decided to take complete control of editorial content at the formerly community maintained website which content was maintainted in an &#8216;open to the community&#8217; process manner.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Does it matter to you?  Probably not, just be aware there are currently two major forks of RPM and there may be slight differences in the API standards or tools that are available.&lt;/p&gt;

&lt;h3&gt;The simple things&lt;/h3&gt;

&lt;p&gt;So let&#8217;s do something useful.  I&#8217;m working on a Red Hat system, so if you&#8217;re not it&#8217;s possible things will be a little different.&lt;/p&gt;

&lt;h4&gt;What do we have installed?&lt;/h4&gt;

&lt;h5&gt;List them all&lt;/h5&gt;

&lt;p&gt;Good for grep&#8217;ing through when you don&#8217;t know what you&#8217;re looking for.&lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -qa 
libgcc-3.4.6-8.i386
filesystem-2.3.0-1.i386
glibc-common-2.3.4-2.36.i386
bzip2-libs-1.0.2-13.EL4.3.i386
...
&lt;/pre&gt;

&lt;h5&gt;Find a specific package&lt;/h5&gt;

&lt;p&gt;Good when you know it&#8217;s there, but just need the version.&lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -q rmt
rmt-0.4b39-3.EL4.2.i386
&lt;/pre&gt;

&lt;h5&gt;Find out what RPM owns a file&lt;/h5&gt;

&lt;p&gt;Good for.. where the hell did that come from?&lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -qf /etc/snmp/snmpd.conf
net-snmp-5.1.2-11.EL4.10.i386
&lt;/pre&gt;

&lt;h5&gt;Get some basic info on an installed package.&lt;/h5&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -qi hdparm
Name        : hdparm                       Relocations: (not relocatable)
Version     : 5.7                               Vendor: Red Hat, Inc.
Release     : 2                             Build Date: Tue 21 Sep 2004 05:23:51 AM CDT
Install Date: Wed 27 Jun 2007 04:10:31 PM CDT      Build Host: tweety.build.redhat.com
Group       : Applications/System           Source RPM: hdparm-5.7-2.src.rpm
Size        : 64075                            License: BSD
Signature   : DSA/SHA1, Wed 05 Jan 2005 05:18:55 PM CST, Key ID 219180cddb42a60e
Packager    : Red Hat, Inc. &amp;lt;http: /&gt;
Summary     : A utility for displaying and/or setting hard disk parameters.
Description :
Hdparm is a useful system utility for setting (E)IDE hard drive
parameters. For example, hdparm can be used to tweak hard drive
performance and to spin down hard drives for power conservation.
&lt;/pre&gt;

&lt;h5&gt;List all the files installed as part of a package&lt;/h5&gt;

&lt;p&gt;Good for where the hell did that config file get put?&lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -ql rmt
/etc/rmt
/sbin/rmt
/usr/share/man/man8/rmt.8.gz
&lt;/pre&gt;

&lt;h4&gt;Installing and Upgrading RPMs&lt;/h4&gt;

&lt;h5&gt;Installing a single RPM&lt;/h5&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -i nginx-0.5.31-1.vp.i386.rpm
error: can't create transaction lock on /var/lock/rpm/transaction
&lt;/pre&gt;

&lt;p&gt;Hrmm.. maybe I need to do this as root&lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ sudo rpm -i nginx-0.5.31-1.vp.i386.rpm
Password: *****
[jro@localhost ~]$
&lt;/pre&gt;  

&lt;p&gt;Yep.  Not a lot of output tho&lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ sudo rpm -iv nginx-0.5.31-0.vp.i386.rpm
Preparing packages for installation...
nginx-0.5.31-0.vp
&lt;/pre&gt;

&lt;p&gt;Better.&lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ sudo rpm -ivh nginx-0.5.31-0.vp.i386.rpm
Preparing...                ########################################### [100%]
   1:nginx                  ########################################### [100%]
&lt;/pre&gt;

&lt;p&gt;There we go.&lt;/p&gt;

&lt;h5&gt;Installing multiple packages at the same time&lt;/h5&gt;

&lt;pre&gt;
[jro@localhost ~]$ sudo rpm -ivh nginx-contrib-0.5.31-0.vp.i386.rpm
error: Failed dependencies:
        nginx = 0.5.31 is needed by nginx-contrib-0.5.31-0.vp.i386
[jro@localhost ~]$ sudo rpm -ivh nginx-0.5.31-0.vp.i386.rpm
Preparing...                ########################################### [100%]
   1:nginx                  ########################################### [100%]
[jro@localhost ~]$ sudo rpm -ivh nginx-contrib-0.5.31-0.vp.i386.rpm
Preparing...                ########################################### [100%]
   1:nginx-contrib          ########################################### [100%]
&lt;/pre&gt;

&lt;p&gt;So our first package required another, and installing them one by one worked well enough but it&#8217;s a pain.&lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ sudo rpm -ivh nginx-contrib-0.5.31-0.vp.i386.rpm nginx-0.5.31-0.vp.i386.rpm
Preparing...                ########################################### [100%]
   1:nginx                  ########################################### [ 50%]
   2:nginx-contrib          ########################################### [100%]
&lt;/pre&gt;

&lt;p&gt;It&#8217;s way easier just to put them all together on one line.  Or go c-razy and use file globbing ( rpm -ivh *.rpm ).&lt;/p&gt;

&lt;h5&gt;Upgrading RPMs&lt;/h5&gt;

&lt;pre&gt;
[jro@localhost ~]$ sudo rpm -Uvh nginx-contrib-0.5.31-1.vp.i386.rpm nginx-0.5.31-1.vp.i386.rpm
Preparing...                ########################################### [100%]
   1:nginx                  ########################################### [ 50%]
   2:nginx-contrib          ########################################### [100%]
&lt;/pre&gt;

&lt;p&gt;It&#8217;s not too much different than installing, just that the -i turns into a -U.  HOWEVER, you can also use the -U to install a package.  So why bother using -i?  It&#8217;s simple.  Don&#8217;t.  Always use -U, unless you specifically don&#8217;t want to upgrade a package you might have installed.  It sounds silly, but you might end up in that situation one day if you have an RPM that restarts a service, etc.&lt;/p&gt;

&lt;h4&gt;Uninstalling.. er Erasing RPMs&lt;/h4&gt;

&lt;pre&gt;
[jro@localhost ~]$ sudo rpm -e nginx
Password:
error: Failed dependencies:
        nginx = 0.5.31 is needed by (installed) nginx-contrib-0.5.31-1.vp.i386
[jro@localhost ~]$ sudo rpm -e nginx-contrib nginx
[jro@localhost ~]$                                       
&lt;/pre&gt;

&lt;p&gt;Pretty much what you&#8217;d expect at this point.&lt;/p&gt;

&lt;h3&gt;Useful Magic&lt;/h3&gt;

&lt;h4&gt;See the architecture of a package&lt;/h4&gt;

&lt;p&gt;If you&#8217;re running a 64-bit machine, it&#8217;s VERY useful to know which packages are 32-bit and which are 64-bit.  As on some distros it&#8217;s possible to have both versions installed, and then things start to get very confusing.  &lt;/p&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -qa | head -5
libgcc-3.4.6-8
filesystem-2.3.0-1
glibc-common-2.3.4-2.36
bzip2-libs-1.0.2-13.EL4.3
ethtool-1.8-4
[jro@localhost ~]$ echo &quot;%_query_all_fmt         %%{name}-%%{version}-%%{release}.%%{arch}&quot; &gt;&gt; ~/.rpmmacros
[jro@localhost ~]$ rpm -qa | head -5
libgcc-3.4.6-8.i386
filesystem-2.3.0-1.i386
glibc-common-2.3.4-2.36.i386
bzip2-libs-1.0.2-13.EL4.3.i386
ethtool-1.8-4.i386
&lt;/pre&gt;

&lt;p&gt;We&#8217;ll talk more about the rpmmacros files when we get to building packages, but I recommend adding this even if you&#8217;re not running a system with packages from differing architectures.&lt;/p&gt;

&lt;h4&gt;See the changelog for a package&lt;/h4&gt;

&lt;h5&gt;Installed package&lt;/h5&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -q --changelog nginx 
* Wed Sep 19 2007 &amp;lt;jason&gt; 0.5.31-1.vp

- add condrestart

* Wed Sep 19 2007 &amp;lt;jason&gt; 0.5.31-0.vp

- upgrade to latest stable

* Mon Sep 17 2007 &amp;lt;jason&gt; 0.5.26-3.vp
....
&lt;/pre&gt;

&lt;h5&gt;Package not yet installed&lt;/h5&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -qp nginx-0.5.26-0.vp.i386.rpm --changelog
* Mon Jul 02 2007 &amp;lt;jason&gt; 0.5.26-0.vp

- new nginx version - 0.5.26
- start fork of package

* Wed May 23 2007 &amp;lt;rommer&gt; 0.5.20-0

- new nginx version - 0.5.20

* Thu Apr 26 2007 &amp;lt;rommer&gt; 0.5.19-0
&lt;/pre&gt;

&lt;h4&gt;Muck with the output format of RPM without making it semi-permanent&lt;/h4&gt;

&lt;pre&gt;
[jro@localhost ~]$ rpm -qa --queryformat &quot;%{NAME}\n&quot; | head -3
libgcc
filesystem
glibc-common
[jro@localhost ~]$ rpm -qa --queryformat &quot;%{NAME}_%{VERSION}\n&quot; | head -3
libgcc_3.4.6
filesystem_2.3.0
glibc-common_2.3.4
[jro@localhost ~]$ rpm -qa --queryformat &quot;%{NAME}_%{VERSION}_%{DISTRIBUTION}\n&quot; | head -3
libgcc_3.4.6_Red Hat (RHEL-4)
filesystem_2.3.0_Red Hat Linux
glibc-common_2.3.4_Red Hat (RHEL-4)
&lt;/pre&gt;

&lt;p&gt;It&#8217;s not super intuitive, but thankfully there&#8217;s some info in the rpm man page, and it can be handy when writing scripts to report on your packages, create lists to mirror systems from, etc.&lt;/p&gt;

&lt;h3&gt;Resources&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;http://docs.fedoraproject.org/drafts/rpm-guide-en/index.html&quot;&gt;RPM Guide&lt;/a&gt; at &lt;em&gt;The Fedora Project&lt;/em&gt; - This used to be a book that&#8217;s no longer in print.  This is &lt;em&gt;the best&lt;/em&gt; resource outside of looking at what other people have done.&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;http://tldp.org/HOWTO/RPM-HOWTO/&quot;&gt;RPM HOWTO&lt;/a&gt; at &lt;em&gt;The Linux Documentation Project&lt;/em&gt; - It&#8217;s a bit dated but there&#8217;s still some relevant information there. &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.rpm.org/Docs&quot;&gt;RPM.org wiki&lt;/a&gt; - Links to other resources.&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2007-11-28:25</id>
    <published>2007-11-28T11:53:00Z</published>
    <updated>2007-11-28T12:38:23Z</updated>
    <link href="http://jro.codegrinder.com/2007/11/28/google-do-no-evil-when-it-s-convenient" rel="alternate" type="text/html"/>
    <title>google: do no evil, when it's convenient</title>
<content type="html">
            &lt;p&gt;&lt;a href=&quot;http://www.techcrunch.com/&quot;&gt;Techcrunch&lt;/a&gt; has a &lt;a href=&quot;http://www.techcrunch.com/2007/11/27/google-voluntarily-provides-details-of-anonymous-blogger-in-israel/&quot;&gt;post&lt;/a&gt; on Google&#8217;s recent disclosure of a blogger&#8217;s IP address to the authorities.  What&#8217;s disturbing is that, at least according to TC, Google did &lt;em&gt;not&lt;/em&gt; require a court order before tattling on the blogger.  &lt;/p&gt;

&lt;p&gt;UPDATE: It seem TC and I may have spoke too soon.  A couple of commenters on the TC post seem to indicate there was something lost in translation, and that there was indeed a court order.  Here&#8217;s a referenced &lt;a href=&quot;http://www.techcrunch.com/2007/11/27/google-voluntarily-provides-details-of-anonymous-blogger-in-israel/&quot;&gt;link&lt;/a&gt;, if you happen to read Hebrew.  I do not&#8230;&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2007-11-21:24</id>
    <published>2007-11-21T11:31:00Z</published>
    <updated>2007-11-21T11:48:11Z</updated>
    <link href="http://jro.codegrinder.com/2007/11/21/why-facebook-needs-to-win" rel="alternate" type="text/html"/>
    <title>why facebook needs to win</title>
<content type="html">
            &lt;p&gt;They need to win the social wars for _me_.  That&#8217;s right, for me.  I was on &lt;a href=&quot;http://www.friendster.com&quot;&gt;friendster&lt;/a&gt;.  I was on &lt;a href=&quot;http://www.orkut.com&quot;&gt;orkut&lt;/a&gt; till the Brazillians took over.  I&#8217;m on &lt;a href=&quot;http://www.linkedin.com&quot;&gt;linkedin&lt;/a&gt;.  And now, I&#8217;m on &lt;a href=&quot;http://www.facebook.com&quot;&gt;facebook&lt;/a&gt;.  I&#8217;ve gone where my friends have gone, and I&#8217;m sick of it.  &lt;/p&gt;

&lt;p&gt;I&#8217;m tired of creating all the connections to my friends.  Tired of putting in my updated contact info.  Tired of figuring out what the whiz bang features are of &lt;em&gt;this&lt;/em&gt; iteration of my online rolodex.  &lt;/p&gt;

&lt;p&gt;And that&#8217;s really all I want it to be, an online rolodex.  I don&#8217;t care about sending zombie bunnies to my friends, or poking/hugging/punching someone, or playing vampires with people in my network.  I want a place to keep track of people and to communicate with them.  They are what&#8217;s valuable to me, and all the silly games in the world won&#8217;t change that.&lt;/p&gt;

&lt;p&gt;Something needs to either unite the social frameworks, or crush them under their heels.  Maybe that&#8217;s what google&#8217;s &lt;a href=&quot;http://code.google.com/apis/opensocial/&quot;&gt;opensocial&lt;/a&gt; hopes to do one day.  But, after orkut, I&#8217;m not holding my breath.  So, facebook, start crushing.  I need you.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://jro.codegrinder.com/">
    <author>
      <name>jro</name>
    </author>
    <id>tag:jro.codegrinder.com,2007-11-14:23</id>
    <published>2007-11-14T12:02:00Z</published>
    <updated>2007-11-14T12:03:21Z</updated>
    <link href="http://jro.codegrinder.com/2007/11/14/nginx-for-fink" rel="alternate" type="text/html"/>
    <title>nginx for fink</title>
<content type="html">
            &lt;p&gt;I just submitted an nginx package to fink after waiting about a month to define which files were documentation.  Hopefully, it&#8217;ll be validated and added quickly, but if you &lt;em&gt;need it now&lt;/em&gt; head over to &lt;a href=&quot;http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1831730&amp;amp;group_id=17203&amp;amp;atid=414256&quot;&gt;sourceforge&lt;/a&gt; to grab the .info and .patch.  The &lt;a href=&quot;http://www.finkproject.org/doc/quick-start-pkg/howtostart.php?phpLang=en&quot;&gt;packaging tutorial&lt;/a&gt; over at finkproject should have all the info you&#8217;d need to build it for yourself.  As well as teach you how simple it is to get started working on packages for fink.&lt;/p&gt;
          </content>  </entry>
</feed>
