<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Polypompholyx</title><link>https://polypompholyx.github.io/posts/</link><description>Recent content in Posts on Polypompholyx</description><generator>Hugo</generator><language>en-GB</language><copyright>Except where otherwise noted, content on this site is licensed under a Creative Commons CC-BY-SA-3.0 licence, Steve Cook</copyright><lastBuildDate>Fri, 04 Nov 2022 13:13:31 +0000</lastBuildDate><atom:link href="https://polypompholyx.github.io/posts/feed.xml" rel="self" type="application/rss+xml"/><item><title>Pythogenies</title><link>https://polypompholyx.github.io/2020/03/pythogenies/</link><pubDate>Mon, 23 Mar 2020 11:01:25 +0000</pubDate><guid>https://polypompholyx.github.io/2020/03/pythogenies/</guid><description>&lt;p&gt;I had to teach myself a bit of Python recently, so decided to do it by implementing this &lt;a href="https://polypompholyx.github.io/wp-content/uploads/2020/03/parse_phylogeny.txt"&gt;parse_phylogeny.py&lt;/a&gt; thing (it&amp;rsquo;s uploaded here as a text file). It takes a nice intuitive mark-down for phylogenetic trees (below) and spits out a Newick file (&lt;code&gt;-f nwk&lt;/code&gt;), or a &lt;a href="https://en.wikipedia.org/wiki/Template:Clade"&gt;Wikipedia clade&lt;/a&gt; format (&lt;code&gt;-f wp&lt;/code&gt;). It&amp;rsquo;s not amazing (hey, it was my first attempt at Python in anger) and I know there&amp;rsquo;s a bunch of repetitious stuff in the functions that could be lifted out, but whatever. Maybe you&amp;rsquo;ll find a use for it.&lt;/p&gt;</description></item><item><title>Concrete jungle</title><link>https://polypompholyx.github.io/2019/01/concrete-jungle/</link><pubDate>Wed, 02 Jan 2019 13:14:25 +0000</pubDate><guid>https://polypompholyx.github.io/2019/01/concrete-jungle/</guid><description>&lt;p&gt;The &lt;a href="https://www.barbican.org.uk/"&gt;Barbican&lt;/a&gt; is a sprawling concrete brutality as apt to divide opinion as Marmite or skinny jeans. Built in the 60s and 70s as a housing estate and cultural centre on a vast bomb-site in the City of London, it does not sound like a promising place to go botanising, but after the &lt;a href="https://en.wikipedia.org/wiki/Chamaenerion_angustifolium"&gt;fire-weed&lt;/a&gt; was concreted over, other plants moved in&amp;hellip;&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2019/01/Erigeron_karvinskianus.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2019/01/Erigeron_karvinskianus-e1546430166618-225x300.jpg" alt="Erigeron karvinskianus [CC-BY-SA-4.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;Fleabane (&lt;em&gt;Erigeron karvinskianus&lt;/em&gt;) growing on a bastion that formed part of the original &lt;a href="https://en.wikipedia.org/wiki/London_Wall"&gt;London Wall&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Aside from the fleabane gussying up the scheduled monuments, and the friendly rivalry of the residents&amp;rsquo; window-boxes, the Barbican also houses a &lt;a href="https://www.barbican.org.uk/whats-on/tag/conservatory"&gt;large conservatory&lt;/a&gt; containing more than 2000 species of plant. It is open to the public most Sundays.&lt;/p&gt;</description></item><item><title>Moosgartenrückreisefreude</title><link>https://polypompholyx.github.io/2018/01/moosgartenruckreisefreude/</link><pubDate>Mon, 22 Jan 2018 12:33:14 +0000</pubDate><guid>https://polypompholyx.github.io/2018/01/moosgartenruckreisefreude/</guid><description>&lt;p&gt;When we went to the &lt;a href="https://www.bgbm.org/en/home"&gt;Berlin Botanischer Garten&lt;/a&gt; in 2005, we saw some &lt;a href="https://polypompholyx.github.io/2014/04/bagging-botanic-gardens/"&gt;pretty cool stuff,&lt;/a&gt;  including a flowering &lt;em&gt;Welwitschia&lt;/em&gt; and some fantastic tree ferns. However, like every other botanical garden I&amp;rsquo;ve ever visited, &lt;a href="https://en.wikipedia.org/wiki/Moss"&gt;mosses&lt;/a&gt; , &lt;a href="https://en.wikipedia.org/wiki/Hornwort"&gt;hornworts&lt;/a&gt; and &lt;a href="https://en.wikipedia.org/wiki/Marchantiophyta"&gt;liverworts&lt;/a&gt; were effectively ignored, or - worse - treated as dreary also-rans at the start of one of those &amp;rsquo;evolution houses&amp;rsquo; so beloved of curators without the wit to find something accurate to do with their &lt;a href="https://polypompholyx.github.io/2012/04/why-living-fossils-need-to-die/"&gt;cycads&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Here be dragons</title><link>https://polypompholyx.github.io/2018/01/here-be-dragons/</link><pubDate>Sun, 14 Jan 2018 16:49:23 +0000</pubDate><guid>https://polypompholyx.github.io/2018/01/here-be-dragons/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Previously on Bagging Botanic Gardens: &lt;a href="https://polypompholyx.github.io/2017/04/more-botanical-baggings/"&gt;Maspalomas &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt;, &lt;a href="https://polypompholyx.github.io/2016/01/wisley-in-winter/"&gt;Wisley&lt;/a&gt;, &lt;a href="https://polypompholyx.github.io/2015/12/bagging-botanical-brussels/"&gt;Brussels&lt;/a&gt;, &lt;a href="https://polypompholyx.github.io/2013/04/down-amongst-the-butterworts/"&gt;Down House&lt;/a&gt;, &lt;a href="https://polypompholyx.github.io/2014/04/bagging-botanic-gardens/"&gt;Much Else Besides&lt;/a&gt;.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;The minute I found out there was a botanic garden in the north of Gran Canaria as well, a return visit became inevitable.&lt;/p&gt;&#10;&lt;p&gt;The &lt;a href="http://www.jardincanario.org/"&gt;Jardín Botánico Canario &amp;ldquo;Viera y Clavijo&amp;rdquo;&lt;/a&gt; is in the outskirts of Las Palmas, and is much larger than its &lt;a href="https://polypompholyx.github.io/2017/04/more-botanical-baggings/"&gt;Maspaloman sibling&lt;/a&gt;. As well as showcasing a Canary Island pine woodland, it also has a impressive path carved into the side of the cliff that overlooks the site. This affords splendid views across the gardens - assuming you can stomach them.&lt;/p&gt;</description></item><item><title>Hairy kneecap</title><link>https://polypompholyx.github.io/2017/12/hairy-kneecap/</link><pubDate>Fri, 22 Dec 2017 11:17:25 +0000</pubDate><guid>https://polypompholyx.github.io/2017/12/hairy-kneecap/</guid><description>&lt;p&gt;Our microscopy practical always turns up something new, which is the main reason I enjoy it. This year it was a &lt;a href="https://polypompholyx.github.io/tag/ciliate/"&gt;ciliate&lt;/a&gt; called &lt;em&gt;Euplotes patella&lt;/em&gt;. This kneecap-shaped critter is a single-celled organism masquerading as a tiny animal. The appendages that look like long hairs or legs are bundles of extra-long &lt;a href="https://en.wikipedia.org/wiki/Cilium"&gt;cilia&lt;/a&gt; called cirri, which it uses to scuttle about like a microscopic woodlouse. The cirri around the front of the cell (top of the image below) are also used to sweep food into a region of its cell membrane that acts like a mouth. &lt;em&gt;Euplotes&lt;/em&gt; will eat bacteria, yeast, algae, pretty much anything it can fit into its mouth really: much like me at Christmas.&lt;/p&gt;</description></item><item><title>Stems all the way down</title><link>https://polypompholyx.github.io/2017/07/stems-all-the-way-down/</link><pubDate>Fri, 07 Jul 2017 15:14:03 +0000</pubDate><guid>https://polypompholyx.github.io/2017/07/stems-all-the-way-down/</guid><description>&lt;p&gt;In the days when potted plants were more than just disposable land-filler, my Nan would try to force her wizened poinsettia to flower by sticking it into a bin-liner &lt;a href="https://en.wikipedia.org/wiki/Ethylene#Ethylene_as_a_plant_hormone"&gt;with some apples&lt;/a&gt; every night from October until December. Sum total of flowers she ever saw: zero. Ho hum. But how many poinsettia flowers can &lt;em&gt;you&lt;/em&gt; see in the picture below?&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2017/07/euphorbia_pulcherrima.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2017/07/euphorbia_pulcherrima-300x197.jpg" alt="Euphorbia pulcherrima [PD, USDA Scott Bauer]" /&gt;&lt;/a&gt;&lt;figcaption&gt;Poinsettia (&lt;em&gt;Euphorbia pulcherrima&lt;/em&gt;)&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;If you&amp;rsquo;re wondering whether you can include the ones that are partly off-screen, you are asking the wrong question. There are many hundreds of flowers here, not six or ten. The red leafy-looking things you might have been cruelly mislead into thinking were petals are actually brightly coloured leaves. The flowers themselves are found in the tiny yellow-green blobs in the middle&amp;hellip;&lt;/p&gt;</description></item><item><title>More botanical baggings</title><link>https://polypompholyx.github.io/2017/04/more-botanical-baggings/</link><pubDate>Thu, 13 Apr 2017 14:02:08 +0000</pubDate><guid>https://polypompholyx.github.io/2017/04/more-botanical-baggings/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Previously on Bagging Botanic Gardens: &lt;a href="https://polypompholyx.github.io/2016/01/wisley-in-winter/"&gt;Wisley&lt;/a&gt;, &lt;a href="https://polypompholyx.github.io/2015/12/bagging-botanical-brussels/"&gt;Brussels&lt;/a&gt;, &lt;a href="https://polypompholyx.github.io/2013/04/down-amongst-the-butterworts/"&gt;Down House&lt;/a&gt;, &lt;a href="https://polypompholyx.github.io/2014/04/bagging-botanic-gardens/"&gt;Much Else Besides&lt;/a&gt;.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="eden-project"&gt;Eden Project&lt;/h2&gt;&#10;&lt;p&gt;An old clay pit in Cornwall doesn&amp;rsquo;t sound like the most promising place to find a tropical forest, but the alleged proximity of the &lt;a href="https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy_(TV_series)"&gt;entrance to Magrathea&lt;/a&gt; might go some way to explaining it. The &lt;a href="https://en.wikipedia.org/wiki/Eden_Project"&gt;Eden Project&amp;rsquo;s&lt;/a&gt; bubble-wrap domes are now such a familiar part of the Cornish tourist board&amp;rsquo;s marketing that you&amp;rsquo;re not really expecting them to be as impressive as they actually are in the flesh:&lt;/p&gt;</description></item><item><title>Modular origami</title><link>https://polypompholyx.github.io/2017/01/modularorigami/</link><pubDate>Wed, 04 Jan 2017 16:58:25 +0000</pubDate><guid>https://polypompholyx.github.io/2017/01/modularorigami/</guid><description>&lt;p&gt;A few months ago, I went to a creative origami lunchtime session organised by some lovely people at &lt;code&gt;$WORK&lt;/code&gt;. I&amp;rsquo;d done origami a bit when I was younger, but mostly just frogs and cranes, which have since helped me while away the hours when invigilating exams. However, at this lunchtime session I was shown how to make modular origami. This involves making lots of (generally quite simple) origami parts, and then slotting them together to make larger structures.&lt;/p&gt;</description></item><item><title>Organism of the week #31 – Tardigrades</title><link>https://polypompholyx.github.io/2016/05/organism-of-the-week-31/</link><pubDate>Thu, 19 May 2016 15:25:28 +0000</pubDate><guid>https://polypompholyx.github.io/2016/05/organism-of-the-week-31/</guid><description>&lt;p&gt;Tardigrades make me squee. These little relatives of the &lt;a href="https://en.wikipedia.org/wiki/Arthropod"&gt;arthropods&lt;/a&gt; and &lt;a href="https://en.wikipedia.org/wiki/Onychophora"&gt;velvet-worms&lt;/a&gt; are found in the water around mosses, and they are quite easy to find if you have a cheap microscope and a little patience. Like spiders, they have eight legs, but unlike the legs of a spider, they&amp;rsquo;re plump and stumpy, and end in the little &amp;lsquo;fingers&amp;rsquo; you can just about make out in the photos below. Ignoring the excess of legs, it&amp;rsquo;s easy to see why they&amp;rsquo;re sometimes called water-bears.&lt;/p&gt;</description></item><item><title>Organism of the week #30 – Sticky situation</title><link>https://polypompholyx.github.io/2016/05/organism-of-the-week-30/</link><pubDate>Thu, 19 May 2016 15:11:17 +0000</pubDate><guid>https://polypompholyx.github.io/2016/05/organism-of-the-week-30/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;All science is either physics or stamp-collecting.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;This rather mean-spirited dismissal of chemistry and biology as &amp;ldquo;stamp-collecting&amp;rdquo; is attributed to Ernest Rutherford, the physicist usually (&lt;a href="https://en.wikipedia.org/wiki/Geiger%E2%80%93Marsden_experiment"&gt;not wholly fairly&lt;/a&gt;) credited with discovering the atomic nucleus and the proton.&lt;/p&gt;&#10;&lt;p&gt;Shortly after Rutherford&amp;rsquo;s death in 1937, particle physicists discovered the muon, pi mesons, kaons, the electron neutrino, the anti-proton, the lambda baryon, xi cascades, and sigma baryons. It took physicists the thirty years following Rutherford&amp;rsquo;s death to make sense of this veritable album of subatomic stamps.&lt;/p&gt;</description></item><item><title>Adaptations evolve in populations</title><link>https://polypompholyx.github.io/2016/05/misconceptions_evolution_teleology/</link><pubDate>Thu, 05 May 2016 18:35:46 +0000</pubDate><guid>https://polypompholyx.github.io/2016/05/misconceptions_evolution_teleology/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Organisms evolve adaptations to increase their fitness&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;There are few ideas in science that explain as much of the natural world as does natural selection, but there are few ideas in science that are more frequently misunderstood.&lt;/p&gt;&#10;&lt;p&gt;Often the misunderstandings are deliberate or disingenuous, but I&amp;rsquo;ve seen quotes like the one above even in undergraduate essays and popular science books.&lt;/p&gt;</description></item><item><title>Recursion</title><link>https://polypompholyx.github.io/2016/01/recursion/</link><pubDate>Fri, 08 Jan 2016 12:28:07 +0000</pubDate><guid>https://polypompholyx.github.io/2016/01/recursion/</guid><description>&lt;figure class="wp-caption aligncenter" style="max-width:1024px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2016/01/recursive_leaves.png" rel="attachment wp-att-2017"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2016/01/recursive_leaves-1024x602.png" alt="Recursion [CC-BY-SA-3.0 Steve Cook, Andreas Thomson, Frank Vinzent]" /&gt;&lt;/a&gt;&lt;figcaption&gt;Recursion [CC-BY-SA-3.0 Steve Cook, Andreas Thomson, Frank Vinzent]&lt;/figcaption&gt;&lt;/figure&gt;</description></item><item><title>Bark</title><link>https://polypompholyx.github.io/2016/01/bark/</link><pubDate>Thu, 07 Jan 2016 11:53:00 +0000</pubDate><guid>https://polypompholyx.github.io/2016/01/bark/</guid><description>&lt;figure class="wp-caption aligncenter" style="max-width:1024px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2016/01/bark.jpg" rel="attachment wp-att-2005"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2016/01/bark-1024x768.jpg" alt="Bark [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;Top left to bottom right: &lt;em&gt;Betula utilis&lt;/em&gt; var. &lt;em&gt;jacquemontii&lt;/em&gt;, &lt;em&gt;Pinus sylvestris&lt;/em&gt;, &lt;em&gt;Prunus serrula&lt;/em&gt;, &lt;em&gt;Pinus pinaster&lt;/em&gt;, &lt;em&gt;Quercus suber&lt;/em&gt;, &lt;em&gt;Araucaria araucana&lt;/em&gt;, &lt;em&gt;Metasequoia glyptostroboides&lt;/em&gt;,&lt;em&gt; Pinus bungeana&lt;/em&gt;, &lt;em&gt;Betula ermanii&lt;/em&gt; × &lt;em&gt;pubescens&lt;/em&gt;, &lt;em&gt;Pinus nigra&lt;/em&gt; ssp. &lt;em&gt;laricio&lt;/em&gt;, &lt;em&gt;Betula albosinensis&lt;/em&gt; cv. Red Panda, &lt;em&gt;Platanus&lt;/em&gt; × &lt;em&gt;acerifolia.&lt;/em&gt;&lt;/figcaption&gt;&lt;/figure&gt;</description></item><item><title>Wisley in Winter</title><link>https://polypompholyx.github.io/2016/01/wisley-in-winter/</link><pubDate>Wed, 06 Jan 2016 16:43:57 +0000</pubDate><guid>https://polypompholyx.github.io/2016/01/wisley-in-winter/</guid><description>&lt;p&gt;It&amp;rsquo;s not &lt;em&gt;really&lt;/em&gt; a botanic garden, but the &lt;a href="https://www.rhs.org.uk/gardens/wisley"&gt;Royal Horticultural Society&amp;rsquo;s gardens at Wisley&lt;/a&gt; is near enough as makes no difference. We visited in what should have been the dead of winter, but which in reality was this weird sprautumn mash-up that is now December in the UK. The heather garden was particularly pretty, despite the wind:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2016/01/Wisley_heather_garden.jpg" rel="attachment wp-att-2000"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2016/01/Wisley_heather_garden-225x300.jpg" alt="RHS Wisley heather garden [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;RHS Wisley heather garden&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;At £12, the entry price is a bit steep: even Kew does reduced rates when most of the plants are underground, sleeping off the summer&amp;rsquo;s excesses.&lt;/p&gt;</description></item><item><title>Imposter</title><link>https://polypompholyx.github.io/2016/01/imposter/</link><pubDate>Wed, 06 Jan 2016 16:02:48 +0000</pubDate><guid>https://polypompholyx.github.io/2016/01/imposter/</guid><description>&lt;p&gt;Most years the pond-water microscopy practical throws up an &lt;a href="https://polypompholyx.github.io/2012/10/glockentierchen/"&gt;exciting ciliate&lt;/a&gt; (or &lt;a href="https://polypompholyx.github.io/2013/10/teardrops-of-the-swan/"&gt;two&lt;/a&gt;, or &lt;a href="https://polypompholyx.github.io/2014/12/stentorian/"&gt;three&lt;/a&gt;), but this year, the only ones we saw were duplicates, or too bloody fast to photograph. Ho hum.&lt;/p&gt;&#10;&lt;p&gt;So this year you&amp;rsquo;ll have to make do with an imposter. It&amp;rsquo;s still got cilia, but it is not a ciliate, and although it&amp;rsquo;s no bigger than a single-celled organism, it is in fact a full-blown multicellular animal:&lt;/p&gt;</description></item><item><title>Bagging botanical Brussels</title><link>https://polypompholyx.github.io/2015/12/bagging-botanical-brussels/</link><pubDate>Tue, 22 Dec 2015 14:38:08 +0000</pubDate><guid>https://polypompholyx.github.io/2015/12/bagging-botanical-brussels/</guid><description>&lt;p&gt;The last time we went to Brussels, I got terribly excited that the hotel we were staying in was right next door to the &lt;a href="https://en.wikipedia.org/wiki/Botanical_Garden_of_Brussels"&gt;Botanical Garden of Brussels&lt;/a&gt;. Unfortunately - as we discovered in short order - at some point in the 1930s the plants had mostly been shipped off elsewhere, leaving the garden not very botanical, and Dr Cook not very impressed.&lt;/p&gt;</description></item><item><title>Organism of the week #29 – Galling</title><link>https://polypompholyx.github.io/2015/10/organism-of-the-week-29/</link><pubDate>Tue, 06 Oct 2015 10:33:53 +0000</pubDate><guid>https://polypompholyx.github.io/2015/10/organism-of-the-week-29/</guid><description>&lt;p&gt;Today is the first day of the new (academic) year at &lt;code&gt;$WORK&lt;/code&gt;, but - aside from a couple of intro lectures - this is the calm before the real storm, which arrives in the form of a deluge of biological chemistry in November. If you&amp;rsquo;re lucky, you&amp;rsquo;ll get a few mugshots of &lt;a href="https://polypompholyx.github.io/tag/ciliate/"&gt;some weird ciliate or other&lt;/a&gt; around then, otherwise, expect tumbleweed until the new (calendar) year&amp;hellip;&lt;/p&gt;</description></item><item><title>Organism of the week #28 - Fractal art</title><link>https://polypompholyx.github.io/2015/09/organism-of-the-week-28/</link><pubDate>Thu, 17 Sep 2015 12:49:05 +0000</pubDate><guid>https://polypompholyx.github.io/2015/09/organism-of-the-week-28/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Flowers are essentially tarts. Prostitutes for the bees. (&lt;a href="http://www.imdb.com/character/ch0162809/quotes"&gt;Uncle Monty, &lt;em&gt;Withnail and I&lt;/em&gt;&lt;/a&gt;)&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Our tiny garden has only passing acquaintance with sunshine, so about the only plants that really thrive in its dingy clutches are shade-loving ferns. This Japanese painted fern is my current favourite: who needs flowers anyway, when leaves look like this?&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2015/08/Athyrium_niponicum_cv._Pictum.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2015/08/Athyrium_niponicum_cv._Pictum-225x300.jpg" alt="Athyrium niponicum cv. Pictum [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;Japanese painted fern (&lt;em&gt;Athyrium niponicum&lt;/em&gt; cv. Pictum)&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;The colour is spectacular, but I also love the shape of the leaves. I have a rabbit&amp;rsquo;s-foot fern on my windowsill at &lt;code&gt;$WORK&lt;/code&gt;, which branches not once, not twice, not thrice, but fwice, with each leaflet at each level looking very much like a miniaturised version of the whole leaf:&lt;/p&gt;</description></item><item><title>Living dangerously</title><link>https://polypompholyx.github.io/2015/09/living-dangerously/</link><pubDate>Sun, 06 Sep 2015 12:19:58 +0000</pubDate><guid>https://polypompholyx.github.io/2015/09/living-dangerously/</guid><description>&lt;p&gt;Towards the end of the last millennium, I spent a lot of time befriending arsenic. The last two years of my PhD involved measuring how much iodine had fallen off a &lt;a href="https://en.wikipedia.org/wiki/Iodopropynyl_butylcarbamate"&gt;chemical used as a wood preservative&lt;/a&gt; day-in, day-out, and arsenic trioxide was the most exciting component of an otherwise &lt;a href="https://www.google.co.uk/search?q=Sandell-Kolthoff+reaction"&gt;excruciatingly dull test for iodide ions&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;My little bottles of arsenic warned me to beware of pirates&amp;hellip;&lt;/p&gt;</description></item><item><title>Organism of the week #27 - Alien haemorrhoids</title><link>https://polypompholyx.github.io/2015/09/organism-of-the-week-27/</link><pubDate>Sun, 06 Sep 2015 11:31:41 +0000</pubDate><guid>https://polypompholyx.github.io/2015/09/organism-of-the-week-27/</guid><description>&lt;p&gt;A quickie this week: &lt;a href="https://polypompholyx.github.io/2012/07/magnolia-misunderstanding/"&gt;magnolia&lt;/a&gt; fruit look like something from another planet.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2015/08/Magnolia_×soulangeana_fruit.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2015/08/Magnolia_×soulangeana_fruit-225x300.jpg" alt="Magnolia ×soulangeana fruit [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Magnolia ×soulangeana&lt;/em&gt; fruit&lt;/figcaption&gt;&lt;/figure&gt;</description></item><item><title>Statistical power</title><link>https://polypompholyx.github.io/2015/08/r-statistical-power/</link><pubDate>Wed, 26 Aug 2015 15:35:13 +0000</pubDate><guid>https://polypompholyx.github.io/2015/08/r-statistical-power/</guid><description>&lt;p&gt;In a &lt;a href="https://polypompholyx.github.io/2014/02/r-statistical-testing/"&gt;recent(ish) post&lt;/a&gt;, we saw that if a fair coin is flipped 30 times, the probability it will give us 10 or fewer heads is less than 5% (4.937% to be pointlessly precise). Fisher quantified this using the &lt;em&gt;p&lt;/em&gt; value of a data set: the probability of obtaining data (or a test statistic based on those data) at least as extreme as that actually observed, assuming that the null hypothesis is true.&lt;/p&gt;</description></item><item><title>Organism of the week #26 - Oxymoron</title><link>https://polypompholyx.github.io/2015/08/organism-of-the-week-26/</link><pubDate>Sun, 23 Aug 2015 15:01:38 +0000</pubDate><guid>https://polypompholyx.github.io/2015/08/organism-of-the-week-26/</guid><description>&lt;p&gt;Plants can have some &lt;a href="https://polypompholyx.github.io/2013/03/organism-of-the-week-10/"&gt;very odd names&lt;/a&gt;. Bears are not renowned for their trousers, and this spiky sod is the last thing anyone would want to make a pair of trousers from, but &amp;ldquo;bear&amp;rsquo;s breeches&amp;rdquo; it is. Even its Latin name is odd: &lt;em&gt;acanthus&lt;/em&gt; means spiny, and &lt;em&gt;mollis&lt;/em&gt; means smooth; a literal &lt;a href="https://en.wikipedia.org/wiki/Oxymoron"&gt;oxymoron&lt;/a&gt;.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2015/08/Acanthus_mollis.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2015/08/Acanthus_mollis-225x300.jpg" alt="Acanthus mollis [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Acanthus mollis&lt;/em&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;It might not look very familiar, but it may be the most quietly famous plant in the world, having been immortalised in stone through much of the world for over 2000 years.&lt;/p&gt;</description></item><item><title>Organism of the week #25 - Bull headed</title><link>https://polypompholyx.github.io/2015/08/organism-of-the-week-25/</link><pubDate>Mon, 17 Aug 2015 09:18:47 +0000</pubDate><guid>https://polypompholyx.github.io/2015/08/organism-of-the-week-25/</guid><description>&lt;p&gt;This is another of the things we have found down a microscope in one of our undergraduate practicals, but &lt;a href="https://polypompholyx.github.io/2012/10/glockentierchen/"&gt;for once&lt;/a&gt; &lt;a href="https://polypompholyx.github.io/2013/10/teardrops-of-the-swan/"&gt;it&amp;rsquo;s not&lt;/a&gt; &lt;a href="https://polypompholyx.github.io/2014/12/stentorian/"&gt;a ciliate&lt;/a&gt;.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:260px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2015/08/Bucephalus_minimus.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2015/08/Bucephalus_minimus-260x300.jpg" alt="Bucephalus minimus [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Bucephalus minimus&lt;/em&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;This is the larva of a parasitic fluke called &lt;em&gt;Bucephalus&lt;/em&gt;, which is the Greek for &amp;lsquo;bull headed&amp;rsquo;. It&amp;rsquo;s appropriate for this fluke not because it looks like &lt;a href="https://en.wikipedia.org/wiki/Bucephalus"&gt;Alexander the Great&amp;rsquo;s horse&lt;/a&gt;, but because its two &amp;ldquo;tails&amp;rdquo; (furcae) look like horns when they are fully extended.&lt;/p&gt;</description></item><item><title>A graph to show</title><link>https://polypompholyx.github.io/2015/08/a-graph-to-show/</link><pubDate>Mon, 10 Aug 2015 15:13:19 +0000</pubDate><guid>https://polypompholyx.github.io/2015/08/a-graph-to-show/</guid><description>&lt;p&gt;I&amp;rsquo;ve never been sure where &amp;ldquo;a graph to show&amp;hellip;&amp;rdquo; comes from. As far as I can tell, A-level specifications don&amp;rsquo;t use or specify this wording, and you wouldn&amp;rsquo;t typically see it in a figure legend in a scientific paper. But if you ask first-year students to put a title on a graph without any further guidance, almost every one of them will default to this mindless boilerplate.&lt;/p&gt;</description></item><item><title>Organism of the week #24 - Danse Macabre</title><link>https://polypompholyx.github.io/2015/08/organism-of-the-week-24/</link><pubDate>Mon, 10 Aug 2015 10:34:01 +0000</pubDate><guid>https://polypompholyx.github.io/2015/08/organism-of-the-week-24/</guid><description>&lt;p&gt;For three centuries, the &lt;a href="https://en.wikipedia.org/wiki/Black_Death"&gt;Black Death&lt;/a&gt; was routinely epidemic in London. The first outbreak - in 1348 - probably killed half the population of England; &lt;a href="https://en.wikipedia.org/wiki/Great_Plague_of_London"&gt;the last outbreak - from 1665 to 1666&lt;/a&gt; - probably killed a quarter of the population of London.&lt;/p&gt;&#10;&lt;p&gt;In 1665, Isleworth was a small village several hours&amp;rsquo; walk (or row) from London proper, but the Great Plague found its way there anyway. As in many places, so many died that digging individual graves became impractical, so instead, the bodies were interred in communal plague pits.&lt;/p&gt;</description></item><item><title>Organism of the week #23 – Rattled</title><link>https://polypompholyx.github.io/2015/08/organism-of-the-week-23/</link><pubDate>Mon, 03 Aug 2015 10:32:14 +0000</pubDate><guid>https://polypompholyx.github.io/2015/08/organism-of-the-week-23/</guid><description>&lt;p&gt;My annual summer ritual to stave off death for one more year involves running round Kensington Gardens and Hyde Park, which are situated conveniently close to $WORK.&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;I lumbered merry as a shroud.&lt;/p&gt;&#10;&lt;p&gt;That aches and sweats o&amp;rsquo;er trails and heights,&lt;/p&gt;&#10;&lt;p&gt;When all at once I saw a crowd,&lt;/p&gt;&#10;&lt;p&gt;A host, of golden parasites:&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2015/08/Rhinanthus_minor_field.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2015/08/Rhinanthus_minor_field-300x225.jpg" alt="Rhinanthus minor (field) [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;Yellow rattle growing in the north of Kensington Gardens (&lt;em&gt;Rhinanthus minor&lt;/em&gt;)&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Yellow rattle is a member of the &lt;a href="https://en.wikipedia.org/wiki/Orobanchaceae"&gt;broomrape family&lt;/a&gt;, which are almost all parasites of other plants. &lt;a href="https://en.wikipedia.org/wiki/Orobanche_minor"&gt;Broomrape itself&lt;/a&gt; is completely parasitic, and obtains all the sugars and other nutrients it needs to grow from other plants.&lt;/p&gt;</description></item><item><title>Phage vs. host</title><link>https://polypompholyx.github.io/2015/07/phage-vs-host/</link><pubDate>Fri, 10 Jul 2015 10:21:09 +0000</pubDate><guid>https://polypompholyx.github.io/2015/07/phage-vs-host/</guid><description>&lt;p&gt;For a recent schools&amp;rsquo; outreach day, I put together &lt;a href="https://polypompholyx.github.io/wp-content/uploads/2015/07/phage_game.pptx"&gt;a card-game based around the arms-races&lt;/a&gt; that develop between bacterial hosts and their viruses (bacteriophages). It&amp;rsquo;s mostly just a bit of fun, but if anyone finds it useful or can suggest improvements (or just make them! I release this under a CC-BY-SA-4.0 license) I&amp;rsquo;d be happy to hear them.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2015/07/phage_game.pptx"&gt;&lt;img src="https://polypompholyx.github.io/wp-content/uploads/2015/07/phage_vs_host-300x207.png" class="aligncenter size-medium wp-image-1788" width="300" height="207" alt="Phage vs. host [CC-BY-SA-4.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Stentorian</title><link>https://polypompholyx.github.io/2014/12/stentorian/</link><pubDate>Tue, 16 Dec 2014 10:13:47 +0000</pubDate><guid>https://polypompholyx.github.io/2014/12/stentorian/</guid><description>&lt;p&gt;We had the annual &amp;ldquo;looking at muck down a microscope&amp;rdquo; practical last week. As usual, the best thing we saw was a &lt;a href="http://en.wikipedia.org/wiki/Ciliate" title="Ciliates at Wikipedia"&gt;ciliate&lt;/a&gt; in some pond water, in this case a little trumpet animalcule:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:244px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2014/12/Stentor_sp..jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2014/12/Stentor_sp.-244x300.jpg" alt="Stentor sp. [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Stentor&lt;/em&gt; sp. The green bits are either &lt;a title="Organism of the week #14 – Turtles all the way down" href="https://polypompholyx.github.io/2013/05/organism-of-the-week-14/"&gt;symbiotic algae&lt;/a&gt;, or dinner, possibly a bit of both.&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Previous winners: &lt;em&gt;&lt;a href="https://polypompholyx.github.io/2012/10/glockentierchen/" title="Glockentierchen"&gt;Vorticella&lt;/a&gt;&lt;/em&gt; and &lt;em&gt;&lt;a href="https://polypompholyx.github.io/2013/10/teardrops-of-the-swan/" title="Teardrops of the swan"&gt;Lacrymaria&lt;/a&gt;&lt;/em&gt;. The Ciliata really are the phylum that keeps on giving.&lt;/p&gt;</description></item><item><title>A queen's Christmas message</title><link>https://polypompholyx.github.io/2014/12/a-queens-christmas-message/</link><pubDate>Mon, 15 Dec 2014 16:40:50 +0000</pubDate><guid>https://polypompholyx.github.io/2014/12/a-queens-christmas-message/</guid><description>&lt;p&gt;Well, at least 2:8 is plausible.&lt;/p&gt;&#10;&lt;p&gt;2:1 And it came to pass 10 years after the death of Herod the Great, that there went out a decree from Caesar Augustus that all the world - except those irrelevant bits that the Romans hadn&amp;rsquo;t conquered - should be taxed.&lt;/p&gt;&#10;&lt;p&gt;2:2 (And this taxing was first made when Quirinius was governor of Syria during what - by a large stretch of the imagination - may have been his second term, his first (entirely undocumented) term having been in 4 BCE, during which an (entirely undocumented) census almost certainly didn&amp;rsquo;t take place either.)&lt;/p&gt;</description></item><item><title>Organism of the week #22 - Faking it and making it</title><link>https://polypompholyx.github.io/2014/07/organism-of-the-week-22/</link><pubDate>Wed, 02 Jul 2014 11:39:50 +0000</pubDate><guid>https://polypompholyx.github.io/2014/07/organism-of-the-week-22/</guid><description>&lt;p&gt;Nettles have a rather unhappy reputation as bringer of painful welts, and - at this time of year - &lt;a href="http://www.nhs.uk/Conditions/Hay-fever/Pages/Causes.aspx" title="Hayfever at NHS Choices"&gt;dribbling noses&lt;/a&gt; too. The welts are &lt;a href="http://dx.doi.org/10.1093%2Faob%2Fmcl089" title="Identification of Oxalic Acid and Tartaric Acid as Major Persistent Pain-inducing Toxins in the Stinging Hairs of the Nettle, Urtica thunbergiana"&gt;probably&lt;/a&gt; caused by histamine, and the pain by oxalic and tartaric acids, which the nettle injects into your skin through the tiny brittle hairs that cover its stems and leaves. If you&amp;rsquo;re stung badly, the pain can last for several hours.&lt;/p&gt;</description></item><item><title>Half a life</title><link>https://polypompholyx.github.io/2014/06/half-a-life/</link><pubDate>Fri, 20 Jun 2014 09:36:16 +0000</pubDate><guid>https://polypompholyx.github.io/2014/06/half-a-life/</guid><description>&lt;p&gt;As of today, I will have spent precisely half of my life at &lt;code&gt;$PLACE_OF_WORK&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;I first arrived at what would become my workplace as a badly coiffured youth in 1995 to do a biology degree. South Kensington seemed a great improvement over Croydon, where I had endured my previous 18 years: there was a refreshing absence of casual street violence, and a greatly improved proximity to the grubby delights of Soho. At that time, my Hall of Residence was directly above the first-year lecture theatre, and in the same building as the Students&amp;rsquo; Union. Despite this tempting proximity to cheap vodka - and even cheaper dates - I somehow managed to attend almost every lecture of my first year, aside from a week (a week!) of lectures on algae, which I traded for bossing Munchkins about in the Questor&amp;rsquo;s Theatre in Ealing. I met my personal tutor at least twice, survived two under-catered field-trips to somewhere, somewhere in a field in &lt;del&gt;Hampshire&lt;/del&gt;Berkshire, and made friends whom I treasure to this day.&lt;/p&gt;</description></item><item><title>Organism of the week #21 – Flying machines</title><link>https://polypompholyx.github.io/2014/06/organism-of-the-week-21/</link><pubDate>Wed, 04 Jun 2014 10:41:33 +0000</pubDate><guid>https://polypompholyx.github.io/2014/06/organism-of-the-week-21/</guid><description>&lt;p&gt;It is frequently, and &lt;a href="http://www.fao.org/docrep/013/i1757e/i1757e.pdf" title="UN FAO Global forest resources assessment 2010 (p 21)"&gt;largely accurately,&lt;/a&gt; said that an area of Amazon rainforest &lt;a href="http://en.wikipedia.org/wiki/Wales" title="Wales at Wikipedia"&gt;the size of Wales&lt;/a&gt; is deforested every year. Horrendous though this statistic is, it&amp;rsquo;s worth remembering that the UK deforested an area at least the size of Wales (&lt;a href="http://www.forestry.gov.uk/website/forestry.nsf/byunique/INFD-8EYJWF" title="Forestry Commission forest coverage in the UK"&gt;including most of the area commonly known &lt;em&gt;as&lt;/em&gt; &amp;ldquo;Wales&amp;rdquo;&lt;/a&gt;) before anyone started keeping notes.&lt;/p&gt;</description></item><item><title>Bagging botanic gardens</title><link>https://polypompholyx.github.io/2014/04/bagging-botanic-gardens/</link><pubDate>Wed, 23 Apr 2014 11:55:01 +0000</pubDate><guid>https://polypompholyx.github.io/2014/04/bagging-botanic-gardens/</guid><description>&lt;p&gt;I&amp;rsquo;m not sure whether bagging &lt;a href="http://www.bgci.org/garden_search.php" title="BCGI botanic garden search"&gt;botanical gardens&lt;/a&gt; is better or worse than bagging Munros, Michelin stars or the numbers off of rolling stock, but it keeps me off the streets&amp;hellip;&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:190px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2014/04/edinburgh_gunnera.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2014/04/edinburgh_gunnera-190x300.jpg" alt="Edinburgh botanical gardens Gunnera [CC-BY-2.0 Alex Lomas]" /&gt;&lt;/a&gt;&lt;figcaption&gt;This &lt;em&gt;Gunnera&lt;/em&gt; at Edinburgh makes me look even more like a lawn-ornament&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;h2 id="london-kew"&gt;London (Kew)&lt;/h2&gt;&#10;&lt;p&gt;Just ten stops down the District Line from $WORK lies the &lt;a href="http://www.kew.org/" title="Royal Botanic Gardens Kew"&gt;Royal Botanic Gardens Kew&lt;/a&gt;. The gardens have three enormous glasshouses, a number of smaller glasshouses, and 121 hectares of trees, beds and &lt;a href="http://www.kew.org/visit-kew-gardens/explore/attractions/pagoda" title="Kew Pagoda"&gt;desperately awful architecture&lt;/a&gt; to explore. Unfortunately, it also has an entry fee (for non-concession adults) of £14.50, which is a little steep, and possibly one of the reasons that disappointingly few of my students seem to have visited it, despite its proximity.&lt;/p&gt;</description></item><item><title>Organism of the week #20 - Don't point that thing at me</title><link>https://polypompholyx.github.io/2014/03/organism-of-the-week-20/</link><pubDate>Thu, 06 Mar 2014 08:56:50 +0000</pubDate><guid>https://polypompholyx.github.io/2014/03/organism-of-the-week-20/</guid><description>&lt;p&gt;It&amp;rsquo;s amazing how informative an anus can be.&lt;/p&gt;&#10;&lt;p&gt;Take this sea urchin. The orange pucker in the middle of the spines is its &amp;ldquo;around-the-bum&amp;rdquo;, although zoologists would insist on writing that in Greek as &amp;ldquo;&lt;a href="http://www.nhm.ac.uk/research-curation/research/projects/echinoid-directory/morphology/regulars/intro.html" title="Urchin anatomy at the NHM"&gt;periproct&lt;/a&gt;&amp;rdquo;. The bright orange ring-piece is characteristic of this species, and marks it out as &lt;a href="https://en.wikipedia.org/wiki/Diadema_setosum" title="Diadema setosum at Wikipedia"&gt;&lt;em&gt;Diadema setosum&lt;/em&gt;&lt;/a&gt;, rather than any of the less rectally blessed species of &lt;em&gt;Diadema&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Nonlinear regression</title><link>https://polypompholyx.github.io/2014/03/r-nonlinear-regression/</link><pubDate>Mon, 03 Mar 2014 09:00:42 +0000</pubDate><guid>https://polypompholyx.github.io/2014/03/r-nonlinear-regression/</guid><description>&lt;p&gt;Nonlinear regression is used to see whether one continuous variable is correlated with another continuous variable, but in a nonlinear way, &lt;em&gt;i.e.&lt;/em&gt; when a set of &lt;em&gt;x&lt;/em&gt; &lt;em&gt;vs&lt;/em&gt;. &lt;em&gt;y&lt;/em&gt; data you plan to collect do not form a straight line, but do fall on a curve that can be modelled in some sensible way by a known equation, &lt;em&gt;e.g.&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span class="math"&gt;(v = \frac{ v_{max} \cdot [S] }{ K_M + [S] })&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Analysis of variance: ANOVA (2 way)</title><link>https://polypompholyx.github.io/2014/02/r-anova-2-way/</link><pubDate>Mon, 24 Feb 2014 09:00:37 +0000</pubDate><guid>https://polypompholyx.github.io/2014/02/r-anova-2-way/</guid><description>&lt;p&gt;The technique for a one-way ANOVA can be extended to situations where there is more than one factor, or - indeed - where there are several factors with several levels each, which may have synergistic or antagonistic effects on each other.&lt;/p&gt;&#10;&lt;p&gt;In the models we have seen so far (linear regression, one-way ANOVA) all we have really done is tested the difference between a null model (&amp;quot;&lt;em&gt;y&lt;/em&gt; is a constant&amp;quot;, &amp;ldquo;&lt;em&gt;y&lt;/em&gt;=&lt;em&gt;y̅&lt;/em&gt;&amp;rdquo;) and a single alternative model (&amp;quot;&lt;em&gt;y&lt;/em&gt; varies by group&amp;quot; or &amp;ldquo;&lt;em&gt;y&lt;/em&gt;=&lt;em&gt;a&lt;/em&gt;+&lt;em&gt;bx&lt;/em&gt;&amp;rdquo;) using an &lt;em&gt;F&lt;/em&gt; test. However, in two-way ANOVA there are &lt;em&gt;several&lt;/em&gt; possible models, and we will probably need to proceed through some &lt;strong&gt;model simplification&lt;/strong&gt; from a complex model to a &lt;strong&gt;minimally adequate model&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Analysis of variance: ANOVA (1 way)</title><link>https://polypompholyx.github.io/2014/02/r-anova-1-way/</link><pubDate>Mon, 24 Feb 2014 09:00:36 +0000</pubDate><guid>https://polypompholyx.github.io/2014/02/r-anova-1-way/</guid><description>&lt;p&gt;Analysis of variance is the technique to use when you might otherwise be considering a large number of pairwise &lt;em&gt;F&lt;/em&gt; and &lt;em&gt;t&lt;/em&gt; tests, &lt;em&gt;i.e.&lt;/em&gt; where you want to know whether a factor with more than 2 levels is a useful predictor of a dependent variable.&lt;/p&gt;&#10;&lt;p&gt;For example, &lt;a href="https://polypompholyx.github.io/wp-content/uploads/2014/01/cuckoo_eggs.csv"&gt;cuckoo_eggs.csv&lt;/a&gt; contains data on the length of cuckoo eggs laid into different host species, the (meadow) pipit, the (reed) warbler, and the wren.&lt;/p&gt;</description></item><item><title>Comparison of expected and observed count data: the χ² test</title><link>https://polypompholyx.github.io/2014/02/r-chi-squared-test/</link><pubDate>Mon, 17 Feb 2014 09:00:40 +0000</pubDate><guid>https://polypompholyx.github.io/2014/02/r-chi-squared-test/</guid><description>&lt;p&gt;A &lt;em&gt;χ&lt;sup&gt;2&lt;/sup&gt;&lt;/em&gt; test is used to measure the discrepancy between the observed and expected values of count data.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The dependent data must - by definition - be count data.&lt;/li&gt;&#10;&lt;li&gt;If there are independent variables, they must be categorical.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The test statistic derived from the two data sets is called &lt;em&gt;χ&lt;sup&gt;2&lt;/sup&gt;&lt;/em&gt;, and it is defined as the square of the discrepancy between the observed and expected value of a count variable divided by the expected value.&lt;/p&gt;</description></item><item><title>Correlation of data: linear regression</title><link>https://polypompholyx.github.io/2014/02/r-linear-regression/</link><pubDate>Mon, 10 Feb 2014 09:00:39 +0000</pubDate><guid>https://polypompholyx.github.io/2014/02/r-linear-regression/</guid><description>&lt;p&gt;Linear regression is used to see whether one continuous variable is correlated with another continuous variable in a linear way, &lt;em&gt;i.e.&lt;/em&gt; can the dependent variable &lt;em&gt;y&lt;/em&gt; be modelled with a straight-line response to changes in the independent &lt;strong&gt;covariate&lt;/strong&gt; &lt;em&gt;x&lt;/em&gt;:&lt;/p&gt;&#10;&lt;p&gt;&lt;span class="math"&gt;(y = a + bx + \epsilon)&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;Here &lt;em&gt;b&lt;/em&gt; is the estimated slope of the best-fit line (a.k.a. gradient, often written &lt;em&gt;m&lt;/em&gt;), &lt;em&gt;a&lt;/em&gt; is its &lt;em&gt;y&lt;/em&gt;-intercept (often written &lt;em&gt;c&lt;/em&gt;), and &lt;em&gt;ϵ&lt;/em&gt; is the &lt;strong&gt;residual&lt;/strong&gt; error. If the &lt;em&gt;x&lt;/em&gt; and &lt;em&gt;y&lt;/em&gt; data are perfectly correlated, then ϵ=0 for each and every &lt;em&gt;x&lt;/em&gt;,&lt;em&gt;y&lt;/em&gt; pair in the in the data set; however, this is extremely unlikely to occur in real-world data.&lt;/p&gt;</description></item><item><title>Statistical testing</title><link>https://polypompholyx.github.io/2014/02/r-statistical-testing/</link><pubDate>Mon, 03 Feb 2014 09:00:44 +0000</pubDate><guid>https://polypompholyx.github.io/2014/02/r-statistical-testing/</guid><description>&lt;p&gt;If you want a random yes/no answer to a question, like &amp;ldquo;who should kick-off this football match?&amp;rdquo; it&amp;rsquo;s very common to entrust the decision to the flip of a coin, on the assumption that the coin doesn&amp;rsquo;t care which side gets the advantage.&lt;/p&gt;&#10;&lt;p&gt;But what if that trust is misplaced? What if the coin gives the answer &amp;ldquo;tails - your opponent kicks-off&amp;rdquo; more often than &amp;ldquo;heads - you kick-off&amp;rdquo;, and so gives the advantage to your opponent more often than to you? And, most importantly, how could you &lt;em&gt;tell&lt;/em&gt; if the coin is biased before you entrust your decision-making to it?&lt;/p&gt;</description></item><item><title>Comparison of means: the t test</title><link>https://polypompholyx.github.io/2014/02/r-t-test/</link><pubDate>Mon, 03 Feb 2014 09:00:37 +0000</pubDate><guid>https://polypompholyx.github.io/2014/02/r-t-test/</guid><description>&lt;p&gt;A &lt;em&gt;t&lt;/em&gt; test is used to compare the means of two data sets, and it relies on calculation of a test statistic called &lt;em&gt;t&lt;/em&gt;. This statistic is derived from the two data sets and it is defined as the difference between the means of the two data sets, &lt;em&gt;x̅&lt;sub&gt;1&lt;/sub&gt;&lt;/em&gt; and &lt;em&gt;x̅&lt;sub&gt;2&lt;/sub&gt;&lt;/em&gt; (or the difference between a mean &lt;em&gt;x̅&lt;/em&gt; and a reference value, &lt;em&gt;x&lt;sub&gt;ref&lt;/sub&gt;&lt;/em&gt;) divided by the pooled &lt;strong&gt;standard error&lt;/strong&gt; of the mean(s).&lt;/p&gt;</description></item><item><title>Comparison of variances: the F test</title><link>https://polypompholyx.github.io/2014/02/r-f-test/</link><pubDate>Mon, 03 Feb 2014 09:00:13 +0000</pubDate><guid>https://polypompholyx.github.io/2014/02/r-f-test/</guid><description>&lt;p&gt;An &lt;em&gt;F&lt;/em&gt; test is used to compare the &lt;strong&gt;variances&lt;/strong&gt; of two data sets:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;As it is used to compare variances, the dependent data must - by definition - be &lt;a href="https://polypompholyx.github.io/2014/01/r-kinds-of-data/" title="Kinds of data"&gt;numeric&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;As it is used to compare two distinct sets of data, these sets represent the &lt;a href="https://polypompholyx.github.io/2014/01/r-kinds-of-data/" title="Kinds of data"&gt;two levels of a factor&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The test statistic we use to compare the variances of the two data sets is called &lt;em&gt;F&lt;/em&gt;, and it is defined very simply: &lt;em&gt;F&lt;/em&gt; is the larger of the two variances divided by the smaller.&lt;/p&gt;</description></item><item><title>Organism of the week #19 – Bird-brained humans</title><link>https://polypompholyx.github.io/2014/01/organism-of-the-week-19/</link><pubDate>Thu, 30 Jan 2014 14:01:36 +0000</pubDate><guid>https://polypompholyx.github.io/2014/01/organism-of-the-week-19/</guid><description>&lt;p&gt;Most people who want to attract birds to their gardens put out bird-seed, or - if they&amp;rsquo;re really adventurous - mealworms. However, on the East London dockside where I lived until recently, one of the residents strewed the quayside with livers in December last year. Was this was a deliberate ploy to attract carrion crows for bird-on-variety-meat action? I don&amp;rsquo;t know, but whether or not this was the intention, it was certainly the result.&lt;/p&gt;</description></item><item><title>Descriptive statistics</title><link>https://polypompholyx.github.io/2014/01/r-descriptive-statistics/</link><pubDate>Mon, 27 Jan 2014 09:00:30 +0000</pubDate><guid>https://polypompholyx.github.io/2014/01/r-descriptive-statistics/</guid><description>&lt;p&gt;Statistics can be used to describe a data set, or they can be used to &lt;a href="https://polypompholyx.github.io/2014/02/r-statistical-testing/" title="Statistical testing"&gt;infer how well a model fits a data set&lt;/a&gt;. In this post, we&amp;rsquo;ll look the the former kind of statistics, and how to extract them from R. The remaining posts in this series will mostly deal with statistical tests and modelling.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Descriptive statistics&lt;/strong&gt; should usually give a measure of the central tendency of a data set (the &lt;strong&gt;mean&lt;/strong&gt; and/or &lt;strong&gt;median&lt;/strong&gt;), and of the variability of the data set (the &lt;strong&gt;range&lt;/strong&gt;, &lt;strong&gt;quartiles&lt;/strong&gt;, &lt;strong&gt;variance&lt;/strong&gt; and/or &lt;strong&gt;standard deviation&lt;/strong&gt;).&lt;/p&gt;</description></item><item><title>Organism of the week #18 – Feeling rotten</title><link>https://polypompholyx.github.io/2014/01/organism-of-the-week-18/</link><pubDate>Mon, 20 Jan 2014 12:29:24 +0000</pubDate><guid>https://polypompholyx.github.io/2014/01/organism-of-the-week-18/</guid><description>&lt;p&gt;It&amp;rsquo;s been ages since I did one of these, and today&amp;rsquo;s will not be terribly long or exciting, for the reason that is the very title of this post. Whilst bumbling around in the fridge looking for something bland and bowel-friendly, I chanced upon a lemon that had fallen into a oubliette in the bottom of the salad drawer. Perhaps it&amp;rsquo;s just the sickness talking, but I found it rather beautiful:&lt;/p&gt;</description></item><item><title>Plotting data</title><link>https://polypompholyx.github.io/2014/01/r-plotting-data/</link><pubDate>Mon, 20 Jan 2014 09:00:39 +0000</pubDate><guid>https://polypompholyx.github.io/2014/01/r-plotting-data/</guid><description>&lt;p&gt;You can plot data using &lt;code&gt;plot()&lt;/code&gt;. This can be used in several ways. The simplest is to plot some numeric &lt;em&gt;x&lt;/em&gt;-values against some numeric &lt;em&gt;y&lt;/em&gt;-values using:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#06287e"&gt;plot&lt;/span&gt;( x.variable.vector, y.variable.vector )&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;For example:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;x&lt;span style="color:#666"&gt;&amp;lt;-&lt;/span&gt;&lt;span style="color:#06287e"&gt;c&lt;/span&gt;( &lt;span style="color:#40a070"&gt;1&lt;/span&gt;&lt;span style="color:#666"&gt;:&lt;/span&gt;&lt;span style="color:#40a070"&gt;10&lt;/span&gt; )&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;y&lt;span style="color:#666"&gt;&amp;lt;-&lt;/span&gt;&lt;span style="color:#40a070"&gt;1&lt;/span&gt; &lt;span style="color:#666"&gt;+&lt;/span&gt; &lt;span style="color:#40a070"&gt;2&lt;/span&gt;&lt;span style="color:#666"&gt;*&lt;/span&gt;x&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#06287e"&gt;plot&lt;/span&gt;( x, y )&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2014/01/basic_scatterplot.png"&gt;&lt;img src="https://polypompholyx.github.io/wp-content/uploads/2014/01/basic_scatterplot-300x294.png" class="aligncenter size-medium wp-image-1401" width="300" height="294" alt="Basic scatterplot [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;However, for data you have imported into a data frame, the &lt;em&gt;x&lt;/em&gt; and &lt;em&gt;y&lt;/em&gt; variables are now named columns in a data frame, rather than separate vectors. To plot data in data frames, there are two options. The first is to use the &lt;strong&gt;dollar&lt;/strong&gt; &lt;strong&gt;$&lt;/strong&gt; syntax to access the vector of data within the data frame (here &lt;a href="https://polypompholyx.github.io/wp-content/uploads/2014/01/sycamore_seeds.csv"&gt;sycamore_seeds.csv&lt;/a&gt;) by its column name:&lt;/p&gt;</description></item><item><title>Formatting data</title><link>https://polypompholyx.github.io/2014/01/r-formatting-data/</link><pubDate>Mon, 13 Jan 2014 14:03:50 +0000</pubDate><guid>https://polypompholyx.github.io/2014/01/r-formatting-data/</guid><description>&lt;p&gt;Although you will occasionally type data directly into R, more often than not, you will have a spread-sheet containing data which you want to import. R can easily import data from a &lt;strong&gt;comma-separated variable&lt;/strong&gt; (CSV) file. If you open a CSV file using a text-editor, you will see that they look something like this inside (this is &lt;a href="https://polypompholyx.github.io/wp-content/uploads/2014/01/dose_response.csv"&gt;dose_response.csv&lt;/a&gt;):&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;C,mu&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#40a070"&gt;0.125&lt;/span&gt;,&lt;span style="color:#40a070"&gt;0.69&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#40a070"&gt;0.25&lt;/span&gt;,&lt;span style="color:#40a070"&gt;0.68&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#40a070"&gt;0.5&lt;/span&gt;,&lt;span style="color:#40a070"&gt;0.687&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#40a070"&gt;1&lt;/span&gt;,&lt;span style="color:#40a070"&gt;0.63&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#40a070"&gt;2&lt;/span&gt;,&lt;span style="color:#40a070"&gt;0.467&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#40a070"&gt;4&lt;/span&gt;,&lt;span style="color:#40a070"&gt;0.252&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#40a070"&gt;8&lt;/span&gt;,&lt;span style="color:#40a070"&gt;0.091&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#40a070"&gt;16&lt;/span&gt;,&lt;span style="color:#40a070"&gt;0.021&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;The first row contains labels for the columns, and the remaining rows contain the data. The pair of labels, and the pairs of data, are each separated by a comma.&lt;/p&gt;</description></item><item><title>Kinds of data</title><link>https://polypompholyx.github.io/2014/01/r-kinds-of-data/</link><pubDate>Mon, 13 Jan 2014 10:47:27 +0000</pubDate><guid>https://polypompholyx.github.io/2014/01/r-kinds-of-data/</guid><description>&lt;p&gt;The sort of data you want to analyse in R may come in many forms. You will often be trying to model the interaction of some &lt;strong&gt;independent variables&lt;/strong&gt; (a.k.a. input, predictor or explanatory variables, the things you&amp;rsquo;d plot on an &lt;em&gt;x&lt;/em&gt; axis) to explain the values of some &lt;strong&gt;dependent variable&lt;/strong&gt; (a.k.a. output, outcome or response variable, the thing you&amp;rsquo;d put on a &lt;em&gt;y&lt;/em&gt; axis).&lt;/p&gt;</description></item><item><title>Running R code</title><link>https://polypompholyx.github.io/2014/01/r-code/</link><pubDate>Wed, 01 Jan 2014 20:42:33 +0000</pubDate><guid>https://polypompholyx.github.io/2014/01/r-code/</guid><description>&lt;p&gt;The R interpreter is controlled by typing in plain-text commands at its command-line prompt &lt;code&gt;&amp;gt;|&lt;/code&gt;. R commands are just text, so you can prepare a chunk of them in a text-editor, and then copy-and-paste them directly into R to run them immediately. Try copying and pasting the line below at the prompt:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-r" data-lang="r"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#06287e"&gt;print&lt;/span&gt;(&lt;span style="color:#4070a0"&gt;&amp;#34;Hello world&amp;#34;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;Lo and behold, R will spit out what you knew it would:&lt;/p&gt;</description></item><item><title>Teardrops of the swan</title><link>https://polypompholyx.github.io/2013/10/teardrops-of-the-swan/</link><pubDate>Wed, 16 Oct 2013 09:24:35 +0000</pubDate><guid>https://polypompholyx.github.io/2013/10/teardrops-of-the-swan/</guid><description>&lt;p&gt;Last year, the most marvellous thing we saw in the &lt;a href="https://polypompholyx.github.io/2012/10/glockentierchen/" title="Glockentierchen"&gt;pond-water microscopy practical&lt;/a&gt; was a &lt;a href="http://en.wikipedia.org/wiki/Ciliate" title="Ciliates at Wikipedia"&gt;ciliate&lt;/a&gt;, and this year the prize goes to that same clade. Ciliates don&amp;rsquo;t disappoint.&lt;/p&gt;&#10;&lt;p&gt;This is &lt;a href="http://en.wikipedia.org/wiki/Lacrymaria_olor" title="Lacrymaria olor at Wikipedia"&gt;&lt;em&gt;Lacrymaria olor&lt;/em&gt;&lt;/a&gt;, the &amp;ldquo;teardrop of the swan&amp;rdquo;. It&amp;rsquo;s a predator, like the &lt;em&gt;Vorticella&lt;/em&gt; from last year, but rather than sitting rooted to the spot, &lt;em&gt;Lacrymaria&lt;/em&gt; is an actively swimming hunter, with an enormously extendable proboscis that it uses to capture prey:&lt;/p&gt;</description></item><item><title>The Wason card problem</title><link>https://polypompholyx.github.io/2013/10/the-wason-card-problem/</link><pubDate>Wed, 09 Oct 2013 19:09:26 +0000</pubDate><guid>https://polypompholyx.github.io/2013/10/the-wason-card-problem/</guid><description>&lt;p&gt;The &lt;a href="http://www.skepdic.com/refuge/ctlessons/lesson3.html" title="Wason card problem at the Skeptic's dictionary"&gt;Wason card problem&lt;/a&gt; is a well-known psychological test that probes how people think about hypothesis testing. The version I use in one of my first-year lectures is shown below. I think the original version used letters and numbers, but I&amp;rsquo;m a biologist, so obviously I use pictures of dead pets instead of numbers.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;We &lt;strong&gt;know&lt;/strong&gt; that each of the four cards shown below has a letter on one side and an animal on the other.&lt;/li&gt;&#10;&lt;li&gt;We &lt;strong&gt;suspect&lt;/strong&gt; that if there is a vowel on one side of a card, then there is a mammal on the other. Which card(s) do we need to turn over to determine whether this hypothesis is false?&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;It&amp;rsquo;s well worth doing this for real yourself before reading any further:&lt;/p&gt;</description></item><item><title>Organism of the week #17 – Daughter of Ungoliant</title><link>https://polypompholyx.github.io/2013/09/organism-of-the-week-17/</link><pubDate>Sun, 22 Sep 2013 14:40:32 +0000</pubDate><guid>https://polypompholyx.github.io/2013/09/organism-of-the-week-17/</guid><description>&lt;p&gt;I&amp;rsquo;d never noticed that a garden spider&amp;rsquo;s third pair of legs is much shorter than the others before.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:198px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/09/Araneus_diadematus_web.jpg"&gt;&lt;img loading="lazy" alt="Araneus diadematus in web [CC-BY-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2013/09/Araneus_diadematus_web-198x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Araneus diadematus&lt;/em&gt;, common European garden spider&lt;/figcaption&gt;&lt;/figure&gt;</description></item><item><title>Youth of today</title><link>https://polypompholyx.github.io/2013/09/youth-of-today/</link><pubDate>Mon, 02 Sep 2013 14:50:28 +0000</pubDate><guid>https://polypompholyx.github.io/2013/09/youth-of-today/</guid><description>&lt;p&gt;One consequence of being an evolutionary dead-end is that I do not get exposed to new cultural touchstones through watching crap children&amp;rsquo;s telly with offspring I haven&amp;rsquo;t produced. As an alternative, monitoring the dwindling intersection of history I share with my incoming undergraduates serves the same salutary purpose of reminding me how out-of-touch I am.&lt;/p&gt;&#10;&lt;p&gt;The &lt;a href="http://www.beloit.edu/mindset/" title="Beloit Mindset list"&gt;Beloit Mindset&lt;/a&gt; is the definitive tool for rubbing the noses of American faculty into time&amp;rsquo;s unyielding ripsaw, but 2013 is particularly special. This time it&amp;rsquo;s personal. My incoming first-years were mostly born in 1995 or thereabouts, so - as well as post-dating &lt;a href="http://en.wikipedia.org/wiki/Jaws:_The_Revenge" title="Jaws: The Revenge at Wikipedia"&gt;one of the worst premises for a film&lt;/a&gt; by almost a decade - they have also been alive for almost exactly as long as I have been installed at &lt;code&gt;$PLACE_OF_WORK&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Organism of the week #16 - From tiny acorns do mighty oaks grow</title><link>https://polypompholyx.github.io/2013/08/organism-of-the-week-16/</link><pubDate>Fri, 09 Aug 2013 19:31:43 +0000</pubDate><guid>https://polypompholyx.github.io/2013/08/organism-of-the-week-16/</guid><description>&lt;p&gt;There&amp;rsquo;s something very satisfying about growing plants from seed, and none more so than growing a monster from next-to-nothing:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2014/06/Sequoiadendron_giganteum_eighteen_months.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2014/06/Sequoiadendron_giganteum_eighteen_months-300x195.jpg" alt="Sequoiadendron giganteum eighteen months old [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Sequoiadendron giganteum&lt;/em&gt;, eighteen months old&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;At the moment, this little redwood seedling is just 18 months old. Given 500 years or so, it&amp;rsquo;s going to get a wee bit bigger:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:199px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/07/Sequoia_sempervirens.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2013/07/Sequoia_sempervirens-199x300.jpg" alt="Sequoia sempervirens in California [CC-BY-2.0 Alex Lomas]" /&gt;&lt;/a&gt;&lt;figcaption&gt;Somewhat more elderly&lt;em&gt; Sequoia sempervirens&lt;/em&gt; in Muir Woods&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;The seeds of redwoods are absolutely titchy, as you can&amp;rsquo;t see in the picture, below because the idiot who took the photo forgot to put a scale bar on it. Each seed has a mass of about 5 milligrams.&lt;/p&gt;</description></item><item><title>Enzymes provide alternative routes to product with a lower activation energy</title><link>https://polypompholyx.github.io/2013/08/misconceptions-enzyme-energy/</link><pubDate>Fri, 09 Aug 2013 16:04:40 +0000</pubDate><guid>https://polypompholyx.github.io/2013/08/misconceptions-enzyme-energy/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;An enzyme lowers the activation energy for a reaction&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Like a &lt;a href="https://polypompholyx.github.io/2013/04/misconceptions-end-products/" title="Metabolic pathways don’t really have end products"&gt;previous post&lt;/a&gt;, the problem here is not so much that this idea is flat-out wrong, but that it&amp;rsquo;s very prone to misinterpretation.&lt;/p&gt;&#10;&lt;p&gt;Text-books often state that an enzyme, or any other catalyst, lowers the activation energy of a reaction.&lt;/p&gt;&#10;&lt;p&gt;The activation energy for a reaction (written ∆&lt;em&gt;G&lt;sup&gt;‡&lt;/sup&gt;&lt;/em&gt; or &lt;em&gt;E&lt;sub&gt;a&lt;/sub&gt;&lt;/em&gt; in most texts) is supposed to be a measure of how energetically two molecules need to collide with one another to react. If the the molecules collide too slowly, the collision won&amp;rsquo;t be energetic enough to break bonds, and the molecules will leave the collision unchanged. If they collide into one another fast enough, the collision will be energetic enough for a reaction to occur and for product to form.&lt;/p&gt;</description></item><item><title>The wisdom of crowds</title><link>https://polypompholyx.github.io/2013/08/the-wisdom-of-crowds/</link><pubDate>Fri, 09 Aug 2013 09:50:31 +0000</pubDate><guid>https://polypompholyx.github.io/2013/08/the-wisdom-of-crowds/</guid><description>&lt;p&gt;I tried this about five years ago, with more or less the inverse of these results. The nerdy grammar fascist bit of me is pleasantly surprised by the improvement, but poor Karl Albert still has some way to go&amp;hellip;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;[Fischer projection](&lt;a href="https://www.google.co.uk/search?q=%22fischer+projection%22&amp;amp;nfpr=1"&gt;https://www.google.co.uk/search?q=%22fischer+projection%22&amp;amp;nfpr=1&lt;/a&gt; &amp;ldquo;Google for &amp;ldquo;Fischer projection&amp;rdquo;&amp;rdquo;): About 38,800 results&lt;/li&gt;&#10;&lt;li&gt;[Fisher projection](&lt;a href="https://www.google.co.uk/search?q=%22fisher+projection%22&amp;amp;nfpr=1"&gt;https://www.google.co.uk/search?q=%22fisher+projection%22&amp;amp;nfpr=1&lt;/a&gt; &amp;ldquo;Google for &amp;ldquo;Fisher projection&amp;rdquo;&amp;rdquo;): &lt;em&gt;[sic]&lt;/em&gt; About 8,090 results&lt;/li&gt;&#10;&lt;li&gt;[Lineweaver Burk](&lt;a href="https://www.google.co.uk/search?q=%22Lineweaver+Burk%22&amp;amp;nfpr=1"&gt;https://www.google.co.uk/search?q=%22Lineweaver+Burk%22&amp;amp;nfpr=1&lt;/a&gt; &amp;ldquo;Google for &amp;ldquo;Lineweaver Burk&amp;rdquo;&amp;rdquo;): About 234,000 results&lt;/li&gt;&#10;&lt;li&gt;[Lineweaver Burke](&lt;a href="https://www.google.co.uk/search?q=%22Lineweaver+Burke%22&amp;amp;nfpr=1"&gt;https://www.google.co.uk/search?q=%22Lineweaver+Burke%22&amp;amp;nfpr=1&lt;/a&gt; &amp;ldquo;Google for &amp;ldquo;Lineweaver Burke&amp;rdquo;&amp;rdquo;): &lt;em&gt;[sic]&lt;/em&gt; About 28,600 results&lt;/li&gt;&#10;&lt;li&gt;[Henderson Hasselbalch](&lt;a href="https://www.google.co.uk/search?q=%22Henderson+Hasselbalch%22&amp;amp;nfpr=1"&gt;https://www.google.co.uk/search?q=%22Henderson+Hasselbalch%22&amp;amp;nfpr=1&lt;/a&gt; &amp;ldquo;Google for &amp;ldquo;Henderson Hasselbalch&amp;rdquo;&amp;rdquo;): About 168,000 results&lt;/li&gt;&#10;&lt;li&gt;[Henderson Hasselbach](&lt;a href="https://www.google.co.uk/search?q=%22Henderson+Hasselbach%22&amp;amp;nfpr=1"&gt;https://www.google.co.uk/search?q=%22Henderson+Hasselbach%22&amp;amp;nfpr=1&lt;/a&gt; &amp;ldquo;Google for &amp;ldquo;Henderson Hasselbach&amp;rdquo;&amp;rdquo;): &lt;em&gt;[sic]&lt;/em&gt; About About 70,400 results&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Organism of the week #15 – Try not to think about the poo</title><link>https://polypompholyx.github.io/2013/07/organism-of-the-week-15/</link><pubDate>Sun, 28 Jul 2013 12:52:28 +0000</pubDate><guid>https://polypompholyx.github.io/2013/07/organism-of-the-week-15/</guid><description>&lt;p&gt;Apologies for the long gap between postings; it&amp;rsquo;s been exam season at work, and I&amp;rsquo;ve not had much time to blog.&lt;/p&gt;&#10;&lt;p&gt;The garden was buzzing with green-bottles yesterday, thanks to a combination of warm weather and overflowing brown bins. These flies tend to get a bit of a bad wrap, what with the spitting onto dog shit, sucking up the slurry, and then tramping it all over our food.&lt;/p&gt;</description></item><item><title>Organism of the week #14 - Turtles all the way down</title><link>https://polypompholyx.github.io/2013/05/organism-of-the-week-14/</link><pubDate>Sun, 26 May 2013 16:00:02 +0000</pubDate><guid>https://polypompholyx.github.io/2013/05/organism-of-the-week-14/</guid><description>&lt;p&gt;&lt;em&gt;Cassiopea,&lt;/em&gt; which looks rather like a spelling mistake (but isn&amp;rsquo;t), also looks a bit like an anemone (but isn&amp;rsquo;t):&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/05/Cassiopea_sp.jpg"&gt;&lt;img loading="lazy" alt="Cassiopea sp. [CC-BY-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2013/05/Cassiopea_sp-300x225.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Cassiopea&lt;/em&gt; 'upside-down jellyfish' in the aquarium beneath the Palm House at Kew Gardens&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;It&amp;rsquo;s actually a jellyfish, but one that spends most of its time living upside-down (relative to its relatives). Unlike its close relatives, it gets much of its energy from sunbathing rather than from fishing.&lt;/p&gt;</description></item><item><title>Organism of the week #13 - Unlucky for some</title><link>https://polypompholyx.github.io/2013/05/organism-of-the-week-13/</link><pubDate>Fri, 03 May 2013 15:51:02 +0000</pubDate><guid>https://polypompholyx.github.io/2013/05/organism-of-the-week-13/</guid><description>&lt;p&gt;I&amp;rsquo;m a sucker for things that are &lt;a href="https://polypompholyx.github.io/2013/01/organism-of-the-week-4/" title="Organism of the week #4 – Toadstools"&gt;both poisonous and pretty&lt;/a&gt;. &lt;em&gt;Datura metel&lt;/em&gt; definitely meets both criteria.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/05/Datura_metel_flower.jpg"&gt;&lt;img loading="lazy" alt="Datura metel (flower) [CC-BY Alex Lomas]" src="https://polypompholyx.github.io/wp-content/uploads/2013/05/Datura_metel_flower-225x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Datura metel&lt;/em&gt; (flower)&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;These photos were taken in southern Spain, where this purple variety of the plant seemed to have naturalised itself out from someone&amp;rsquo;s garden .&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/05/Datura_metel.jpg"&gt;&lt;img loading="lazy" alt="Datura metel [CC-BY Alex Lomas]" src="https://polypompholyx.github.io/wp-content/uploads/2013/05/Datura_metel-225x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;Ominously looming over the Spanish countryside&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;&lt;em&gt;Datura metel&lt;/em&gt; is closely related to &lt;em&gt;Atropa belladonna&lt;/em&gt;, the &lt;a href="http://en.wikipedia.org/wiki/Atropa_belladonna" title="Deadly nightshade at Wikipedia"&gt;deadly nightshade&lt;/a&gt;, and - like it - the plant contains high concentrations of &lt;a href="http://en.wikipedia.org/wiki/Atropine" title="Atropine at Wikipedia"&gt;atropine&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Scopolamine" title="Scopolamine"&gt;scopolamine&lt;/a&gt;. If eaten, these chemicals clog up receptors in the nervous system, the normal job of which is to cause the body to &amp;ldquo;&lt;a href="http://en.wikipedia.org/wiki/Parasympathetic_nervous_system" title="Parasympathetic nervous system at Wikipedia"&gt;rest and digest&lt;/a&gt;&amp;rdquo;. By blocking these receptors, high doses of atropine or scopolamine cause a &amp;ldquo;flight or fight&amp;rdquo; response: increased heart rate, dry mouth, reduced gut movement, and dilated pupils. The last of these effects is the source of the &lt;em&gt;belladonna&lt;/em&gt; (&amp;lsquo;beautiful lady&amp;rsquo;) of &lt;em&gt;Atropa belladonna&lt;/em&gt;: juice from deadly nightshade was used cosmetically during the middle ages to dilate the pupils alluringly - and, one suspects - alarmingly.&lt;/p&gt;</description></item><item><title>The Michaelis-Menten model is not applicable to most enzymes in a cell</title><link>https://polypompholyx.github.io/2013/05/misconceptions-mmm/</link><pubDate>Wed, 01 May 2013 15:32:48 +0000</pubDate><guid>https://polypompholyx.github.io/2013/05/misconceptions-mmm/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Enzymes in cells can be modelled using the Michaelis-Menten model&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Enzymes can be, and often are, modelled by the &lt;a href="http://en.wikipedia.org/wiki/Michaelis%E2%80%93Menten_kinetics" title="Michaelis-Menten kinetics at Wikipedia"&gt;Michaelis-Menten&lt;/a&gt; (well, Briggs-Haldane) model:&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;v&lt;/em&gt; = &lt;em&gt;v&lt;sub&gt;max&lt;/sub&gt;&lt;/em&gt; · &lt;em&gt;[S]&lt;/em&gt; / (&lt;em&gt;K&lt;sub&gt;M&lt;/sub&gt;&lt;/em&gt; + &lt;em&gt;[S]&lt;/em&gt;)&lt;/p&gt;&#10;&lt;p&gt;Where:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;em&gt;v&lt;/em&gt; is the velocity of the enzyme, which is the rate at which product accumulates&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;v&lt;sub&gt;max&lt;/sub&gt;&lt;/em&gt; is the maximum velocity of the enzyme (&lt;em&gt;i.e.&lt;/em&gt; the velocity to which it tends as substrate concentration increases towards infinity)&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;[S]&lt;/em&gt; is the concentration of substrate&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;K&lt;sub&gt;M&lt;/sub&gt;&lt;/em&gt; is the Michaelis constant for the enzyme, which is the concentration of substrate needed to make the enzyme run at half its maximum velocity&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This model works out very well when you mix together an enzyme and its substrate in a test-tube and measure the initial rate of product accumulation. Here are some data from a practical I run with my first-year biology students, showing a nice hyperbolic curve as predicted by the model:&lt;/p&gt;</description></item><item><title>Lacklustre butterworts</title><link>https://polypompholyx.github.io/2013/04/lacklustre-butterworts/</link><pubDate>Thu, 25 Apr 2013 09:45:42 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/lacklustre-butterworts/</guid><description>&lt;p&gt;I&amp;rsquo;d like to be more excited about this than I am, but &lt;em&gt;Pinguicula agnata&lt;/em&gt; is not the most crowd-pleasing of my butterworts, even whilst in flower (as it currently is). Ho hum. &lt;a href="http://en.wikipedia.org/wiki/Patrilineality" title="Agnatic kinship at Wikipedia"&gt;Strange specific epithet though&lt;/a&gt;. No idea why &lt;a href="http://www.omnisterra.com/bot/cp_home.cgi?name=pinguicula+agnata&amp;amp;submit=Submit&amp;amp;search=accepted" title="Pinguicula agnata at the Carnivorous Plant Database"&gt;Casper&lt;/a&gt; (whoever s/he might have been) thought it appropriate. &lt;a href="http://www.curioustaxonomy.net/" title="Curious taxonomy"&gt;Could be worse though&lt;/a&gt;, I guess.&lt;/p&gt;</description></item><item><title>Metabolic pathways don't really have end products</title><link>https://polypompholyx.github.io/2013/04/misconceptions-end-products/</link><pubDate>Tue, 23 Apr 2013 13:50:51 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/misconceptions-end-products/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;The end product of glycolysis is pyruvate&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;This, and equivalent statements about other metabolic pathways:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;The products of Krebs cycle are ATP/GTP, NADH and carbon dioxide&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;are not exactly wrong, but they are easily over-interpreted in a way that leads to misunderstanding. They are also  easily swallowed as explanations without considering quite what &amp;rsquo;end product&amp;rsquo; is supposed to mean.&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Glycolysis is the metabolic pathway in cells that converts glucose to pyruvate&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Organism of the week #12 - Preying mantis</title><link>https://polypompholyx.github.io/2013/04/organism-of-the-week-12/</link><pubDate>Wed, 17 Apr 2013 11:04:35 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/organism-of-the-week-12/</guid><description>&lt;p&gt;This is mostly just to see if I can get embedded video to work. &lt;em&gt;Mantis religiosa&lt;/em&gt;&amp;hellip;&lt;/p&gt;&#10;&lt;p&gt;&lt;video controls preload="metadata" width="400" height="225" src="https://polypompholyx.github.io/wp-content/uploads/2013/04/Mantis_religiosa.mp4"&gt;&lt;/video&gt;&lt;/p&gt;&#10;&lt;p&gt;Om nomnomnom.&lt;/p&gt;&#10;&lt;p&gt;Explain again why I need to install a plug-in to get WordPress to embed video from its own local media library?&lt;/p&gt;</description></item><item><title>Down amongst the butterworts</title><link>https://polypompholyx.github.io/2013/04/down-amongst-the-butterworts/</link><pubDate>Sun, 14 Apr 2013 17:24:11 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/down-amongst-the-butterworts/</guid><description>&lt;p&gt;I lived within 30 minutes&amp;rsquo; drive of Charles Darwin&amp;rsquo;s house for the whole of my childhood. It&amp;rsquo;s been open to the public since it was acquired by English Heritage in 1998. I&amp;rsquo;ve been a biologist of sorts for about 18 years.&lt;/p&gt;&#10;&lt;p&gt;It&amp;rsquo;s taken me until &lt;em&gt;today&lt;/em&gt; to actually &lt;a href="http://www.english-heritage.org.uk/daysout/properties/home-of-charles-darwin-down-house/" title="Down House at English Heritage"&gt;visit Down House&lt;/a&gt;, and to wander down the famous sandwalk behind the house, where Darwin used to do his thinking. I am a very bad, and very lazy boy. Also a very lucky one to have a husband prepared to schlepp to &lt;a href="https://polypompholyx.github.io/2013/04/organism-of-the-week-11/" title="Organism of the week #11 – Not even primitive"&gt;yet &lt;em&gt;another&lt;/em&gt; greenhouse&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Moose objects and roles</title><link>https://polypompholyx.github.io/2013/04/perl-moose-objects-roles/</link><pubDate>Fri, 12 Apr 2013 15:48:41 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/perl-moose-objects-roles/</guid><description>&lt;h2 id="mr-mooses-newfangled-object-framework"&gt;Mr Moose&amp;rsquo;s Newfangled Object Framework&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://polypompholyx.github.io/2013/02/classes-and-objects/" title="Classes and objects"&gt;Creating objects from scratch by hand-rolling them&lt;/a&gt; is somewhat fragile, and you end up drowning in the writing of endless boilerplate accessor methods. I would strongly suggest that rather than doing objects the hard way, you use the &lt;code&gt;Moose&lt;/code&gt; object framework unless there&amp;rsquo;s some particular constraint (speed, memory footprint) on your code that would make it inappropriate.&lt;/p&gt;</description></item><item><title>The kraken wakes</title><link>https://polypompholyx.github.io/2013/04/the-kraken-wakes/</link><pubDate>Wed, 10 Apr 2013 09:01:20 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/the-kraken-wakes/</guid><description>&lt;p&gt;My &lt;a href="https://polypompholyx.github.io/2012/08/beautiful-butterworts/" title="Beautiful butterworts"&gt;butterworts&lt;/a&gt; have been waiting with unbated breath for the long, slow arrival of the spring. In winter, they cut their losses and &lt;a href="https://polypompholyx.github.io/2013/01/more-butterworts/" title="More butterworts"&gt;produce small non-carnivorous leaves&lt;/a&gt; as there&amp;rsquo;s not enough prey around to justify investment in glue. In spring, they awaken and start making larger, insecticidal leaves again. Tina has already captured a fungus gnat with one of her freshly unfurled leaves.&lt;/p&gt;</description></item><item><title>Enzymes don't necessarily increase the rate at which products are formed</title><link>https://polypompholyx.github.io/2013/04/misconceptions-enzyme-rate/</link><pubDate>Tue, 09 Apr 2013 15:29:39 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/misconceptions-enzyme-rate/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;An enzyme increases the rate of product formation&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;What happens if you add the enzyme malate dehydrogenase to a mixture of of its substrates NAD and malate (both at 1 mM for the sake of argument)?&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="http://www.brenda-enzymes.org/php/result_flat.php4?ecno=1.1.1.37" title="MDH on BRENDA"&gt;A brief look on BRENDA&lt;/a&gt; indicates that the reaction malate dehydrogenase catalyses is:&lt;/p&gt;&#10;&lt;p&gt;malate + NAD → oxaloacetate + NADH&lt;/p&gt;&#10;&lt;p&gt;So you might very well expect that the NAD would oxidise the malate, and the products oxaloacetate and NADH would rapidly accumulate.&lt;/p&gt;</description></item><item><title>The product of succinate dehydrogenase is ubiquinol not reduced flavin</title><link>https://polypompholyx.github.io/2013/04/misconceptions-sdh/</link><pubDate>Tue, 09 Apr 2013 11:20:05 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/misconceptions-sdh/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;Succinate dehydrogenase (SDH) produces reduced flavin (FADH&lt;sub&gt;2&lt;/sub&gt;) as a product&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;This misconception is so widespread, even the exam boards get it wrong. &lt;a href="http://www.edexcel.com/quals/gce/gce08/biology/Pages/default.aspx" title="Edexcel A-level biology specification"&gt;Page 41 of the Edexcel GCE specification for A-level biology (2008 onwards)&lt;/a&gt; states that students should be able to&amp;hellip;&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Describe the role of the Krebs cycle in the complete oxidation of glucose and formation of carbon dioxide (CO&lt;sub&gt;2&lt;/sub&gt;), ATP, reduced NAD and &lt;strong&gt;reduced FAD&lt;/strong&gt; (names of other compounds are not required) and that respiration is a many-stepped process with each step controlled and catalysed by a specific intracellular enzyme. [my emphasis]&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Misconceptions in life sciences</title><link>https://polypompholyx.github.io/2013/04/misconceptions-life-sciences/</link><pubDate>Tue, 09 Apr 2013 11:18:53 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/misconceptions-life-sciences/</guid><description>&lt;p&gt;Last month, I was involved in teaching on a life science communication course, some of the results of which you can &lt;a href="http://en.wikipedia.org/wiki/User:Polypompholyx" title="Polypompholyx's userpage on Wikipedia"&gt;see on Wikipedia&lt;/a&gt;. One of our guest speakers was &lt;a href="http://alomshaha.com/" title="Alom Shaha"&gt;Alom Shaha&lt;/a&gt;, who demonstrated the misconceptions students have about &lt;em&gt;e.g.&lt;/em&gt; the forces acting on a ball in flight:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/04/ball_in_flight.png"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2013/04/ball_in_flight.png" alt="Ball in flight [copyright free]" /&gt;&lt;/a&gt;&lt;figcaption&gt;The ball has recently been thrown from the left of the image, the ground is beneath it.&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;A typical response demonstrates some common misconceptions, particularly about Newton&amp;rsquo;s First Law of Motion:&lt;/p&gt;</description></item><item><title>Organism of the week #11 - Not even primitive</title><link>https://polypompholyx.github.io/2013/04/organism-of-the-week-11/</link><pubDate>Mon, 08 Apr 2013 15:53:49 +0000</pubDate><guid>https://polypompholyx.github.io/2013/04/organism-of-the-week-11/</guid><description>&lt;p&gt;It&amp;rsquo;s not much to look at, but &lt;em&gt;Psilotum nudum&lt;/em&gt;&amp;lsquo;s naked fronds* *hold a cautionary tale for biologists:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:224px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/04/Psilotum_nudum_Oxford.jpg"&gt;&lt;img loading="lazy" alt="Psilotum nudum (Oxford Botanic Gardens) [CC-BY-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2013/04/Psilotum_nudum_Oxford-224x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Psilotum nudum&lt;/em&gt;, finally bagged at the Oxford Botanic Gardens&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;&lt;em&gt;Psilotum&lt;/em&gt; looks a great deal like some of the earliest fossils of land plants. One of the earliest such fossils is &lt;em&gt;Rhynia&lt;/em&gt;, the first specimens of which which were unearthed in Aberdeenshire around 1910, a mere 410 million years after they were originally buried.&lt;/p&gt;</description></item><item><title>Vegetable empire 2013</title><link>https://polypompholyx.github.io/2013/03/vegetable-empire-2013/</link><pubDate>Fri, 29 Mar 2013 23:07:26 +0000</pubDate><guid>https://polypompholyx.github.io/2013/03/vegetable-empire-2013/</guid><description>&lt;p&gt;By popular demand, I have resurrected this phylogeny from my old website for Easter 2013. I have added a number of extra groups, updated the angiosperms according to &lt;a href="http://en.wikipedia.org/wiki/APG_III_system" title="Angiosperm Phylogeny Group System III at Wikipedia"&gt;APG-III&lt;/a&gt;, and repositioned the Gnetales according the apparently ascendent &lt;a href="http://en.wikipedia.org/wiki/Gnetophyta" title="Gnetophytes at Wikipedia"&gt;gnetifer hypothesis&lt;/a&gt;. The rotated titles in the table appear to work in IE9, Chrome and Safari, but YMMV.&lt;/p&gt;</description></item><item><title>Organism of the week #10 - The shapeless cock-of-the-gods</title><link>https://polypompholyx.github.io/2013/03/organism-of-the-week-10/</link><pubDate>Thu, 21 Mar 2013 15:41:43 +0000</pubDate><guid>https://polypompholyx.github.io/2013/03/organism-of-the-week-10/</guid><description>&lt;p&gt;I missed last week, so this week&amp;rsquo;s is a biggun, to make up for my tardiness.&lt;/p&gt;&#10;&lt;p&gt;Bow down before &lt;a href="http://en.wikipedia.org/wiki/Amorphophallus_titanum" title="Amorphophallus titanum at Wikipedia"&gt;The Shapeless Cock-of-the-Gods&lt;/a&gt;:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/03/Amorphophallus_titanum_inflorescence.jpg"&gt;&lt;img loading="lazy" src="https://polypompholyx.github.io/wp-content/uploads/2013/03/Amorphophallus_titanum_inflorescence-225x300.jpg" alt="Amorphophallus titanum inflorescence [CC-BY-2.0 Alex Lomas]" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Amorphophallus titanum&lt;/em&gt; inflorescence&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Apparently, when this plant was filmed for &lt;a href="http://www.bbc.co.uk/nature/life/Titan_arum#p004gx80" title="Titan arum at the BBC"&gt;&lt;em&gt;The Private Life of Plants&lt;/em&gt;&lt;/a&gt; in 1995, David Attenborough decided to invent the term &amp;ldquo;titan arum&amp;rdquo; to avoid using the plant&amp;rsquo;s Latin (well, Greek, really) name on prime-time BBC-1:&lt;/p&gt;</description></item><item><title>Educational RCTs</title><link>https://polypompholyx.github.io/2013/03/educational-rcts/</link><pubDate>Wed, 20 Mar 2013 14:19:56 +0000</pubDate><guid>https://polypompholyx.github.io/2013/03/educational-rcts/</guid><description>&lt;p&gt;Around a decade ago I did a PGCE. Part of that PGCE involved a small-scale investigative study, from which I learnt a great deal about educational research, but not - I suspect - any of the intended learning outcomes.&lt;/p&gt;&#10;&lt;p&gt;I was teaching a year-7 class, whose graphing skills needed improvement. Students would often forget to give &lt;a href="#graphtitles"&gt;meaningful titles*&lt;/a&gt; to graphs. They would forget to label axes; they would join-the-dots rather than adding a line of best fit; and so on.&lt;/p&gt;</description></item><item><title>Organism of the week #9 - Not even what it doesn't seem to be</title><link>https://polypompholyx.github.io/2013/03/organism-of-the-week-9/</link><pubDate>Thu, 07 Mar 2013 14:26:58 +0000</pubDate><guid>https://polypompholyx.github.io/2013/03/organism-of-the-week-9/</guid><description>&lt;p&gt;See &lt;em&gt;Roridula&lt;/em&gt;&amp;rsquo;s* *glistening leaves. See the fly suffocating in her sticky embrace. Quake at her insecticidal prowess.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/03/Roridula_gorgonias.jpg"&gt;&lt;img loading="lazy" alt="Roridula gorgonias [CC-BY-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2013/03/Roridula_gorgonias-225x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Roridula gorgonias&lt;/em&gt; at Kew Gardens&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Or not. Things are not quite what they seem with &lt;em&gt;Roridula&lt;/em&gt;. For sure, she can catch flies, but her carnivory is impotent. She cannot make the enzymes she needs to break down her prey, so they remain stuck to her leaves, and do not give up their fertilising innards to her.&lt;/p&gt;</description></item><item><title>Organism of the week #8 - Brought to you by the number 5 and the letters L, S and D</title><link>https://polypompholyx.github.io/2013/02/organism-of-the-week-8/</link><pubDate>Thu, 28 Feb 2013 10:52:15 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/organism-of-the-week-8/</guid><description>&lt;p&gt;If sea cumbers are an example of intelligent design, then God - sorry, an unspecified supernatural intelligence that &lt;em&gt;somehow&lt;/em&gt; doesn&amp;rsquo;t infringe on the First Amendment - needs to lay off the acid. &lt;a href="http://en.wikipedia.org/wiki/Echinoderm" title="Echinoderms at Wikipedia"&gt;Echinoderms&lt;/a&gt; are what you get when you give evolution the number 5 and half a billion years to piss around.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/02/Pseudocolochirus_violaceus.jpg"&gt;&lt;img loading="lazy" title="Pseudocolochirus violaceus [CC-BY-2.0 Alex Lomas]" src="https://polypompholyx.github.io/wp-content/uploads/2013/02/Pseudocolochirus_violaceus-300x224.jpg" alt="Pseudocolochirus violaceus [CC-BY-2.0 Alex Lomas]" /&gt;&lt;/a&gt;&lt;figcaption&gt;A sea apple (&lt;em&gt;Pseudocolochirus violaceus&lt;/em&gt;) at the &lt;a title="Monterey Bay Aquarium" href="http://www.montereybayaquarium.org/"&gt;Monterey Bay Aquarium&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;You&amp;rsquo;ve simply got to love any animal that can &lt;del&gt;vomit up its own bowels&lt;/del&gt; crap out its own gills to annoy predators.&lt;/p&gt;</description></item><item><title>Classes and objects</title><link>https://polypompholyx.github.io/2013/02/perl-classes-and-objects/</link><pubDate>Wed, 20 Feb 2013 15:14:28 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/perl-classes-and-objects/</guid><description>&lt;h2 id="mr-walls-olde-fashioned-objeckts"&gt;Mr Wall&amp;rsquo;s Olde Fashioned Objeckts&lt;/h2&gt;&#10;&lt;p&gt;&lt;em&gt;Caveat lector&lt;/em&gt;. Despite some cosmetic surgery, this post, &lt;a href="https://polypompholyx.github.io/2013/02/perl-packages-modules/" title="Packages and writing modules"&gt;like the previous one on writing modules&lt;/a&gt;, may show its age. It was originally written when Perl 5 wasn&amp;rsquo;t even 10 years old, and things have moved on substantially since then (and no, I don&amp;rsquo;t mean Perl 6). However, there&amp;rsquo;s a lot of code out there using blessed hashref objects, so before I post something about using the &lt;a href="http://search.cpan.org/dist/Moose/"&gt;&lt;code&gt;Moose&lt;/code&gt;&lt;/a&gt; object framework (&lt;a href="http://users.ox.ac.uk/~oliver/data/files/moose-quick-ref.pdf"&gt;quick-ref guide&lt;/a&gt;), this post will explain how to use objects, and how to hand-roll &amp;ldquo;traditional&amp;rdquo; Perl 5 hashref objects.&lt;/p&gt;</description></item><item><title>Organism of the week #7 - Bringing the kids up on junk</title><link>https://polypompholyx.github.io/2013/02/organism-of-the-week-7/</link><pubDate>Wed, 20 Feb 2013 13:03:30 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/organism-of-the-week-7/</guid><description>&lt;p&gt;Another quick one this week. &lt;a href="https://www.youtube.com/watch?v=m1SHi8ZvzmM" title="League of Gentlemen's Stumphole Cavern sketch on YouTube"&gt;Life finds a way&lt;/a&gt;&amp;hellip;&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/Fulica_atra_nest.jpg"&gt;&lt;img loading="lazy" title="Fulica atra nest [CC-BY-2.0 Alex Lomas]" alt="Fulica atra nest [CC-BY-2.0 Alex Lomas]" src="https://polypompholyx.github.io/wp-content/uploads/2013/01/Fulica_atra_nest-300x199.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;Coot brings up its kids on junk&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;The neighbourhood coots build these landfill nests annually, and I&amp;rsquo;m never quite sure whether to be impressed or appalled.&lt;/p&gt;</description></item><item><title>Packages and writing modules</title><link>https://polypompholyx.github.io/2013/02/perl-packages-modules/</link><pubDate>Wed, 20 Feb 2013 12:34:56 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/perl-packages-modules/</guid><description>&lt;h2 id="modularisation-is-a-virtue"&gt;Modularisation is a virtue&lt;/h2&gt;&#10;&lt;p&gt;The previous post showed you &lt;a href="https://polypompholyx.github.io/2012/10/perl-install-modules/" title="Installing modules"&gt;how to install and use other people&amp;rsquo;s modules&lt;/a&gt;; this post will address how to write your own.&lt;/p&gt;&#10;&lt;p&gt;At some point, you will probably find yourself copying-and-pasting code from one script to another. When you find yourself doing that, you should consider what would happen if it later turns out there is a bug in that pasted code. Ten copy-and-pastes down the line, you&amp;rsquo;re going to wish like hell you&amp;rsquo;d put that bit of code into a module, so you only needed to fix the bug in one place rather than ten.&lt;/p&gt;</description></item><item><title>Exterminate</title><link>https://polypompholyx.github.io/2013/02/exterminate/</link><pubDate>Thu, 14 Feb 2013 15:41:12 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/exterminate/</guid><description>&lt;p&gt;Love my &lt;a href="http://www.redbubble.com/people/jwgrantham/works/6947652-dr-who-dalek-chromatic-tshirt?p=t-shirt" title="Dalek chromatic t-shirt"&gt;new Dalek t-shirt&lt;/a&gt;:&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/02/daleks.jpg"&gt;&lt;img src="https://polypompholyx.github.io/wp-content/uploads/2013/02/daleks-300x251.jpg" class="aligncenter size-medium wp-image-696" width="300" height="251" alt="Dalek chromatic t-shirt [by J. William Grantham]" /&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;This is also &lt;a href="http://30.media.tumblr.com/tumblr_ldi2dikxzz1qel563o1_500.png" title="Dalek crossword"&gt;relevant to my interests&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Organism of the week # 6 - Enigmata of the Gnetales</title><link>https://polypompholyx.github.io/2013/02/organism-of-the-week-6/</link><pubDate>Thu, 14 Feb 2013 13:47:30 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/organism-of-the-week-6/</guid><description>&lt;p&gt;Three for the price of one this week.&lt;/p&gt;&#10;&lt;p&gt;Most seed-bearing plants fall into one of two main groups: the flowering plants (grasses and &lt;a href="https://polypompholyx.github.io/2012/07/magnolia-misunderstanding/" title="The magnolia misunderstanding"&gt;magnolias&lt;/a&gt; and &lt;a href="https://polypompholyx.github.io/2012/08/beautiful-butterworts/" title="Beautiful butterworts"&gt;butterworts&lt;/a&gt; and so on), or the conifers (pines and yews and monkey-puzzles and so on). However, there are three smaller groups of seed-bearing plants that don&amp;rsquo;t fit into this neat division: the &lt;a href="https://polypompholyx.github.io/2012/04/why-living-fossils-need-to-die/" title="Why living fossils need to die"&gt;cycads&lt;/a&gt;, the ginkgo, and an enigmatic group of plants that are sufficiently obscure they haven&amp;rsquo;t attracted a nice englishified name, so we shall have to stick with calling them the &amp;ldquo;Gnetales&amp;rdquo;.&lt;/p&gt;</description></item><item><title>Obfuscated pancakes</title><link>https://polypompholyx.github.io/2013/02/obfuscated-pancakes/</link><pubDate>Tue, 12 Feb 2013 07:21:10 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/obfuscated-pancakes/</guid><description>&lt;p&gt;Anything is better than an recipe that uses volume measurements for highly compressible powders. I&amp;rsquo;m looking at you America, and your ridiculous &amp;lsquo;cup&amp;rsquo; nonsense.&lt;/p&gt;&#10;&lt;p&gt;####### Materials&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;0.110 kg powdered wheat endosperm (without added carbonates or tartrates)&lt;/li&gt;&#10;&lt;li&gt;4.28 mmol NaCl&lt;/li&gt;&#10;&lt;li&gt;2 unfertilised jungle-fowl eggs (between 63 and 73 g in mass)&lt;/li&gt;&#10;&lt;li&gt;275 mL of 75% (v/v) aqueous diluent of cow&amp;rsquo;s milk&lt;/li&gt;&#10;&lt;li&gt;45.0 cm&lt;sup&gt;3&lt;/sup&gt; cow&amp;rsquo;s milk butter&lt;/li&gt;&#10;&lt;li&gt;1 hesperidium from a lemon-tree, cut into ungulae with semidisc dihedrals of π/2&lt;/li&gt;&#10;&lt;li&gt;55.8 mmol granular α-&lt;span class="small"&gt;D&lt;/span&gt;-glucopyranosyl-(1→2)-β-&lt;span class="small"&gt;D&lt;/span&gt;-fructofuranoside (particle size &lt;em&gt;c.&lt;/em&gt; 350 microns)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;####### Method&lt;/p&gt;</description></item><item><title>Illuminating error</title><link>https://polypompholyx.github.io/2013/02/illuminating-error/</link><pubDate>Sat, 09 Feb 2013 11:17:34 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/illuminating-error/</guid><description>&lt;p&gt;Yesterday&amp;rsquo;s first-year biology practical involved forcing the laboratory work-horse bacterium &lt;em&gt;Escherichia coli&lt;/em&gt; to take up a circular piece of DNA called &lt;a href="http://en.wikipedia.org/wiki/PGLO" title="pGLO at Wikipedia"&gt;pGLO&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;pGLO contains a few genes, but the most interesting of these DNA sequences encodes a protein from a jellyfish. This protein fluoresces green under UV light, and goes by the thoroughly unimaginative name of &lt;a href="http://en.wikipedia.org/wiki/Green_fluorescent_protein" title="GFP at Wikipedia"&gt;green fluorescent protein (GFP)&lt;/a&gt;. The production of the GFP is regulated by a second DNA sequence, this time taken from a bacterium. The normal job of this regulatory DNA sequence is to switch on and off the production of enzymes that degrade an uncommon sugar called arabinose. Since bacteria don&amp;rsquo;t often encounter arabinose, &lt;a href="http://en.wikipedia.org/wiki/L-arabinose_operon" title="Arabinose operon at Wikipedia"&gt;the enzymes are not produced unless there is actually some arabinose around to eat&lt;/a&gt;. This save resources.&lt;/p&gt;</description></item><item><title>Organism of the week #5 - Something's wrong here</title><link>https://polypompholyx.github.io/2013/02/organism-of-the-week-5/</link><pubDate>Thu, 07 Feb 2013 10:41:45 +0000</pubDate><guid>https://polypompholyx.github.io/2013/02/organism-of-the-week-5/</guid><description>&lt;p&gt;Busy teaching this week, so it&amp;rsquo;ll have to be a quick one&amp;hellip;&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:199px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/Drosophyllum_lusitanicum.jpg"&gt;&lt;img loading="lazy" title="Drosophyllum lusitanicum [CC-BY-2.0 Alex Lomas]" alt="Drosophyllum lusitanicum [CC-BY-2.0 Alex Lomas]" src="https://polypompholyx.github.io/wp-content/uploads/2013/01/Drosophyllum_lusitanicum-199x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;&lt;em&gt;Drosophyllum lusitanicum&lt;/em&gt;, Portuguese "sundew"&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;I particularly like this plant because of a very specific and unusual thing about its leaves. The more observant of you may spot what it is without having to resort to Wikipedia&amp;hellip;&lt;/p&gt;</description></item><item><title>Organism of the week #4 - Toadstools</title><link>https://polypompholyx.github.io/2013/01/organism-of-the-week-4/</link><pubDate>Thu, 31 Jan 2013 14:11:03 +0000</pubDate><guid>https://polypompholyx.github.io/2013/01/organism-of-the-week-4/</guid><description>&lt;p&gt;Imperial&amp;rsquo;s campus in Berkshire, &lt;a href="http://www3.imperial.ac.uk/silwoodparkcampus" title="Silwood Park at Imperial College London"&gt;Silwood Park&lt;/a&gt;, is a fabulous place to go fungus spotting. The fly agaric (&lt;em&gt;Amanita muscaria&lt;/em&gt;) is very common there as there are a lot of birch trees around, and this fungus forms a &lt;a href="http://en.wikipedia.org/wiki/Mycorrhiza" title="Mycorrhiza at Wikipedia"&gt;symbiosis with the roots&lt;/a&gt; of those trees:&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/Amanita_muscaria.jpg"&gt;&lt;img src="https://polypompholyx.github.io/wp-content/uploads/2013/01/Amanita_muscaria-225x300.jpg" class="aligncenter size-medium wp-image-598" width="225" height="300" alt="Amanita muscaria [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;Fly agarics are rather poisonous (for some value of &amp;lsquo;rather&amp;rsquo;), by virtue of containing &lt;a href="http://en.wikipedia.org/wiki/Muscimol" title="Muscimol at Wikipedia"&gt;muscimol&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Ibotenic_acid" title="Ibotenic acid at Wikipedia"&gt;ibotenic acid&lt;/a&gt;; the former is a psychoactive dissociative that can cause visual and auditory hallucinations. There is an enormous amount of folklore (&lt;em&gt;i.e.&lt;/em&gt; lies) associated with this mushroom that I shan&amp;rsquo;t bother repeating. There&amp;rsquo;s not even much evidence that it&amp;rsquo;s any use for killing flies.&lt;/p&gt;</description></item><item><title>Organism of the week #3 - Switch off all electrical items on the approach</title><link>https://polypompholyx.github.io/2013/01/organism-of-the-week-3/</link><pubDate>Thu, 24 Jan 2013 08:35:23 +0000</pubDate><guid>https://polypompholyx.github.io/2013/01/organism-of-the-week-3/</guid><description>&lt;p&gt;There are many &lt;a href="http://www.computerhistory.org/" title="Computer History Museum at Palo Alto"&gt;good reasons to visit&lt;/a&gt; &lt;a href="http://maps.google.co.uk/maps?q=san+francisco&amp;amp;ll=37.502032,-122.030082&amp;amp;spn=0.049299,0.102267&amp;amp;hnear=San+Francisco,+California,+United+States&amp;amp;gl=uk&amp;amp;t=h&amp;amp;z=15" style="font-size: 12px; line-height: 18px;" title="San Francisco Bay on Google Maps"&gt;San Francisco&lt;/a&gt;, some of them&lt;a href="http://www.sfarmory.com/" title="SF Armory, home of kink.com"&gt; thoroughly unsafe for work&lt;/a&gt;, but one I didn&amp;rsquo;t consider was to see this amazing sight on the approach to the airport:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:225px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/Halobacterium_salinarum.jpg"&gt;&lt;img loading="lazy" alt="Halobacterium salinarum [CC-By-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2013/01/Halobacterium_salinarum-225x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;Salt ponds at the southern end of San Francisco Bay&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;The pink colour in the water is caused by a bloom of single-celled organisms I must refrain from calling bacteria, since they are not. Nor are they eukaryotes, the group to which you and I, and &lt;a href="https://polypompholyx.github.io/2013/01/organism-of-the-week-1/" title="Organism of the week #1"&gt;plants&lt;/a&gt; and fungi and &lt;a href="https://polypompholyx.github.io/2012/10/glockentierchen/" title="Glockentierchen"&gt;protists&lt;/a&gt; belong. The things living in the water are halo&amp;rsquo;bacteria&amp;rsquo;, named before it was realised we needed a whole new classificatory scheme to accommodate their weirdness. &lt;a href="http://microbewiki.kenyon.edu/index.php/Halobacterium" title="Halobacterium at MicrobeWiki"&gt;&lt;em&gt;Halobacterium&lt;/em&gt;&lt;/a&gt; is a member of the &lt;a href="http://en.wikipedia.org/wiki/Archaea" title="Archaea at Wikipedia"&gt;Archaea&lt;/a&gt;, which includes many &lt;a href="http://en.wikipedia.org/wiki/Extremophile" title="Extremophile at Wikipedia"&gt;extremophiles&lt;/a&gt;. Some are capable of living in near-boiling water, hot acid, or - as here - in very salty water indeed, but some are much &lt;a href="http://en.wikipedia.org/wiki/Methanobrevibacter_smithii" title="Methanobrevibacter at Wikipedia"&gt;more commonplace&lt;/a&gt; and allow some humans to set light to their farts.&lt;/p&gt;</description></item><item><title>More butterworts</title><link>https://polypompholyx.github.io/2013/01/more-butterworts/</link><pubDate>Mon, 21 Jan 2013 14:30:35 +0000</pubDate><guid>https://polypompholyx.github.io/2013/01/more-butterworts/</guid><description>&lt;p&gt;After the &lt;a href="https://polypompholyx.github.io/2012/08/beautiful-butterworts/" title="Beautiful butterworts"&gt;trip to Königssee&lt;/a&gt;, I was inspired to retail therapy and bought myself as many butterworts as &lt;a href="http://www.hantsflytrap.com/pinguicula-butterworts-15-c.asp" title="Hampshire Carnivorous Plants"&gt;Hampshire Carnivorous Plants&lt;/a&gt; could supply:&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/Pinguicula_cyclosecta_winter_rosette.jpg"&gt;&lt;br&gt;&#10;&lt;/a&gt;&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/butterwort_collection.jpg"&gt;&lt;img loading="lazy" title="Butterwort collection [CC-BY-SA-3.0 Steve Cook]" alt="Butterwort collection [CC-BY-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2013/01/butterwort_collection-300x104.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;OCPD butterwort collection (&lt;em&gt;Pinguicula&lt;/em&gt; cv. Tina, &lt;em&gt;P&lt;/em&gt;. cv. Wesser, &lt;em&gt;P&lt;/em&gt;. &lt;em&gt;agnata&lt;/em&gt;, &lt;em&gt;P&lt;/em&gt;. &lt;em&gt;cyclosecta&lt;/em&gt;, &lt;em&gt;P&lt;/em&gt;. &lt;em&gt;esseriana&lt;/em&gt;)&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;They did me proud over this summer, with two of them flowering despite the root disturbance (on which butterworts are not keen), the chunky cultivar &amp;lsquo;Tina&amp;rsquo;:&lt;/p&gt;</description></item><item><title>I gone done made me a satire</title><link>https://polypompholyx.github.io/2013/01/i-gone-done-made-me-a-satire/</link><pubDate>Mon, 21 Jan 2013 10:26:35 +0000</pubDate><guid>https://polypompholyx.github.io/2013/01/i-gone-done-made-me-a-satire/</guid><description>&lt;p&gt;Tortured artists have tuberculosis, not iPhone apps.&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/mogrified.jpg"&gt;&lt;img src="https://polypompholyx.github.io/wp-content/uploads/2013/01/mogrified-224x300.jpg" class="aligncenter size-medium wp-image-613" width="224" height="300" alt="Instant Hipstagrammatic [CC-BY-SA-3.0 Mark Zuckerberg, I mean Steve Cook]" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Farewell Marlowe</title><link>https://polypompholyx.github.io/2013/01/farewell-marlowe/</link><pubDate>Sat, 19 Jan 2013 12:49:45 +0000</pubDate><guid>https://polypompholyx.github.io/2013/01/farewell-marlowe/</guid><description>&lt;p&gt;&lt;a href="https://polypompholyx.github.io/2012/09/domestic-science/" title="Domestic science"&gt;Marlowe, the cellar spider&lt;/a&gt; who has been living behind my beside cabinet for the last 18 months, disappeared a few weeks ago, but I wasn&amp;rsquo;t too worried as they&amp;rsquo;d done that before and then turned up again a few weeks later, fatter and of greater span.&lt;/p&gt;&#10;&lt;p&gt;On Monday, however, Alex found Marlowe&amp;rsquo;s mortal remains beneath the bathroom radiator. Marlowe is no more.&lt;/p&gt;</description></item><item><title>Organism of the week #2 - Now wash your hands</title><link>https://polypompholyx.github.io/2013/01/organism-of-the-week-2/</link><pubDate>Thu, 17 Jan 2013 09:42:12 +0000</pubDate><guid>https://polypompholyx.github.io/2013/01/organism-of-the-week-2/</guid><description>&lt;p&gt;I have delusions of being a competent recogniser of things that turn up in UK gardens, but when this started growing in what had previously been a pot of basil in the garden, I was clueless:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/Phycomyces_blakesleeanus.jpg"&gt;&lt;img loading="lazy" alt="Phycomyces blakesleeanus [CC-BY-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2013/01/Phycomyces_blakesleeanus-300x224.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;Mystery thing&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;It looked a little like moss from a distance, but the bibbly bobblies were most certainly not moss-like close-up, and the whole thing had a rather unpleasant squeaky texture. Touching it left brownish-green stains on my fingers. Definitely not a moss.&lt;/p&gt;</description></item><item><title>Organism of the week #1 - Chimaera</title><link>https://polypompholyx.github.io/2013/01/organism-of-the-week-1/</link><pubDate>Thu, 10 Jan 2013 13:26:29 +0000</pubDate><guid>https://polypompholyx.github.io/2013/01/organism-of-the-week-1/</guid><description>&lt;p&gt;I&amp;rsquo;ve been neglecting the blog of late, for reasons too dreary to explain. So I am taking the &lt;a href="http://scienceblogs.com/pharyngula/?s=monday+metazoan" title="Monday metazoans at Pharyngula"&gt;astonishingly&lt;/a&gt; &lt;a href="http://scienceblogs.com/pharyngula/?s=botanical+wednesday" title="Botanical Wednesdays at Pharyngula"&gt;original&lt;/a&gt; &lt;a href="http://www.rcsb.org/pdb/101/motm_archive.do?sort=date" title="Molecule of the Month at RCSB PDB"&gt;step&lt;/a&gt; of racking up a load of &lt;a href="http://www.slate.com/blogs/bad_astronomy.html" title="Bad Astronomy at Slate"&gt;pretty pictures&lt;/a&gt; of organisms to release on a &lt;a href="http://sandwalk.blogspot.co.uk/search?q=monday's+molecule" title="Monday's Molecule at Sandwalk"&gt;semi-regular&lt;/a&gt; basis. I am creativity incarnate.&lt;/p&gt;&#10;&lt;p&gt;Today, +&lt;em&gt;Laburnocytisus&lt;/em&gt; &amp;lsquo;Adamii&amp;rsquo;.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:199px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2013/01/+Laburnocytisus_adamii.jpg"&gt;&lt;img loading="lazy" alt="+Laburnocytisus adamii [CC-BY-2.0 Alex Lomas]" src="https://polypompholyx.github.io/wp-content/uploads/2013/01/+Laburnocytisus_adamii-199x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;+&lt;em&gt;Laburnocytisus &lt;/em&gt;'Adamii&lt;em&gt;'&lt;/em&gt;&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Technically, this is a bit of a cheat for &lt;em&gt;an&lt;/em&gt; organism of the week, as this organism is technically &lt;em&gt;two&lt;/em&gt; organisms, one growing inside of the other.&lt;/p&gt;</description></item><item><title>Glockentierchen</title><link>https://polypompholyx.github.io/2012/10/glockentierchen/</link><pubDate>Wed, 17 Oct 2012 09:20:36 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/glockentierchen/</guid><description>&lt;p&gt;It&amp;rsquo;s nice to find out that - old and jaded as I am - biology can still delight me.&lt;/p&gt;&#10;&lt;p&gt;Earlier this week, I covered a first-year practical teaching microscopy skills to first-years, through the medium of pond water. As well as the usual &lt;a href="http://en.wikipedia.org/wiki/Desmidiales" title="Desmids at Wikipedia"&gt;desmids&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Rotifer" title="Rotifers at Wikipedia"&gt;rotifers&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Daphnia" title="Daphnia at Wikipedia"&gt;&lt;em&gt;Daphnia&lt;/em&gt;&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Nematode" title="Nematodes at Wikipedia"&gt;nematodes&lt;/a&gt;, one lucky student found a little clump of *&lt;a href="http://en.wikipedia.org/wiki/Vorticella" title="Vorticella at Wikipedia"&gt;Vorticella&lt;/a&gt; *(or some near relative, I&amp;rsquo;m not a protistologist!)&lt;/p&gt;</description></item><item><title>Installing modules</title><link>https://polypompholyx.github.io/2012/10/perl-install-modules/</link><pubDate>Fri, 05 Oct 2012 19:35:08 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-install-modules/</guid><description>&lt;h2 id="cpan"&gt;CPAN&lt;/h2&gt;&#10;&lt;p&gt;With &lt;a href="https://polypompholyx.github.io/2012/10/perl-bits-and-bobs/" title="Bits and bobs"&gt;bits and bobs&lt;/a&gt;, we&amp;rsquo;ve covered much of the core functionality of Perl, but &lt;code&gt;perl&lt;/code&gt; also comes with dozens of useful modules in its standard distribution. &lt;a href="http://www.cpan.org" title="CPAN"&gt;CPAN&lt;/a&gt; expands this with an enormous wealth of other contributed modules that you can install. There are three ways of doing this:&lt;/p&gt;&#10;&lt;p&gt;The most direct method is to go directly to &lt;a href="http://search.cpan.org/search?query=parse-recdescent&amp;amp;mode=all" title="Parse::RecDescent on CPAN"&gt;CPAN&lt;/a&gt;, download the module you want (as a zipped tarball), unzip it and untar it, change directory to the folder you&amp;rsquo;ve just unzipped, and build the module with &lt;code&gt;dmake&lt;/code&gt; or whatever &lt;code&gt;make&lt;/code&gt; program you have available. So, if we wanted to install the &lt;code&gt;Parse::RecDescent&lt;/code&gt; module, you&amp;rsquo;d download the &lt;code&gt;Parse-RecDescent-1.967009.tar.gz&lt;/code&gt; tarball from CPAN, and then:&lt;/p&gt;</description></item><item><title>Command line</title><link>https://polypompholyx.github.io/2012/10/perlcommand-line/</link><pubDate>Fri, 05 Oct 2012 09:24:25 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perlcommand-line/</guid><description>&lt;h2 id="command-line-perl"&gt;Command line Perl&lt;/h2&gt;&#10;&lt;p&gt;Despite being a suitable for &lt;a href="https://polypompholyx.github.io/2013/04/perl-moose-objects-roles/" title="Moose objects and roles"&gt;large projects&lt;/a&gt;, Perl grew out of Unix shell scripting, so it allows you to run it from the command line directly:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code class="language-input" data-lang="input"&gt;perl -e &amp;#34;print &amp;#39;Hello&amp;#39;; print 2 + 2;&amp;#34;&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;p&gt;if you&amp;rsquo;re on Windows, or:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;pre tabindex="0"&gt;&lt;code class="language-input" data-lang="input"&gt;perl -e &amp;#39;print q:Hello:; print 2 + 2;&amp;#39;&lt;/code&gt;&lt;/pre&gt;&#10; &lt;/div&gt;&lt;p&gt;if you&amp;rsquo;re on Unix. The quotes matter. The &lt;code&gt;-e&lt;/code&gt; is the execute switch, and there are several others:&lt;/p&gt;</description></item><item><title>Debugging</title><link>https://polypompholyx.github.io/2012/10/perl-debugging/</link><pubDate>Thu, 04 Oct 2012 15:30:16 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-debugging/</guid><description>&lt;h2 id="debuggering"&gt;Debuggering&lt;/h2&gt;&#10;&lt;p&gt;So now you know how Perl works, and how to use it both for scripts and &lt;a href="https://polypompholyx.github.io/2012/10/perlcommand-line/" title="Command line"&gt;one-liners&lt;/a&gt;. But what do you do when it doesn&amp;rsquo;t? And how do you use it for larger projects?&lt;/p&gt;&#10;&lt;p&gt;Perl has &lt;a href="https://rt.perl.org/rt3/Public/Search/Simple.html?Query=Queue%20=%20'perl5'%20AND%20(Status%20=%20'open'%20OR%20Status%20=%20'new'%20OR%20Status%20=%20'stalled')" title="Perl bug tracker"&gt;some bugs&lt;/a&gt; and misfeatures, but it&amp;rsquo;s extremely unlikely that you&amp;rsquo;ve found a new one that&amp;rsquo;s not in the docs, so if a program fails to run as you expect, the chances are it&amp;rsquo;s you that&amp;rsquo;s buggered up. How can you find out where you&amp;rsquo;ve inserted a problem?&lt;/p&gt;</description></item><item><title>Bits and bobs</title><link>https://polypompholyx.github.io/2012/10/perl-bits-and-bobs/</link><pubDate>Thu, 04 Oct 2012 14:20:56 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-bits-and-bobs/</guid><description>&lt;p&gt;This post is a bit of a rag-bag of useful stuff that doesn&amp;rsquo;t fit elsewhere.&lt;/p&gt;&#10;&lt;h2 id="creating-code-at-runtime"&gt;Creating code at runtime&lt;/h2&gt;&#10;&lt;p&gt;There&amp;rsquo;s another way of creating code on the fly, &lt;a href="https://polypompholyx.github.io/2012/10/perl-refs-data-structures/" title="References and data structures"&gt;besides closures&lt;/a&gt;. This is &lt;code&gt;eval&lt;/code&gt;. &lt;code&gt;eval&lt;/code&gt; comes in two flavours: string and block. The block &lt;code&gt;eval&lt;/code&gt; looks like:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bb60d5"&gt;$number&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#235388"&gt;&amp;lt;STDIN&amp;gt;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;my&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$answer&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020"&gt;eval&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#bb60d5"&gt;$answer&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#40a070"&gt;2&lt;/span&gt; &lt;span style="color:#666"&gt;/&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$number&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;};&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$@&lt;/span&gt; ? &lt;span style="color:#4070a0"&gt;&amp;#34;Divide by zero error or similar: $@&amp;#34;&lt;/span&gt; : &lt;span style="color:#bb60d5"&gt;$answer&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;This is a useful (and indeed the only way) to catch exceptions, that is, divide-by-zero errors and their ilk. Note you need a &lt;code&gt;;&lt;/code&gt; at the end of the &lt;code&gt;eval { BLOCK };&lt;/code&gt; because &lt;code&gt;eval&lt;/code&gt; is a statement. If something goes wrong in the block, the special variable &lt;code&gt;$@&lt;/code&gt; is set with what went wrong. So &lt;code&gt;eval&lt;/code&gt;-ling a block allows you to &lt;em&gt;test&lt;/em&gt; Perl code, and make fatal things non-fatal.&lt;/p&gt;</description></item><item><title>References and data structures</title><link>https://polypompholyx.github.io/2012/10/perl-refs-data-structures/</link><pubDate>Thu, 04 Oct 2012 14:06:40 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-refs-data-structures/</guid><description>&lt;h2 id="references"&gt;References&lt;/h2&gt;&#10;&lt;p&gt;Arrays and hashes and lists and &lt;a href="https://polypompholyx.github.io/2012/10/perl-substitute-split-join/" title="Substitutions, splitting and joining"&gt;the manipulation thereof&lt;/a&gt; are very useful, but sometimes you want something a bit less flat; a little more multidimensional. Perl does indeed allow for multidimensional arrays (of a sort), but the syntax is a little odd. Let us enter the world of the &lt;em&gt;reference&lt;/em&gt;.&lt;/p&gt;&#10;&lt;p&gt;References are like signposts to other data. To create a multidimensional array, what you actually need to do is create a normal 1-dimensional array whose elements are these signposts to other arrays. In this way, we can fake a multidimensional array. So, how do we create a reference? There are two ways. The first is to use the &lt;code&gt;\&lt;/code&gt; operator, which creates references to bits of data you have &lt;em&gt;named&lt;/em&gt; and defined previously:&lt;/p&gt;</description></item><item><title>Substitutions, splitting and joining</title><link>https://polypompholyx.github.io/2012/10/perl-substitute-split-join/</link><pubDate>Thu, 04 Oct 2012 12:31:11 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-substitute-split-join/</guid><description>&lt;h2 id="substitution-and-transliteration"&gt;Substitution and transliteration&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://polypompholyx.github.io/2012/10/perl-regexes/" title="Regexes"&gt;Matching patterns&lt;/a&gt; is very useful, but often we want to do something more than just match things. What if you want to replace every occurrence of a certain thing with something else? This is the domain of the &lt;code&gt;s///&lt;/code&gt; and &lt;code&gt;tr///&lt;/code&gt; operators. &lt;code&gt;s///&lt;/code&gt; is the substitution operator, and &lt;code&gt;tr///&lt;/code&gt; is the transliteration operator. &lt;code&gt;tr///&lt;/code&gt; is useful for simple things:&lt;/p&gt;</description></item><item><title>Regexes</title><link>https://polypompholyx.github.io/2012/10/perl-regexes/</link><pubDate>Thu, 04 Oct 2012 09:38:51 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-regexes/</guid><description>&lt;h2 id="regular-expressions"&gt;Regular expressions&lt;/h2&gt;&#10;&lt;p&gt;Before we looked at &lt;a href="https://polypompholyx.github.io/2012/10/perl-files-and-directories/" title="Files and directories"&gt;file manipulation&lt;/a&gt;, we covered &lt;a href="https://polypompholyx.github.io/2012/10/perl-conditionals/" title="Conditionals"&gt;how to write comparisons with conditionals&lt;/a&gt;:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;if&lt;/span&gt; ( &lt;span style="color:#bb60d5"&gt;$string&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;eq&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;Something we&amp;#39;re interested in&amp;#34;&lt;/span&gt; ) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;Ha, ha!&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;else&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;Boring&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;What happens if there&amp;rsquo;s more than one thing you&amp;rsquo;re interested in though? Writing a gigantic &lt;code&gt;if/elsif/else&lt;/code&gt; structure or even a  &lt;code&gt;given/when&lt;/code&gt; switch will make your head spin, and you&amp;rsquo;ll never be sure you&amp;rsquo;ve got every possible version of the thing you&amp;rsquo;d like to match. Take for example, matching something as simple as a letter, number or underscore character:&lt;/p&gt;</description></item><item><title>Files and directories</title><link>https://polypompholyx.github.io/2012/10/perl-files-and-directories/</link><pubDate>Wed, 03 Oct 2012 20:34:09 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-files-and-directories/</guid><description>&lt;h2 id="reading-and-writing-to-files"&gt;Reading and writing to files&lt;/h2&gt;&#10;&lt;p&gt;The &lt;a href="https://polypompholyx.github.io/2012/10/perlsymbol-table/" title="Symbol table"&gt;symbol table&lt;/a&gt; is a little esoteric, so let&amp;rsquo;s get back to practicalities. How do you mess about with files and directories in Perl? A simple example:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#60a0b0;font-style:italic"&gt;#!/usr/bin/perl&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;use&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;strict&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;use&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;warnings&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020"&gt;open&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;my&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$INPUT&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;&amp;lt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;C:/autoexec.bat&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;or&lt;/span&gt; &lt;span style="color:#007020"&gt;die&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;Can&amp;#39;t open C:/autoexec.bat for reading $!\n&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020"&gt;open&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;my&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$OUTPUT&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;&amp;gt;&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;C:/copied.bat&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;or&lt;/span&gt; &lt;span style="color:#007020"&gt;die&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;Can&amp;#39;t open C:/copied.bat for writing $!\n&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;while&lt;/span&gt; ( &lt;span style="color:#235388"&gt;&amp;lt;$INPUT&amp;gt;&lt;/span&gt; ) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;Writing line $_&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$OUTPUT&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;$_&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;Here we open two files, one to read from, one to write to. The &lt;code&gt;$INPUT&lt;/code&gt; and &lt;code&gt;$OUTPUT&lt;/code&gt; are &lt;em&gt;filehandles&lt;/em&gt;, just like &lt;code&gt;STDIN&lt;/code&gt; was, only we have created these two ourselves with &lt;code&gt;open&lt;/code&gt;. It&amp;rsquo;s a good idea to give filehandles uppercase names, as these are less likely to conflict with Perl keywords (we don&amp;rsquo;t want to try reading from a filehandle called &lt;code&gt;print&lt;/code&gt; for example).&lt;/p&gt;</description></item><item><title>Symbol table</title><link>https://polypompholyx.github.io/2012/10/perl-symbol-table/</link><pubDate>Wed, 03 Oct 2012 19:47:55 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-symbol-table/</guid><description>&lt;h2 id="symbols"&gt;Symbols&lt;/h2&gt;&#10;&lt;p&gt;That&amp;rsquo;s pretty much &lt;a href="https://polypompholyx.github.io/2012/10/perl-more-hashes-sorting/" title="More hashes and sorting"&gt;everything for hashes&lt;/a&gt;, except for one topic usually missed out from introductory tutorials (possibly rightly!) This post will tell you a little about the innards of what you&amp;rsquo;ve been doing when you create variables. It&amp;rsquo;s not really necessary to know this stuff to be able to use Perl for day-to-day stuff, so do feel free to skip to the &lt;a href="https://polypompholyx.github.io/2012/10/perl-files-and-directories/" title="Files and directories"&gt;next post&lt;/a&gt; if this one becomes too esoteric.&lt;/p&gt;</description></item><item><title>More hashes and sorting</title><link>https://polypompholyx.github.io/2012/10/perl-more-hashes-sorting/</link><pubDate>Wed, 03 Oct 2012 19:21:03 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-more-hashes-sorting/</guid><description>&lt;h2 id="hash-manipulation-each-delete-exists"&gt;Hash manipulation: &lt;code&gt;each&lt;/code&gt;, &lt;code&gt;delete&lt;/code&gt;, &lt;code&gt;exists&lt;/code&gt;&lt;/h2&gt;&#10;&lt;p&gt;Before we got side-tracked with &lt;a href="https://polypompholyx.github.io/2012/10/perl-bondage-discipline-subs/" title="Bondage, discipline and subroutines"&gt;subroutines&lt;/a&gt; and &lt;a href="https://polypompholyx.github.io/2012/10/perl-conditionals/" title="Conditionals"&gt;conditionals&lt;/a&gt;, &lt;a href="https://polypompholyx.github.io/2012/10/arrays-and-slices/" title="Arrays and slices"&gt;we covered arrays&lt;/a&gt; in some detail, and saw &lt;a href="https://polypompholyx.github.io/2012/10/perl-bondage-discipline-subs/" title="Bondage, discipline and subroutines"&gt;the various functions&lt;/a&gt;, like &lt;code&gt;push&lt;/code&gt; and &lt;code&gt;pop&lt;/code&gt; that you can torture them with. The functions for torturing &lt;a href="https://polypompholyx.github.io/2012/10/perl-hashes/" title="Hashes"&gt;hashes&lt;/a&gt; are our next port of call. Perl stores the &lt;code&gt;key =&amp;gt; value&lt;/code&gt; pairs of a hash in essentially random order (well, unhelpful, if not actually random), so operations like &lt;code&gt;push&lt;/code&gt;ing and &lt;code&gt;pop&lt;/code&gt;ping don&amp;rsquo;t make any sense, as hash items are not ordered in a useful fashion. We&amp;rsquo;ve already seen how to extract single items and slices of hash:&lt;/p&gt;</description></item><item><title>Conditionals</title><link>https://polypompholyx.github.io/2012/10/perl-conditionals/</link><pubDate>Wed, 03 Oct 2012 15:33:33 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-conditionals/</guid><description>&lt;h2 id="conditionals-if-and-unless"&gt;Conditionals: &lt;code&gt;if&lt;/code&gt; and &lt;code&gt;unless&lt;/code&gt;&lt;/h2&gt;&#10;&lt;p&gt;We&amp;rsquo;re on the home-straight in &lt;a href="https://polypompholyx.github.io/2012/10/perl-bondage-discipline-subs/" title="Bondage, discipline and subroutines"&gt;understanding the code from the last post&lt;/a&gt; now:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#60a0b0;font-style:italic"&gt;#!/usr/bin/perl&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;use&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;strict&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;use&lt;/span&gt; &lt;span style="color:#0e84b5;font-weight:bold"&gt;warnings&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;my&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;@peas&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#c65d09"&gt;qw/chick mushy split/&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;while&lt;/span&gt; ( &lt;span style="color:#007020;font-weight:bold"&gt;my&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$type&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#007020"&gt;pop&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;@peas&lt;/span&gt; ) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;$type peas are &amp;#34;&lt;/span&gt;, flavour( &lt;span style="color:#bb60d5"&gt;$type&lt;/span&gt; ), &lt;span style="color:#4070a0"&gt;&amp;#34;.\n&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;sub&lt;/span&gt; &lt;span style="color:#06287e"&gt;flavour&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;my&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$query&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#007020"&gt;shift&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;@_&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;my&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;@peas&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#c65d09"&gt;qw/chick garbanzo/&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;foreach&lt;/span&gt; ( &lt;span style="color:#bb60d5"&gt;@peas&lt;/span&gt; ) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;if&lt;/span&gt; ( &lt;span style="color:#bb60d5"&gt;$query&lt;/span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;eq&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$_&lt;/span&gt; ) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;return&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;delicious&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;return&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;disgusting&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;The very last bit is the &lt;em&gt;conditional&lt;/em&gt; statement in the &lt;code&gt;flavour()&lt;/code&gt; subroutine. This part compares the type of pea the subroutine was passed with all the peas in its own &lt;code&gt;@peas&lt;/code&gt;, and if it matches any of them, the subroutine returns &amp;lsquo;delicious&amp;rsquo;. The &lt;code&gt;if&lt;/code&gt; conditional has the general form:&lt;/p&gt;</description></item><item><title>Bondage, discipline and subroutines</title><link>https://polypompholyx.github.io/2012/10/perl-bondage-discipline-subs/</link><pubDate>Wed, 03 Oct 2012 14:46:29 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-bondage-discipline-subs/</guid><description>&lt;h2 id="lexical-my-variables-and-use-strict"&gt;Lexical &lt;code&gt;my&lt;/code&gt; variables and &lt;code&gt;use strict;&lt;/code&gt;&lt;/h2&gt;&#10;&lt;p&gt;You may have noticed &lt;a href="https://polypompholyx.github.io/2012/10/perl-pretty-loops-nicer-code/" title="Prettier loops and nicer code"&gt;a little thing I slipped in the last script&lt;/a&gt;: the keyword &lt;code&gt;my&lt;/code&gt; in the &lt;code&gt;chomp&lt;/code&gt;. &lt;code&gt;my&lt;/code&gt; is a very important keyword, although you&amp;rsquo;ll note that it doesn&amp;rsquo;t seem to make any difference if you delete it and run the program. What &lt;code&gt;my&lt;/code&gt; does is pin a variable to a particular part of your program, so that it can&amp;rsquo;t be seen from elsewhere. This may not seem very useful at the moment, but is exceedingly important as your programs get bigger. Such as here:&lt;/p&gt;</description></item><item><title>Prettier loops and nicer code</title><link>https://polypompholyx.github.io/2012/10/perl-pretty-loops-nicer-code/</link><pubDate>Wed, 03 Oct 2012 14:12:43 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-pretty-loops-nicer-code/</guid><description>&lt;h2 id="idiomatic-perl"&gt;Idiomatic Perl&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://polypompholyx.github.io/2012/10/perl-simple-loops/" title="Simple loops"&gt;The original code we were studying is very ugly&lt;/a&gt;, and Perl makes writing short, diabetogenic code easy. It also makes writing shoddy, abominable code easy too, but I wouldn&amp;rsquo;t recommend this as a course of action. A much more attractive way of writing the &lt;a href="https://polypompholyx.github.io/2012/10/perl-simple-loops/" title="Simple loops"&gt;horrible code from the last page&lt;/a&gt; is:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#60a0b0;font-style:italic"&gt;#!/usr/bin/perl&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;What is your name?&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020"&gt;chomp&lt;/span&gt;( &lt;span style="color:#bb60d5"&gt;$name&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#235388"&gt;&amp;lt;STDIN&amp;gt;&lt;/span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bb60d5"&gt;@beans&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#c65d09"&gt;qw( adzuki haricot mung )&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;\@beans contains &amp;#34;&lt;/span&gt;, &lt;span style="color:#007020"&gt;scalar&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;@beans&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34; members, @beans\n&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;foreach&lt;/span&gt; ( &lt;span style="color:#bb60d5"&gt;@beans&lt;/span&gt; ) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;$name likes $_ beans.\n&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;This is much tidier, and probably more readable even without any further explanation. There are a few new things though. The assignment of &lt;code&gt;&amp;lt;STDIN&amp;gt;&lt;/code&gt; (&amp;quot;&lt;code&gt;Steve\n&lt;/code&gt;&amp;quot; or whatever) to &lt;code&gt;$name&lt;/code&gt; actually &lt;em&gt;returns&lt;/em&gt; the variable &lt;code&gt;$name&lt;/code&gt;, which is exactly what &lt;code&gt;chomp&lt;/code&gt; needs to work on. So those two lines can be combined:&lt;/p&gt;</description></item><item><title>Simple loops</title><link>https://polypompholyx.github.io/2012/10/perl-simple-loops/</link><pubDate>Wed, 03 Oct 2012 13:55:29 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-simple-loops/</guid><description>&lt;h2 id="loops"&gt;Loops&lt;/h2&gt;&#10;&lt;p&gt;Hopefully you&amp;rsquo;re now happy with the fundamental data types in Perl: scalars, &lt;a href="https://polypompholyx.github.io/2012/10/arrays-and-slices/" title="Arrays and slices"&gt;arrays&lt;/a&gt; and &lt;a href="https://polypompholyx.github.io/2012/10/perl-hashes/" title="Hashes"&gt;hashes&lt;/a&gt;, so most of the script below shouldn&amp;rsquo;t be too mysterious:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#60a0b0;font-style:italic"&gt;#!/usr/bin/perl&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;What is your name?\n&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bb60d5"&gt;$name&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#235388"&gt;&amp;lt;STDIN&amp;gt;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020"&gt;chomp&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;$name&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bb60d5"&gt;@beans&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; ( &lt;span style="color:#4070a0"&gt;&amp;#34;adzuki&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;haricot&amp;#34;&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34;mung&amp;#34;&lt;/span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt;( &lt;span style="color:#4070a0"&gt;&amp;#34;\@beans contains &amp;#34;&lt;/span&gt;, &lt;span style="color:#007020"&gt;scalar&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;@beans&lt;/span&gt;, &lt;span style="color:#4070a0"&gt;&amp;#34; members: @beans\n&amp;#34;&lt;/span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;for&lt;/span&gt; ( &lt;span style="color:#bb60d5"&gt;$i&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#40a070"&gt;0&lt;/span&gt;; &lt;span style="color:#bb60d5"&gt;$i&lt;/span&gt; &lt;span style="color:#666"&gt;&amp;lt;&lt;/span&gt; &lt;span style="color:#007020"&gt;scalar&lt;/span&gt; &lt;span style="color:#bb60d5"&gt;@beans&lt;/span&gt;; &lt;span style="color:#bb60d5"&gt;$i&lt;/span&gt;&lt;span style="color:#666"&gt;++&lt;/span&gt; ) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;$name likes $beans[$i] beans.\n&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;@beans contains 3 members: adzuki haricot mung&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Steve likes adzuki beans.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Steve likes haricot beans.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Steve likes mung beans.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;Don&amp;rsquo;t get scared by the line-noise (&lt;em&gt;i.e.&lt;/em&gt; all the punctuation): if you do, &lt;a href="https://polypompholyx.github.io/2012/10/perl-regexes/" title="Regexes"&gt;regexes&lt;/a&gt; will probably be fatal. The very beginning should be quite obvious now:&lt;/p&gt;</description></item><item><title>Hashes</title><link>https://polypompholyx.github.io/2012/10/perl-hashes/</link><pubDate>Wed, 03 Oct 2012 13:20:52 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-hashes/</guid><description>&lt;h2 id="hashes"&gt;Hashes&lt;/h2&gt;&#10;&lt;p&gt;Perl actually has two sorts of array. Simple arrays like &lt;a href="https://polypompholyx.github.io/2012/10/arrays-and-slices/" title="Arrays and slices"&gt;those we&amp;rsquo;ve already discussed&lt;/a&gt; are simply called arrays. The second sort of array is called an &lt;em&gt;associative array&lt;/em&gt;, or &lt;em&gt;hash.&lt;/em&gt; They&amp;rsquo;re very similar to dictionaries, if you&amp;rsquo;re a Python programmer. Hashes are created with a &lt;code&gt;%&lt;/code&gt; for &lt;code&gt;%we_ran_out_of_sensible_symbols&lt;/code&gt;, and contain pairs of data (ah, maybe it was for the two blobs in a &lt;code&gt;%&lt;/code&gt; sign) called &lt;code&gt;keys&lt;/code&gt; and &lt;code&gt;values&lt;/code&gt;. Here are some typical hash creations:&lt;/p&gt;</description></item><item><title>Arrays and slices</title><link>https://polypompholyx.github.io/2012/10/arrays-and-slices/</link><pubDate>Wed, 03 Oct 2012 13:06:13 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/arrays-and-slices/</guid><description>&lt;h2 id="types"&gt;Types&lt;/h2&gt;&#10;&lt;p&gt;You &lt;a href="https://polypompholyx.github.io/2012/10/perl-input-and-output/" title="Input and output"&gt;should now be able to&lt;/a&gt; create very simple scripts that can take input from the keyboard, assign it to scalar variables, and echo it back to the screen with &lt;code&gt;print&lt;/code&gt;. Time for some technicalities.&lt;/p&gt;&#10;&lt;p&gt;Perl is often (and wrongly!) termed a &lt;em&gt;weakly typed&lt;/em&gt; language. For those of you coming from bondage and discipline languages like C or Java, this means Perl does not require you to explicitly point out what kind of variable your variables are: &lt;code&gt;float&lt;/code&gt;s, &lt;code&gt;double&lt;/code&gt;s, &lt;code&gt;int&lt;/code&gt;egers, &lt;code&gt;char&lt;/code&gt;acters, &lt;code&gt;bool&lt;/code&gt;eans, &lt;code&gt;string&lt;/code&gt;s, &lt;em&gt;etc&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Input and output</title><link>https://polypompholyx.github.io/2012/10/perl-input-and-output/</link><pubDate>Wed, 03 Oct 2012 12:27:14 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-input-and-output/</guid><description>&lt;h2 id="input"&gt;Input&lt;/h2&gt;&#10;&lt;p&gt;The &amp;ldquo;&lt;a href="https://polypompholyx.github.io/2012/10/perl-not-a-hello-world-script/" title="Not a hello world script"&gt;not a hello world script&lt;/a&gt;&amp;rdquo; script is a little dull. Let&amp;rsquo;s try something a more useful:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#60a0b0;font-style:italic"&gt;#!/usr/bin/perl&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;What is your name?\n&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bb60d5"&gt;$name&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#235388"&gt;&amp;lt;STDIN&amp;gt;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020"&gt;chomp&lt;/span&gt;( &lt;span style="color:#bb60d5"&gt;$name&lt;/span&gt; );&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;$name likes beans.\n&amp;#34;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;Don&amp;rsquo;t forget the semicolons at the end of each statement.&lt;/p&gt;&#10;&lt;p&gt;The first line of this program should be obvious now, but the others may need a little explaining. The second line contains the line-reading operator &lt;code&gt;&amp;lt; &amp;gt;&lt;/code&gt; and the &lt;code&gt;STDIN&lt;/code&gt; &lt;em&gt;filehandle&lt;/em&gt;. &lt;code&gt;STDIN&lt;/code&gt; (the &amp;ldquo;standard input filehandle&amp;rdquo;) is automatically opened whenever you run &lt;code&gt;perl&lt;/code&gt;, and is where things inputted through pressing buttons on the keyboard live. If you surround a filehandle like &lt;code&gt;STDIN&lt;/code&gt; with the &lt;code&gt;&amp;lt; &amp;gt;&lt;/code&gt; line reading angle brackets, you will read a line from that filehandle. A line to &lt;code&gt;perl&lt;/code&gt; is some text followed by a newline character, hence:&lt;/p&gt;</description></item><item><title>Not a hello world script</title><link>https://polypompholyx.github.io/2012/10/perl-not-a-hello-world-script/</link><pubDate>Wed, 03 Oct 2012 12:12:16 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/perl-not-a-hello-world-script/</guid><description>&lt;p&gt;Rather than employing the usual tactic of showing you how to write the accursed &amp;lsquo;hello world&amp;rsquo; program, so beloved of all computer programming introductions, let&amp;rsquo;s start with something entirely different:&lt;/p&gt;&#10;&lt;div class="code-block"&gt;&#10; &lt;button class="code-copy" type="button" hidden aria-label="Copy code to clipboard"&gt;&#10; &lt;span class="code-copy-label" aria-hidden="true"&gt;Copy&lt;/span&gt;&#10; &lt;/button&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-perl" data-lang="perl"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;print&lt;/span&gt; &lt;span style="color:#4070a0"&gt;&amp;#34;This is most definitely not a hello world script.\n&amp;#34;&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&lt;p&gt;If you save this as the file &lt;code&gt;thing.pl&lt;/code&gt;, or similar, then you can run it from the command line (&lt;em&gt;i.e.&lt;/em&gt; DOS prompt, bash shell, terminal window) thusly:&lt;/p&gt;</description></item><item><title>Educated guesswork</title><link>https://polypompholyx.github.io/2012/10/educated-guesswork/</link><pubDate>Wed, 03 Oct 2012 11:15:46 +0000</pubDate><guid>https://polypompholyx.github.io/2012/10/educated-guesswork/</guid><description>&lt;p&gt;Someone recently asked me, &amp;ldquo;How many cells are there in the human body?&amp;rdquo;&lt;/p&gt;&#10;&lt;p&gt;I have quite a lot of correspondence of this kind, just to be clear.&lt;/p&gt;&#10;&lt;p&gt;I have to confess my first thought was &amp;ldquo;Not a bloody clue&amp;rdquo;. My second thought was &amp;ldquo;I bet the Internet knows&amp;rdquo;; but my third was &amp;ldquo;The Internet is full of bloody lies&amp;rdquo;.&lt;/p&gt;&#10;&lt;p&gt;My fourth thought went on for so long, it became part of the introduction to cell biology and genetics lecture I gave this year, and is reproduced below for your pleasure.&lt;/p&gt;</description></item><item><title>Domestic science</title><link>https://polypompholyx.github.io/2012/09/domestic-science/</link><pubDate>Sun, 30 Sep 2012 13:43:19 +0000</pubDate><guid>https://polypompholyx.github.io/2012/09/domestic-science/</guid><description>&lt;p&gt;Humans share their homes with a surprising number of other species, even discounting the ones they deliberately import to serve as allergen distribution machines. Autumn is a particularly good time to go spotting the spiders that cohabit with us, as many of them are grown fat and sleek on the flies of summer, and are therefore easy to spot.&lt;/p&gt;&#10;&lt;p&gt;The cellar spider (&lt;em&gt;Pholcus phalangioides&lt;/em&gt;) is sometimes called the daddy long-legs, but unhelpfully, this refers to at least two other whole groups of animals, the &lt;a href="http://en.wikipedia.org/wiki/Opiliones" title="Harvestmen at Wikipedia"&gt;harvestmen&lt;/a&gt;, and the &lt;a href="http://en.wikipedia.org/wiki/Crane_fly" title="Crane-flies at WIkipedia"&gt;crane-flies&lt;/a&gt;, neither of which are closely related. The confusion this causes is one reason why biologists insist on using Latin names instead.&lt;/p&gt;</description></item><item><title>Far from the light of day, and somewhere near Hampstead</title><link>https://polypompholyx.github.io/2012/09/far-from-the-light-of-day/</link><pubDate>Tue, 25 Sep 2012 19:33:09 +0000</pubDate><guid>https://polypompholyx.github.io/2012/09/far-from-the-light-of-day/</guid><description>&lt;p&gt;&lt;a href="http://www.subbrit.org.uk/sb-sites/sites/p/paddock/index2.shtml" title="Paddock on SubBrit"&gt;Paddock is the codename of a bunker&lt;/a&gt; that was built in the late 1930s as a back-up for the better known Cabinet War Rooms located in Whitehall.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:224px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2012/09/cabinet_war_room_junction_box.jpg"&gt;&lt;img loading="lazy" title="Cabinet war room junction box at Paddock [CC-BY-SA-3.0 Steve Cook]" alt="Cabinet war room junction box at Paddock [CC-BY-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2012/09/cabinet_war_room_junction_box-224x300.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;Junction box in the upper basement floor of the Paddock bunker; CWR-AWR almost certainly stands for 'Cabinet War Room - Air Raid Warning'&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;The bunker was abandoned at the end of the war, and was only used intermittently after that by the Post Office, whose Research Station sat atop it. In 1998, the surface site and the bunker were sold off, and a housing development was built on top. Unfortunately, during the development, the concrete slab that kept the bunker watertight was damaged, and since then, Paddock has been slowly decaying.&lt;/p&gt;</description></item><item><title>A brief history of rubbish</title><link>https://polypompholyx.github.io/2012/09/a-brief-history-of-rubbish/</link><pubDate>Mon, 10 Sep 2012 15:10:42 +0000</pubDate><guid>https://polypompholyx.github.io/2012/09/a-brief-history-of-rubbish/</guid><description>&lt;p&gt;In 1972, the geneticist Susumu Ohno coined the term &amp;ldquo;junk DNA&amp;rdquo; to explain why the genomes of closely related organisms vary so much in size:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;The mammalian genome [&amp;hellip;] contains roughly [&amp;hellip;] 3.0 × 10&lt;sup&gt;9&lt;/sup&gt; base pairs. This is at least 750 times the genome size of &lt;em&gt;E. coli&lt;/em&gt;. If we take the simplistic assumption that the number of genes contained is proportional to to the genome size, we would have to conclude that 3 million genes or so are contained in our genome. The falseness of such an assumption becomes clear when we realize that  the genome of the lowly lungfish and salamanders can be 36 times greater than our own.&lt;/p&gt;&#10;&lt;p&gt;Ohno, S. (1972) &lt;em&gt;So much &amp;lsquo;junk&amp;rsquo; DNA in our genome&lt;/em&gt;, In: Smith, H. H. (ed) Evolution of genetic systems, 23, 366-370.&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Beautiful butterworts</title><link>https://polypompholyx.github.io/2012/08/beautiful-butterworts/</link><pubDate>Sun, 26 Aug 2012 10:14:45 +0000</pubDate><guid>https://polypompholyx.github.io/2012/08/beautiful-butterworts/</guid><description>&lt;p&gt;A recent hike in &lt;a href="http://en.wikipedia.org/wiki/K%C3%B6nigssee" title="Königssee on Wikipedia"&gt;Königssee&lt;/a&gt; to see &lt;a href="http://en.wikipedia.org/wiki/R%C3%B6thbachfall" title="Röthbach waterfall on Wikipedia"&gt;Germany&amp;rsquo;s highest waterfall&lt;/a&gt; was &lt;a href="http://www.alexlomas.com/blog/2012/08/today-we-drove-5km-took-a-boat-12km/" title="Europe's highest waterfall on Alex's blog"&gt;a little underwhelming&lt;/a&gt; but the hydrological shortcomings were entirely forgotten when I spotted this beauty growing in a crevice above the lake:&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:300px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2012/08/Pinguicula_sp.jpg"&gt;&lt;img loading="lazy" title="Pinguicula sp. [cc-by-sa-3.0 Steve Cook]" alt="Pinguicula sp. [cc-by-sa-3.0 Steve Cook]: unknown butterwort from German Alps, probably P. vulgaris or P. alpina. Tongue-shaped lime-green leaves form tight rosette, surfaces are covered with sticky mucilage secreted by tiny mucilaginous glands" src="https://polypompholyx.github.io/wp-content/uploads/2012/08/Pinguicula_sp-300x224.jpg" /&gt;&lt;/a&gt;&lt;figcaption&gt;Unknown butterwort (&lt;em&gt;Pinguicula&lt;/em&gt; sp.) in German Alps, probably &lt;em&gt;P. vulgaris&lt;/em&gt; or &lt;em&gt;P. alpina&lt;/em&gt;.&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Butterworts are amongst my favourite carnivorous plants: their murderous ways are so delicately concealed. Who would suspect such a pretty bank of flowers to be a veritable morgue of fungus gnats?&lt;/p&gt;</description></item><item><title>Farewell Gore Vidal</title><link>https://polypompholyx.github.io/2012/08/farewell-gore-vidal/</link><pubDate>Wed, 01 Aug 2012 09:26:01 +0000</pubDate><guid>https://polypompholyx.github.io/2012/08/farewell-gore-vidal/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;There is no human problem which could not be solved if people would simply do as I advise&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;Being an avowed atheist, a form of words appropriate to death has always eluded me: &amp;ldquo;rest in peace&amp;rdquo; has always seemed inappropriate, implying - as it does - that something is left after death that could &lt;em&gt;be&lt;/em&gt; at rest or otherwise. In similar vein, it has always struck me as terribly unfortunate that the one person who will never be aware of an obituary is the deceased; Alfred Nobel being a notable and salutary exception.&lt;/p&gt;</description></item><item><title>The magnolia misunderstanding</title><link>https://polypompholyx.github.io/2012/07/magnolia-misunderstanding/</link><pubDate>Thu, 26 Jul 2012 12:30:50 +0000</pubDate><guid>https://polypompholyx.github.io/2012/07/magnolia-misunderstanding/</guid><description>&lt;p&gt;T. Ryan Gregory has &lt;a href="http://www.genomicron.evolverzone.com/2012/06/the-platypus-fallacy/" title="The Platypus Fallacy at Genomicron"&gt;a great post at Genomicron&lt;/a&gt; on the &amp;lsquo;Platypus Fallacy&amp;rsquo;. He imagines a platypus professor explaining the wonders of the Human Genome Project to a group of student platypodes:&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;“The lineage of which humans are a part is a very ancient offshoot of our mammalian family tree, so it was 166 million years ago that we last shared a common ancestor with humans, and that puts them somewhere between mammals and reptiles, because they lack a lot of specialized characters that we have gained but the ancestral amniote also lacked; for instance, they have no electroreception, no bills, no webbed feet, and no venom. So we can use them to trace the changes that have occurred as we went from being a reptile, to having fur to making milk to having our specialized features.”&lt;/p&gt;&#10;&lt;/blockquote&gt;</description></item><item><title>Why living fossils need to die</title><link>https://polypompholyx.github.io/2012/04/why-living-fossils-need-to-die/</link><pubDate>Fri, 27 Apr 2012 16:02:52 +0000</pubDate><guid>https://polypompholyx.github.io/2012/04/why-living-fossils-need-to-die/</guid><description>&lt;p&gt;I&amp;rsquo;m the proud owner of a &lt;a href="http://en.wikipedia.org/wiki/Cycas_thouarsii" title="Cycas thouarsii at Wikipedia"&gt;Madagascan cycad&lt;/a&gt;. He or she (I won&amp;rsquo;t know until s/he gets older) gets an annual decking with baubles at Christmas, but spends most of the rest of the year getting in the way of the television.&lt;/p&gt;&#10;&lt;figure class="wp-caption aligncenter" style="max-width:224px"&gt;&lt;a href="https://polypompholyx.github.io/wp-content/uploads/2012/09/cycas_thouarsii_baubles.jpg"&gt;&lt;img loading="lazy" title="Cycas thouarsii, Christmas 2011 [CC-BY-SA-3.0 Steve Cook]" src="https://polypompholyx.github.io/wp-content/uploads/2012/09/cycas_thouarsii_baubles-224x300.jpg" alt="Cycas thouarsii, Christmas 2011 [CC-BY-SA-3.0 Steve Cook]" /&gt;&lt;/a&gt;&lt;figcaption&gt;Deck the cycad with Pantone baubles, fa-la-la-la-lah la-la-la-lah&lt;/figcaption&gt;&lt;/figure&gt;&#10;&lt;p&gt;Cycads look a lot like palms, but rather than producing flowers and fruits, they make cones and bear fruitless naked seeds. This hints at their origins. They are much more &lt;a href="https://polypompholyx.github.io/2013/03/vegetable-empire-2013/" title="Vegetable empire 2013"&gt;closely related to pine trees and other gymnosperms&lt;/a&gt;, than to flowering plants like palms.&lt;/p&gt;</description></item><item><title>Community payback for undergrads</title><link>https://polypompholyx.github.io/2012/04/community-payback-for-undergrads/</link><pubDate>Thu, 19 Apr 2012 15:27:57 +0000</pubDate><guid>https://polypompholyx.github.io/2012/04/community-payback-for-undergrads/</guid><description>&lt;p&gt;Two acquaintances of mine, both teachers of one kind or another, tell me that they no longer feel comfortable steering students away from &lt;a href="http://en.wikipedia.org/wiki/Main_Page" title="English Wikipedia"&gt;Wikipedia&lt;/a&gt;, because they can no longer maintain the prim pretence that they &lt;em&gt;themselves&lt;/em&gt; aren&amp;rsquo;t consulting it on a daily basis.&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;ve long appreciated Wikipedia for its convenience; and been amused by its &lt;a href="http://en.wikipedia.org/wiki/Utricularia_subg._Polypompholyx" title="Polypompholyx at Wikipedia"&gt;unforgivable mis-prioritisation&lt;/a&gt;. On the other hand, I&amp;rsquo;ve been irritated by the scrappiness of articles on &lt;a href="http://en.wikipedia.org/wiki/Epistasis" title="Epistasis at Wikipedia"&gt;concepts I&amp;rsquo;ve taught &lt;/a&gt;and saddened by the thoughtless pasting of its content into some of the essays I mark.&lt;/p&gt;</description></item><item><title>Version 2</title><link>https://polypompholyx.github.io/2012/04/version-2/</link><pubDate>Mon, 16 Apr 2012 20:31:52 +0000</pubDate><guid>https://polypompholyx.github.io/2012/04/version-2/</guid><description>&lt;p&gt;Several years ago, I pulled my &lt;a href="http://www.steve.gb.com" title="Steve dot gb dot com"&gt;old website&lt;/a&gt;, as it had become a compost-heap of reformatted lecture notes that I no longer had time to maintain, and which &lt;a href="http://en.wikipedia.org/wiki/User:Polypompholyx" title="Wikipedia (Polypompholyx's user page)"&gt;Wikipedia&lt;/a&gt; had rendered redundant in any case. The pleasures of writing HTML by hand had begun to pall, and the hand-rolled CGI guestbook made even a coding Luddite like me shudder with embarrassment.&lt;/p&gt;</description></item></channel></rss>