<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3570590</id><updated>2012-01-30T13:14:03.021-08:00</updated><category term='linux'/><category term='sites'/><category term='education'/><category term='world trade center'/><category term='vacation'/><category term='programming'/><category term='politics'/><category term='perl'/><category term='cosplay'/><category term='humour'/><category term='web development'/><category term='voip'/><category term='christmas'/><category term='open source'/><category term='biotech'/><category term='washer'/><category term='weird experiments'/><category term='anti-spam'/><category term='hawaii'/><category term='deodorant'/><category term='food'/><category term='software'/><category term='browser'/><category term='north carolina'/><category term='network security'/><category term='windows'/><category term='costumes'/><category term='fiction'/><category term='google'/><category term='science'/><title type='text'>Bracing against the wind</title><subtitle type='html'>Lo! In the east against the blazing shadow of a rising sun, there come four men striding in unison, each step a journey, against the terrible winds.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.documentroot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default?start-index=26&amp;max-results=25'/><author><name>Erik</name><uri>http://www.blogger.com/profile/01729756033491374852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>509</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3570590.post-5281456973113200363</id><published>2012-01-30T12:57:00.000-08:00</published><updated>2012-01-30T13:08:25.301-08:00</updated><title type='text'>Church-Turing thesis and strings</title><content type='html'>My empirically determined corollary to Turing's computability thesis is that any problem, no matter how interesting it seems on the surface, can be reduces to a deja-vu inducing set of string handling, vector sorting and hash lookups.&lt;br /&gt;&lt;br /&gt;And as new features are added, the problem of writing out and reading files slowly becomes most of what that program does - until the program resembles an actual Turing machine: ploddingly scribbling and reading things from an infinite tape which, because of flooding in Thailand, is infintely expensive.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/5281456973113200363'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2012/01/church-turing-thesis-and-strings.html' title='Church-Turing thesis and strings'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-2062794125586771407</id><published>2012-01-23T12:16:00.001-08:00</published><updated>2012-01-30T13:14:03.052-08:00</updated><title type='text'>Embed Tab Size Info in Source Text</title><content type='html'>IDEA: a "universal tab stop signature" line you can add to any text file in which tabs may be found and need to be rendered in an editor.&lt;br /&gt;&lt;br /&gt;The sig must be in the first or last 128 bytes of a file (so reading the sig is faster)&lt;br /&gt;&lt;br /&gt;The syntax could be something like: open paren or brace, % or # sign, open paren or brace, the word "tab" then a ':', then anything except a closing/matching paren or brace, then a percent and then another closing paren/brace.  [(\[][%#][(\[]tab:[^\)]*[%#][(\[]&lt;br /&gt;&lt;br /&gt;Examples:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;C++&lt;br /&gt;// (%(tab:4)%)&lt;br /&gt;&lt;br /&gt;Perl:&lt;br /&gt;# (%(tab:4)%)&lt;br /&gt;&lt;br /&gt;HTML (for source editing only):&lt;br /&gt;&amp;lt;!-- (%(tab:4)%) --&amp;gt;&lt;br /&gt;&lt;br /&gt;LISP (no parens... too confusing):&lt;br /&gt;; [%[tab:4]%]&lt;br /&gt;&lt;br /&gt;SMX (no % signs or parens):&lt;br /&gt;%null([#[tab:4]#])&lt;br /&gt;&lt;/blockquote&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/2062794125586771407'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2012/01/embed-tab-size-info-in-source-text.html' title='Embed Tab Size Info in Source Text'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-1907826065375740498</id><published>2011-12-23T14:05:00.000-08:00</published><updated>2011-12-23T14:08:41.616-08:00</updated><title type='text'>Uncovering significant miRNA species with RNA-seq</title><content type='html'>Note to self: An easy way to uncover significant miRNA species with Illumina's RNA seq data is to run counts on the small RNA between two cell types, then toss out anything that appears ribosomal, filter for some minimum threshold and run a negative binomial distribution test on them like edge-R or DEseq.   The resulting adjusted p-values can illuminate new miRNA species.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/1907826065375740498'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/12/uncovering-significant-mirna-species.html' title='Uncovering significant miRNA species with RNA-seq'/><author><name>Erik</name><uri>http://www.blogger.com/profile/01729756033491374852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-5472900380731870085</id><published>2011-12-19T07:16:00.000-08:00</published><updated>2011-12-19T07:18:05.189-08:00</updated><title type='text'>Xenograft &amp; Contamination Filter</title><content type='html'>&lt;a href="http://ea-utils.googlecode.com/svn/trunk/clipper/bam-filter.cpp"&gt;Useful code&lt;/a&gt; that uses libbamtools to filter out alignments to another genome.  Tested with xenograft and bacterial contamination removal...works great.</content><link rel='related' href='http://ea-utils.googlecode.com/svn/trunk/clipper/bam-filter.cpp' title='Xenograft &amp; Contamination Filter'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/5472900380731870085'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/12/xenograft-contamination-filter.html' title='Xenograft &amp; Contamination Filter'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-6995791957463666223</id><published>2011-10-21T01:37:00.000-07:00</published><updated>2011-10-21T01:46:16.956-07:00</updated><title type='text'>Connecticut Martin</title><content type='html'>Martin Hedge paused to wipe his glasses with the sleeve of his shirt.  The crowd at the coffee shop had gotten louder.&lt;br /&gt;&lt;br /&gt;It had never been enough.  Even though idle wealthy housewies had long since taken up the pen and written libraries of wisdom and humour, and the girls hanging out at the tattoo parlors had discovered the zen of automotive engineering.  Even though the unemployed had long ago sought out physics texts and wrangled secrets of a new energy density theory, it still hadn't been enough.   The question remained... what were we working &lt;i&gt;for&lt;/i&gt;?&lt;br /&gt;&lt;br /&gt;The crowd at the coffee shop, from here, seemed angry, but as Martin walked closer he could see familiar faces, sternly triumphant.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/6995791957463666223'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/10/connecticut-martin.html' title='Connecticut Martin'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-901333950279015802</id><published>2011-10-14T07:41:00.000-07:00</published><updated>2011-12-22T20:37:13.595-08:00</updated><title type='text'>Non "allelic" variation - thinking out loud</title><content type='html'>&lt;div&gt;(Later Note: I wrote this before I knew what it's called.   The term most people use is "Somatic Mosaicism".   Apparently this is a pretty well researched topic... so I can go back to all the biologists that looked at me like I was crazy and tell them .... hmm.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's a link to a good article on the topic:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.sciencedirect.com/science/article/pii/S0168952511000436"&gt;http://www.sciencedirect.com/science/article/pii/S0168952511000436&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Original rant below...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Much of genetics is concerned with "alleles" and "variations".   That is, an organism is assumed to be comprised of "one kind of dna".  That DNA has 1) inherited alleles from it's parents, and 2)  de-novo alleles (also called somatic mutations).  The 1000 genomes project estimates at about 30 or so per person.  This is probably a very conservative number considering the nature of the 1000 genomes project.  IE: all of these mutations are whole-organism, detectible, validated mutations. &lt;a href="http://www.jbc.org/content/268/32/23762.abstract?ijkey=413bddbbe32d8d87d540c2e8f02a5177ef9d522b&amp;amp;keytype2=tf_ipsecsha"&gt;E-coli error rate estimates&lt;/a&gt; would put the range at 30-300, and this &lt;a href="http://www.jbc.org/content/279/17/16895.full#ref-4"&gt;might be a better estimate&lt;/a&gt; because of how the study was done.   Human blastoma cells have has error estimates accurately measured at &lt;b&gt;10 times&lt;/b&gt; that rate.  Individual organs may be less sensitive to immune response correction.&lt;br /&gt;&lt;br /&gt;But let's assume 30 is our number.   It's nice and small.  And it's good to have a lower-bound.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;That is only the set of variants that went into the "first cell" (fertilized egg) of an organism.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;When that egg divides, half the organism has another, different, set of mutations.  So 100% of the organism has 30 de-novo mutations and 50% of the organism will have *another* 30 de-novo mutations (30 new ones in that 50%, plus 30 original).&lt;br /&gt;&lt;br /&gt;But wait, there's more.   When those 2 cells divide in half again, you now get 60 new mutations, 30 from each cell.   These 60 will be detectible at the "25%" level ... IE: 25% of the final organism will have them. &lt;br /&gt;&lt;br /&gt;High-throughput sequencing can readily detect variation at the "1%" admixture level.   That is, commonly detect variation when as little as 1% of the cells have that variation. &lt;br /&gt;&lt;br /&gt;So how much variation can we expect, based on a low de-novo mutation rate, detectible at the 1% level?&lt;br /&gt;&lt;br /&gt;100%-&amp;gt;30, 50% -&amp;gt;30, 25% -&amp;gt;60, 12.5% -&amp;gt;120, 7.25% -&amp;gt;240, 3.12% -&amp;gt;480, 1.6% -&amp;gt; 960&lt;br /&gt;&lt;br /&gt;So we can expect about 1000 de-novo variants in a healthy individual, or 32 times the mutation rate.   But what if the somatic mutation rate is higher, say, &lt;a href="http://cancerres.aacrjournals.org/content/65/18/8111.short"&gt;3000 variants per replication&lt;/a&gt;?   This may be the case in some organ development. &lt;br /&gt;&lt;br /&gt;Thus, at the 1% level, would that be 96000 non-inherited detectable variants.  I would call that my "upper bound".   In real pileup data... I see around 30% "non-allelic" variation.  So if, say, you've got 15000 SNPS (&lt;a href="http://www.pnas.org/content/106/13/5008.full"&gt;a reasonable number&lt;/a&gt;), we would expect 5000 "background" snps.....putting the mutation rate at "156.25"  (5000/32).   That's smack in the middle of the e-coli based estimate.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Lots of variant callers filter these out.... but I'm interested in them... i think they may be a lot more important than people think.&lt;/i&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/901333950279015802'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/10/non-allelic-variation-thinking-out-loud.html' title='Non &quot;allelic&quot; variation - thinking out loud'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-1582916321021161649</id><published>2011-09-30T20:23:00.001-07:00</published><updated>2011-09-30T20:24:47.527-07:00</updated><title type='text'>Multiplayer TD</title><content type='html'>Looks fun.  Seems like it would be cool to play against other players... but they are rarely there.   The developer needs to link-in to Armor or Kongregate or Facebook or some other PVP network.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There's probably a market for that... build a PVP portal so that lesser known games that are still fun can have a base of players.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='related' href='http://www.hanitd.com/play/withMe.php' title='Multiplayer TD'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/1582916321021161649'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/09/multiplayer-td.html' title='Multiplayer TD'/><author><name>Erik</name><uri>http://www.blogger.com/profile/01729756033491374852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-2032921855078416364</id><published>2011-09-30T11:17:00.000-07:00</published><updated>2011-09-30T11:21:22.708-07:00</updated><title type='text'>Getting perl readline to work in Ubuntu</title><content type='html'>I use perl's debugger and psh (simple perl shell).    When the up arrow doesn't work, I always forget how to fix it.  Hopefully by posting the solution here, it will be easier for me to find:&lt;p&gt;&lt;span style="font-family:courier,fixed-width"&gt;apt-get install libterm-readline-gnu-perl&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;I use perl's debugger and psh (simple perl shell).    When the up arrow doesn't work, I always forget how to fix it.  Hopefully by posting the solution here, it will be easier for me to find:&lt;br /&gt;&lt;/p&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/2032921855078416364'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/09/getting-perl-readline-to-work-in-ubuntu.html' title='Getting perl readline to work in Ubuntu'/><author><name>Erik</name><uri>http://www.blogger.com/profile/01729756033491374852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-2295882107037935136</id><published>2011-09-28T07:37:00.000-07:00</published><updated>2011-09-28T13:06:46.941-07:00</updated><title type='text'>sam-stats</title><content type='html'>Put up a useful &lt;a href="http://code.google.com/p/ea-utils/wiki/SamStats"&gt;summary statistics from SAM or BAM&lt;/a&gt; files.  TODO: rewrite in C so it's fast.</content><link rel='related' href='http://code.google.com/p/ea-utils/wiki/SamStats' title='sam-stats'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/2295882107037935136'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/09/sam-stats.html' title='sam-stats'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-273754590976121731</id><published>2011-08-23T10:18:00.000-07:00</published><updated>2011-08-23T15:01:16.878-07:00</updated><title type='text'>Should we try to contact ET?</title><content type='html'>Would it be safe to meet an intelligent alien lifeform from another planets?&lt;br /&gt;&lt;br /&gt;Let's assume an ET (extra terrestrial, alien) is more advanced than we are.  Let's assume, again, because it's the only experience we have, that we are a good example of an intelligent life form. &lt;br /&gt;&lt;br /&gt;Have other species benefited from their contact with humans?   Species that are useful to us, like cows and dogs have proliferated in population, but are controlled/used by us.   Species that feed on our leavings, like roaches and pigeons do well.&lt;br /&gt;&lt;br /&gt;But, given that we're intelligent, and we'd like to think that aliens would regard us as so, we may want to look only at "higher" mammals, with comparable intelligence.  Primates certainly don't do well when humans show up.  In fact, iut seems we are particularly brutal when dealing with them.   Large mammals were nearly driven extinct from North America after human contact.  Some very intelligent species, like right whales, with rich communication systems and highly social habits, were driven to near extinction.   &lt;br /&gt;&lt;br /&gt;OK, but maybe we're talking about "modern man".  Maybe we've escaped that brutal past.   &lt;br /&gt;&lt;br /&gt;We still round up dolphins to kill them.  And, to this day, very little effort has been spent in attempting to understand the language and society of the "alien species" we share our home with.  Any time even a modicum of effort has been spent it's been met with "shocking" revelations about how other species have complex grammars, notions of fairness, etc.  And still most people in the world refuse to believe that other species can feel pain the way humans do - largely (IMO)  as a way of justifying abuse and mistreatment.&lt;br /&gt;&lt;br /&gt;So.... I would expect to be treated at &lt;span style="font-style:italic;"&gt;least as well &lt;/span&gt;as we have treated others.  Accordingly, someone should *shut down* the SETI program.  ASAP.&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/273754590976121731'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/08/should-we-try-to-contact-et.html' title='Should we try to contact ET?'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-6714659218304935285</id><published>2011-08-04T23:44:00.000-07:00</published><updated>2011-08-05T01:24:46.574-07:00</updated><title type='text'>Oracle fails to crush open source</title><content type='html'>Oracle has repeatedly attempted to acquire it's way into the open source movement, each time charging and licensing technologies it had no hand in developing.  Berkeley DB, Sun Grid Engine, Open Office, MySQL, and Java (JRE/JDK), are now all Oracle licensed technologies.  &lt;br /&gt;&lt;br /&gt;What is admirable is that they make no pretense of being "friends" of open source.  They stopped releasing new versions of SGE, and transitioned to a closed-source system immediately.  Similar moves are happening in other products at different speeds... with a "what the market will bear" approach.&lt;br /&gt;&lt;br /&gt;It took me 6 months to move all my BDB code to SQLite, switch SGE stuff to condor.  I never touched MySQL because of the InnoDB creepiness and I'm glad the decision has been vindicated... Postgres was the obvious choice.   Oracle's falesly named "Open Office" has thankfully been forked to become the truly open "Libre Office".&lt;br /&gt;&lt;br /&gt;The only thing left is Java.  And there's nowhere near an adequate replacement.  Open JDK is limited to a handful of operating systems.   And Java itself may have some questionable licensing - Oracle may be able to seize the whole thing by the fistful.&lt;br /&gt;&lt;br /&gt;I've despised Java from the beginning, mostly for it's poor architecture and the way it encourages bad coding (not as bad as python).   Watching Oracle roll in and step all over it is, for me, merely another "I told you so" moment.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/6714659218304935285'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/08/oracle-fails-to-crush-open-source.html' title='Oracle fails to crush open source'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-1915357002791648560</id><published>2011-07-29T08:36:00.000-07:00</published><updated>2011-07-29T08:37:20.280-07:00</updated><title type='text'>View the internet as if you are Google</title><content type='html'>Many companies present a different face to search engines than they do to users.  It's sometimes interesting to see the internet as if you are a search engine:&lt;br /&gt;&lt;br /&gt;To change the Chrome user agent string, add the –user-agent option switch to the chrome.exe program shortcut:&lt;br /&gt;&lt;br /&gt;chrome.exe --user-agent=" Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/1915357002791648560'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/07/view-internet-as-if-you-are-google.html' title='View the internet as if you are Google'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-6615972956942730607</id><published>2011-06-21T20:44:00.001-07:00</published><updated>2011-06-22T09:08:30.209-07:00</updated><title type='text'>Correlation Heat Map</title><content type='html'>&lt;a href="http://www1.mooncostumes.com/bio/CNCOR_map.png"&gt;&lt;img width=50% height=50% src="http://www1.mooncostumes.com/bio/CNCOR_map.png" alt="Copy Number Correlation Heat Map" border="0"&gt;&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/6615972956942730607'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/06/correlation-heat-map.html' title='Correlation Heat Map'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-8956190155935947632</id><published>2011-06-10T12:12:00.001-07:00</published><updated>2011-06-10T12:52:20.315-07:00</updated><title type='text'>Illumina Quality Score 'B'</title><content type='html'>When analyzing about 100 PhiX control lanes, by aligning to PhiX and calling any reference mismatch an "error", the quality score 'B' performs higher than 'C' on average.   The 'B' score is approximately abot 3 phred-scores lower than the mean score for the whole run.    I think the 'B' score represents the equivalent of "I don't know" on the Phred scale.   For programs that rely on quality scores to indicate actual likelihoods of error, the 'B' score should be treated as a special case.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is in addition to the known issue that reported phred scores have higher ovserved error rates overall, especially at the top end of the scale (Q-40's perform like Q-37's should, etc.)&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/8956190155935947632'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/06/illumina-quality-score-b.html' title='Illumina Quality Score &apos;B&apos;'/><author><name>Erik</name><uri>http://www.blogger.com/profile/01729756033491374852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-4461023282487684699</id><published>2011-05-14T20:08:00.000-07:00</published><updated>2011-05-14T20:15:29.928-07:00</updated><title type='text'>Lightweight Job Queuing Engine and GitHub</title><content type='html'>I wrote a job queuing daemon.  It sits on a head node and any number of compute nodes.  Good with EC2.  Replacement for condor, OGE (formerly SGE), torque, etc.  So far, it's good about crash recovery, very good about latency.  Other job queuing systems seem to be sooo slow with latency, you never want to use them.   And they all spend so much time worrying about copying i/o files all over the place, when all I ever use is NFS anyway.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://github.com/earonesty/grun"&gt;https://github.com/earonesty/grun&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Written because those other systems are administratively difficult, and have more features than I need.   Some day I may choose to go back to condor, or SGE, but for now, it's nice to have a smaller, faster, easier one.&lt;br /&gt;&lt;br /&gt;I'm trying github instead of google code.  The developers and gangla got me to try it out.  I think I &lt;span style="font-style:italic;"&gt;might &lt;/span&gt;like it.  Not sure why it makes you "add" and "commit" separately.&lt;br /&gt;&lt;br /&gt;I based the socket system off of ppcgid, since it worked so well in the past.</content><link rel='related' href='https://github.com/earonesty/grun' title='Lightweight Job Queuing Engine and GitHub'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/4461023282487684699'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/05/lightweight-job-queuing-engine.html' title='Lightweight Job Queuing Engine and GitHub'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-3673876754729423353</id><published>2011-04-28T02:59:00.000-07:00</published><updated>2011-05-01T17:37:15.696-07:00</updated><title type='text'>Dealing with FASTQ's</title><content type='html'>I posted some code for dealing with FASTq's.   They're all written in C++, and each one replaces a tool that's between 3 and 50 times slower.   The scoring metric they use for "anchored sequence alignment" has been improved.   Also, they contain lots of "do what I mean" features, allowing the user to focus on the results, and not on the mechanics of processing sequencing data.&lt;br /&gt;&lt;br /&gt;The essential tasks they accomplish are sequence quality filtering, adapter/primer removal, demultiplexing and paired-end joining (stitching):&lt;br /&gt;&lt;br /&gt;They have to be compiled, but they are each "monolithic" ... and require no libraries, headers, etc.   I tested fastq-join on Linux and Windows, so I know it compiles easily.   The other 2 tools have only been tested on Linux.&lt;br /&gt;&lt;br /&gt;See: &lt;a href="https://code.google.com/p/ea-utils/"&gt;https://code.google.com/p/ea-utils/&lt;/a&gt;</content><link rel='related' href='https://code.google.com/p/ea-utils/' title='Dealing with FASTQ&apos;s'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/3673876754729423353'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/04/dealing-with-fastqs.html' title='Dealing with FASTQ&apos;s'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-5021568727285809923</id><published>2011-03-15T10:02:00.000-07:00</published><updated>2011-03-15T10:03:31.150-07:00</updated><title type='text'>New aligner</title><content type='html'>I'm working on a new aligner i have that doesn't use  BTREE.  It's fun.  Not hard, and finally working.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/5021568727285809923'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/03/new-aligner.html' title='New aligner'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-6746150553377147858</id><published>2011-03-06T02:41:00.001-08:00</published><updated>2011-03-06T02:43:15.953-08:00</updated><title type='text'>F-Test for Comparing Variability</title><content type='html'>I left my textbook at home, and had to search for a while to find &lt;a href='http://faculty.washington.edu/tabrooks/599.course/Ftest.html'&gt;a decent description of how to use an F-test&lt;/a&gt; (even though it's somewhat controversial), so I'm posting it for future reference.   Wikipedia stuff on statistics appears to be written by people who forget it's supposed to be human-readable.</content><link rel='related' href='http://faculty.washington.edu/tabrooks/599.course/Ftest.html' title='F-Test for Comparing Variability'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/6746150553377147858'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/03/f-test-for-comparing-variability.html' title='F-Test for Comparing Variability'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-8528185836464444347</id><published>2011-02-23T11:38:00.000-08:00</published><updated>2011-02-23T11:40:58.351-08:00</updated><title type='text'>GATCGGAAGAGCGGTTCAGCAGGAATG</title><content type='html'>I knew it was some kind of primer, adapter or barcode - but I wasn't sure which, whether to trim, or if the barcode came before or after.&lt;br /&gt;&lt;br /&gt;BLAS*T searches turned up nothing, but Joel answered, within a second, "it's an adapter sequence". He said "I just Googled it".&lt;br /&gt;&lt;br /&gt;Reminder to self... Google searching DNA sequences works (NOTE: Bing didn't).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/8528185836464444347'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/02/gatcggaagagcggttcagcaggaatg.html' title='GATCGGAAGAGCGGTTCAGCAGGAATG'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-7846171068918047613</id><published>2011-02-10T02:06:00.000-08:00</published><updated>2011-02-10T03:21:58.799-08:00</updated><title type='text'>Approximate Line Count for Very Large Files</title><content type='html'>When dealing with very large files, the unix tool "wc" can be extremely slow.   The  alternative, byte size, is often not what I want to look at, especially when trying to estimate the number of reads in a fastq file.&lt;br /&gt;&lt;br /&gt;A good estimate (2 sig figs) is, 90% of the time, what I need.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.documentroot.com/alc"&gt;alc&lt;/a&gt; is my "approximate" line count tool.   It counts the number of lines in a file, just like wc, except it only "samples" the file in a series of segments.   By seeking and reading 200K from a dozen places in the file, rather than reading the whole thing,  I get a good representative sample, and an accurate-enough count.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/7846171068918047613'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/02/approximate-line-count-for-very-large.html' title='Approximate Line Count for Very Large Files'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-3409266496276030760</id><published>2011-02-04T18:00:00.000-08:00</published><updated>2011-02-04T18:29:18.223-08:00</updated><title type='text'>A True Teflon Alternative</title><content type='html'>We went looking for a nonstick solution that wasn't coated in Teflon or PFTE, or whatever people try to sell it as.   Apparently it causes &lt;a href="http://www.epa.gov/opptintr/pfoa/"&gt;developmental disorders in laboratory animals (click for EPA advisory)&lt;/a&gt;.  I can only wonder what it does to human kids.&lt;br /&gt;&lt;br /&gt;The first thing we found was &lt;a href="http://www.naturalnews.com/021059.html"&gt;Swiss Diamond... which is a &lt;span style="font-style: italic;"&gt;complete scam&lt;/span&gt;&lt;/a&gt;.   Glad to have avoided that before making an expensive mistake, I scoured reviews and sites and we found the &lt;a href="http://www.amazon.com/Bialetti-Aeternum-Saute-Pan-12-Inch/dp/B00448H23W"&gt;Aeternum&lt;/a&gt; and &lt;a href="http://www.amazon.com/Frying-Ozeri-Ceramic-Non-Stick-Coating/dp/B004AMUELO"&gt;Green Earth&lt;/a&gt; line of ceramic coated pans (like porcelain, it seems).  &lt;br /&gt;&lt;br /&gt;I bought the Aeternum and it works exactly as well as advertised.   Nonstick, and not made with creepy chemicals.  If it lasts or breaks, I'll report it here.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/3409266496276030760'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2011/02/true-teflon-alternative.html' title='A True Teflon Alternative'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-5997705868089782387</id><published>2010-12-19T11:39:00.000-08:00</published><updated>2010-12-19T12:19:10.438-08:00</updated><title type='text'>Uncuddled Else</title><content type='html'>I don't care how cute the name is.   It wastes precious vertical space while adding nothing to readability.   Worse yet, the uncuddled else substracts from the implication that it is a part of the prior "if" statement... which it is.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/5997705868089782387'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2010/12/uncuddled-else.html' title='Uncuddled Else'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-8365034737628924017</id><published>2010-12-09T22:20:00.000-08:00</published><updated>2010-12-10T04:39:52.829-08:00</updated><title type='text'>Migrate from Flickr to Picasa</title><content type='html'>There are other migration tools out there but nothing works as well as Nathan Van Geem's script... preserves your organiation, titles, descriptions... and moves it  all to picasa in one clean step.&lt;br /&gt;&lt;br /&gt;Of course... you'll need to have &lt;a href="http://www.python.org/download/"&gt;python&lt;/a&gt; installed on your machine.&lt;br /&gt;&lt;br /&gt;But the advantage is that it uses almost no space... downloading and uploading at the same time, so it doesn't chew up your drive with "yet another copy" of those pictures.&lt;br /&gt;&lt;br /&gt;I thought of giving people access to it as a service... but really, &lt;a href="http://nathanvangheem.com/news/moving-from-flickr-to-picasa-web-albums"&gt;his instructions aren't too hard&lt;/a&gt;</content><link rel='related' href='http://nathanvangheem.com/news/moving-from-flickr-to-picasa-web-albums' title='Migrate from Flickr to Picasa'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/8365034737628924017'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2010/12/migrate-from-flickr-to-picasa.html' title='Migrate from Flickr to Picasa'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-1466284527092297474</id><published>2010-12-08T12:37:00.000-08:00</published><updated>2010-12-09T09:01:47.445-08:00</updated><title type='text'>HOWTO: Condor on an Intranet</title><content type='html'>&lt;div&gt;Here's what I had to do to make it work.   So far it's fine.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ADMIN:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;1. If you install Condor as an RPM, it will default to running everything as the user "condor".   This will prevent the condor machinery from smartly forking jobs as "the user who submitted them".   Especially, if you're on a private network, this makes no sense though, so open it up with CONDOR_UIDS=0.0&lt;div&gt;&lt;br /&gt;&lt;div&gt;2. Lots of machines mounted to the same share?  This one was useful:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;LOCAL_CONFIG_FILE       = /mnt/blah/condor/$(HOSTNAME).local &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I can keep configs for each machine, without having to worry about condor_config -set.  I use  symbolic links to create "machine classes" that I add machines to when I bring up new nodes. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. condor_config_val -set ... seems nice, but don't bother.   You really need to keep your configs well groomed.   I wasted time getting it to work... and then deleted everything I set.   Must be nice on heterogeneous public networks where the config file isn't on some shared mount.  (In fact I just disabled it).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4.  Trust everyone... let the firewall protect you.   TRUST_UID_DOMAIN = True.   This is good for getting started, so you're not bumping into roadblocks all the time.  Afterwards, tinker with password auth.   Kerberos and the like are a bit much, basic password encryption is fine, IMO, and will work everywhere.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. GET RID of stuff that the RPM stuffs in your local config.   Things like "Suspend=False" and "Start=True"  are in there... and they are bad.   Since your machines don't have a keyboard, ditch the Keyboard stuff and go with "START=$CPUIdle".   Since you don't want your jobs to get randomly killed, go with "SUSPEND=$CPUBusy".   (You can just delete the stuff in the local config and go with the UWCS defaults... they are really good enough for most things.).   Your global config should be the SAME on all boxes.   Your local config should be minimal... just the stuff for that machine.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;USING&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. condor_run has to be run *from a shared directory* or it won't work.  It says that in the docs, but I didn't read it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Likewise, for vanilla jobs, make sure the paths to all your files are the same on every machine you run on.   Trying to sort it out in a script is a mess.   Fix paths first.   Then run.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/1466284527092297474'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2010/12/howto-condor-on-intranet.html' title='HOWTO: Condor on an Intranet'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3570590.post-537371049073820326</id><published>2010-12-08T11:42:00.000-08:00</published><updated>2010-12-08T11:44:05.513-08:00</updated><title type='text'>Better than Textpad</title><content type='html'>For the longest time, I used textbad because of teh block-editing, regex, and extremely large file support.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Notepad++ wasn't even a contender years ago, but it has cought up... and passed with flying colors:&lt;/div&gt;&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;span  &gt;&lt;span style="FONT-SIZE: 12pt"&gt;&lt;a title="blocked::http://notepad-plus-plus.org/" href="http://notepad-plus-plus.org/"&gt;http://notepad-plus-plus.org/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="Apple-style-span"  &gt;Switched all my scripts over today.   Not looking back.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570590/posts/default/537371049073820326'/><link rel='self' type='application/atom+xml' href='http://www.documentroot.com/rss.xml'/><link rel='alternate' type='text/html' href='http://www.documentroot.com/2010/12/better-than-textpad.html' title='Better than Textpad'/><author><name>Erik Aronesty</name><uri>http://www.blogger.com/profile/18059679125325747381</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
