<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>ubu</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/ubu/" />
    <link rel="self" type="application/atom+xml" href="http://blogs.perl.org/users/ubu/atom.xml" />
    <id>tag:blogs.perl.org,2009-11-03:/users/ubu//466</id>
    <updated>2011-10-18T12:26:56Z</updated>
    <subtitle>A blog about the Perl programming language</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.38</generator>

<entry>
    <title>[UPDATED] Beginning Perl For Bioinformatics</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/ubu/2011/10/beginning-perl-for-bioinformatics.html" />
    <id>tag:blogs.perl.org,2011:/users/ubu//466.2191</id>

    <published>2011-10-18T13:32:29Z</published>
    <updated>2011-10-18T12:26:56Z</updated>

    <summary>One of my favorite tweeps asked for some up-to-date resources to help her teach Perl to her university&apos;s Biology students. &quot;Biology students?&quot;, you ask. Yes! If you&apos;ve mostly used Perl for Web development and systems support, you might be surprised...</summary>
    <author>
        <name>ubu</name>
        <uri>http://blog.totalcinema.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/ubu/">
        <![CDATA[<p>One of my favorite tweeps asked for some up-to-date resources to help her teach Perl to her university's Biology students. "Biology students?", you ask. Yes! If you've mostly used Perl for Web development and systems support, you might be surprised to learn that Perl is <i>huge</i> in the bioinformatics domain. Hell, perlgeeks played a crucial role in <a href="http://drdobbs.com/184410424">cracking the human genome</a>. SCIENCE!</p>

<p>Anyway, since I'm neither all-knowing nor all-seeing (shocking, right?) I figured I'd put the list of resources up here so others could chime in.</p>

<ul>
<li><a href="http://www.bioperl.org/wiki/Main_Page">The BioPerl Wiki</a> - Tons of information here, including <a href="http://www.bioperl.org/wiki/HOWTO:Beginners">a section specifically for BioPerl beginners</a> and a <a href="http://www.bioperl.org/wiki/Tutorials">series of tutorials</a>.
</li>

<p><li><a href="http://shop.oreilly.com/product/9780596000806.do">Beginning Perl For Bioinformatics</a> - While I haven't read it, the table of contents for this O'Reilly title seems like just the thing for biologists looking to get started with Perl.<br />
</li></p>

<p><li>chromatic's excellent <a href="http://www.onyxneon.com/books/modern_perl/index.html">Modern Perl</a> book. Even though it is not tuned specifically to the programming beginner, it is an excellent resource for learning to write 21st-century Perl code. The fact that there are free PDF and ePub versions of the book makes it a must-have for students on a budget. <br />
</li></p>

</ul>

<p>A constant stream of new users is how Perl gets smarter and continues to thrive. If you know of other good beginning Perl introductions, please drop them in a comment and I'll add 'em to this list. (note: If you link to a good intro that <i>also</i> focuses on bioinfo for its code examples, I'll buy you a beer at the next YAPC::NA. :-)</p>

<p><strong>Update 10/18/1011</strong></p>

<p>Dr. Louise Johnson, the aforementioned biology prof whose tweet prompted this post, has graciously provided a a list of resources that other perlgeeks have suggested for her students:</p>

<blockquote><ol>
<li>O'Reilly's Learning Perl (the classic Llama Book) was recommended several times. That's what I used, and I still refer back to it. I found the end-of-chapter practice exercises particularly useful.</li>
<li>Keith Bradnam (@kbradnam on twitter) runs a perl course for biologists at UC Davis and is currently writing a book which sounds excellent. Some course materials are available here: <a href="http://korflab.ucdavis.edu/Unix_and_Perl/">http://korflab.ucdavis.edu/Unix_and_Perl/</a> and Keith also pointed us toward this <a href="http://www.perl.com/pub/2000/06/27/perlbook.html">http://www.perl.com/pub/2000/06/27/perlbook.html</a> which is among the many helpful resources available at the Perl site itself.</li>
<li>Casey Bergman (@bergmanlab), computational biologist at the University of Manchester and all-round fab person, recommended this book chapter: <a href="http://onlinelibrary.wiley.com/doi/10.1002/0471223921.ch17/summary">http://onlinelibrary.wiley.com/doi/10.1002/0471223921.ch17/summary</a></li>
<li>Wiley were kind enough to send me a copy of 'Perl Programming for Biologists' by Curtis Jamison, which is now in the hands of one of the students. I will ask him to report back! From a brief flick-through, it is clearly written and has exercises at the end of each chapter. The focus is on sequence analysis.</li>
<li>Stephen Henstridge (@HenstridgeSJ) thought 'Perl By Example' by Ellie Quigley would be suitable as it has a focus on learning by doing, which sounds very appropriate for someone who isn't all that interested in the theory. I'm pestering the library to get hold of a copy.</li>
</ol></blockquote>

<p>Thanks for the update, Doc!</p>]]>
        
    </content>
</entry>

<entry>
    <title>The First Test I Always Write</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/ubu/2011/05/the-first-test-i-always-write.html" />
    <id>tag:blogs.perl.org,2011:/users/ubu//466.1784</id>

    <published>2011-05-18T14:19:27Z</published>
    <updated>2011-05-18T14:36:14Z</updated>

    <summary>Nothing fancy, I just find myself copying this test into t/ directory of every new project so I thought others might find it useful, too. Basically, it just runs Test::More&apos;s use_ok() on every file in the package&apos;s blib/lib directory to...</summary>
    <author>
        <name>ubu</name>
        <uri>http://blog.totalcinema.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/ubu/">
        <![CDATA[<p>Nothing fancy, I just find myself copying this test into t/ directory of every new project so I thought others might find it useful, too. </p>

<p>Basically, it just runs <a href="http://search.cpan.org/~mschwern/Test-Simple-0.98/lib/Test/More.pm">Test::More</a>'s <code>use_ok()</code> on every file in the package's blib/lib directory to ensure that everything is building okay.</p>

<p>file: 000use.t</p>

<blockquote>
<pre>
<code>use Test::More;
use File::Find;

<p>my @classes = ();</p>

<p>my $root = 'blib/lib';</p>

<p>File::Find::find(<br />
    sub {<br />
        return unless $_ =~ /.pm$/;<br />
        my $path = $File::Find::name;<br />
        $path =~ s|^$root/||;<br />
        $path =~ s|.pm$||;<br />
        $path =~ s|/|::|g;<br />
        push @classes, $path;<br />
    },<br />
    $root<br />
);</p>

<p>ok( scalar( @classes ) > 0 );</p>

<p>foreach my $class ( @classes ) {<br />
    use_ok( $class );<br />
}</p>

<p>done_testing( scalar( @classes ) + 1 );<br />
</code><br />
</pre><br />
</blockquote></p>

<p>What's the first test you always write?</p>]]>
        
    </content>
</entry>

<entry>
    <title>Unscrewing The Pooch</title>
    <link rel="alternate" type="text/html" href="http://blogs.perl.org/users/ubu/2010/08/unscrewing-the-pooch.html" />
    <id>tag:blogs.perl.org,2010:/users/ubu//466.865</id>

    <published>2010-08-09T16:11:39Z</published>
    <updated>2010-08-09T18:35:43Z</updated>

    <summary> As many of you may already know, a group of us got together a couple of years ago to form Tamarou, an Enlightened Perl/OSS-friendly consulting and development firm. We decided to work the business using an incremental approach-- basically...</summary>
    <author>
        <name>ubu</name>
        <uri>http://blog.totalcinema.com/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://blogs.perl.org/users/ubu/">
        <![CDATA[<img alt="pooch_planter.jpg" src="http://blogs.perl.org/users/ubu/images/pooch_planter.jpg" width="500" height="375" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" />

<p>
As many of you may already know, a group of us got together a couple of years ago to form <a href="http://www.tamarou.com/">Tamarou</a>, an Enlightened Perl/OSS-friendly consulting and development firm. We decided to work the business using an incremental approach-- basically everyone involved had their own things going and each of us committed X number of hours per month to make it grow. The reasoning went: "If we succeed, great; if we don't, we all stay friends and no one loses their house/life savings/etc."
</p>

<p>
Contrary to conventional wisdom (which states that every business needs some sort of aggressive, hard-charging Executive type to will the business into existence with the magic of their Executive-type executing) we've actually done quite well for ourselves-- well enough that, even in this economy, two of us now work fulltime for Tamarou clients, billing exclusively under our little banner. Nothing is perfect, but, by and large, our plan has worked and we've beaten the odds.
</p>
<p>
Then last month happened.
</p>
<p>
It began simply enough: a bit of minor dental surgery that'd I'd been putting off that needed to be finally taken care of. A few office visits, some pain pills and antibiotics, maybe a missed day of work here or there-- no big deal. Except that I had a massively adverse reaction to the pain meds that essentially rendered me completely useless, work-wise, for weeks. Male pride and 10+ years of Hero Coderism made the situation worse. Promises made and broken, and then made broken again; deadlines whizzing by with alarming speed; have-to deliverables that were not delivered. In short, I totally screwed the pooch.
</p>
<p>
I'm not here to bend your ear with my sorry tale of woe, however. Reality is that the events of the last month has exposed some pretty heavy organizational and administrative weaknesses in our little company, I think. I shouldn't have been able to fall in a hole for weeks at a time without someone inside Tamarou noticing that something was wrong. Our communications systems are entirely ad-hoc and half-assed. Shit happens-- it always does-- you can't change that. But you can plan ahead, and put systems in place to weather the storms when they inevitably come.
</p>
<p>
So, I'm asking for your advice. If you've been in our same spot-- small company, limited resources-- what structures, plans, etc. did you put in place to ensure that unforeseen events didn't screw your own little entrepreneurial pooch?
</p>]]>
        
    </content>
</entry>

</feed>
