Miskatonic University Press


art quotes

“[The sunset] was simply a very second-rate Turner, a Turner of a bad period, with all the painter’s worst faults exaggerated and over-emphasised.” — Oscar Wilde, The Decay of Lying.

Frank Stella quote

art quotes

From a recent interview with Frank Stella on the Modern Art Notes Podcast, after Stella has said previous abstract painters had to work up to abstraction but he simply began with it and never had a representational period.

Interviewer: So when you were working in the studio, in the fifties and sixties, did you ever think about representation? I mean, I understand what you were saying in terms of that previous generation of artists having to work through it, but for you, was that even a thing that you considered?

Stella: No, I mean, it’s ludicrous, why would I—you know, the only time it ever came up is when you were meeting young ladies or something like that, and most, you know, nine out of ten of them really wanted to pose for you. But you know, it would have been a waste of time with me.

Interviewer: So you never did that?

Stella: No, I never got anyone to visit my garret—on that pretext.

Academic year

code code4lib r

I work at a university library, and when I analyse data I like to arrange things by academic year (September to August) so I often need to find the academic year for a given date. Here are Ruby and R functions I made to do that. Both are pretty simple—they could be better, I’m sure, but they’re good enough for now. They use the same method: subtract eight months and then find the year you’re in.

The Ruby is the shortest, and uses the Date class. First, subtract eight months, with <<.

d « n: Returns a date object pointing n months before self. The n should be a numeric value.

Rather cryptic. Then we find the year with .year, which is pretty clear. This is the function:

require 'date'

def academic_year(date)
  (Date.parse(date) << 8).year


> academic_year("2016-09-22")
=> 2016

The function is very short because Ruby nicely handles leap years and months of varying lengths. What is 30 October 2015 - eight months?

> Date.parse("2015-10-30") << 8
=> #<Date: 2015-02-28 ((2457082j,0s,0n),+0s,2299161j)>

2016 is a leap year—what is 30 October 2016 - eight months?

> Date.parse("2016-10-30") << 8
=> #<Date: 2016-02-29 ((2457448j,0s,0n),+0s,2299161j)>

Sensible. And the function returns a number (a Fixnum), not a string, which is what I want.

In R things are more complicated. How to subtract months from a date in R? gives a few answers, but none are pretty. Using lubridate makes things much easier (and besides, I use lubridate in pretty much everything anyway).


academic_year <- function(date) {
  as.integer(format(floor_date(floor_date(as.Date(date), "month") - months(8), "year"), "%Y"))


> academic_year("2016-09-22")
[1] 2016

The floor_date function gets called twice, the first time to drop back to the start of the month, which avoids R’s problems dealing with leap years:

> as.Date("2016-10-30") - months(8)
[1] NA

But you can always subtract 8 months from the first of a month. Then the function goes to 01 January of that year, pulls out just the year (“%Y”) and returns it as an integer. I’m sure it could be faster.

And once the academic year is identified, when making charts it’s nice to have September–August on the x axis. I often do something like this, with a data frame called data that has a date column:

library(dplyr) # I always use it

data <- data %>% mutate (month_name = month(date, label = TRUE))
data$month_name <- factor(data$month_name, levels = c("Sep", "Oct", "Nov", "Dec", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug"))

Finding the academic year of a date could be a code golf thing, but Stack Overflow has too many rules.

We're in the Anthropocene (almost)


“Humanity’s impact on the Earth is now so profound that a new geological epoch – the Anthropocene – needs to be declared, according to an official expert group who presented the recommendation to the International Geological Congress in Cape Town on Monday,” says Damian Carrington’s article in the Graun today: The Anthropocene epoch: scientists declare dawn of human-influenced age, reporting from the 35th International Geological Congress:

The exact break is yet to be determined:

The 35 scientists on the WGA – who voted 30 to three in favour of formally designating the Anthropocene, with two abstentions – will now spend the next two to three years determining which signals are the strongest and sharpest. Crucially, they must also decide a location which will define the start of the Anthropocene.

But it’s not for certain yet:

Once the data has been assembled, it will be formally submitted to the stratigraphic authorities and the Anthropocene could be officially adopted within a few years.

We can keep an eye on the Working Group on the Anthropocene but, like many such bodies, its web presence is out of date—geologically so, if you’re measuring at web scale.

Lichen and moss news


Some exciting recent news about moss and lichen.

Early moss is responsible for the oxygen that led to all the life around us. The Guardian covers the story in All hail the humble moss, bringer of oxygen and life to Earth:

Around 445 million years ago most the planet’s terrestrial landscape was being assembled by plate tectonics into a southern hemisphere supercontinent called Pangaea. What is now the Appalachians in the US were arcs of rock in the tropic ocean. The northern hemisphere was almost entirely ocean and almost all life was concentrated in the sea.

The bony fishes had yet to evolve. Trilobites patrolled what was then essentially Waterworld. Whatever life clung to the exposed rocks in what geologists call the Ordovician period would have been little more than a fine mat of microbes.

Rock-hugging green mosses evolved, and spread over dry land, using photosynthesis to take atmospheric oxygen from perhaps only a quarter of today’s level to the present life-giving lungful.

Moss and lichen together.
Moss and lichen together.

The research article reported on is Earliest land plants created modern levels of atmospheric oxygen by Lenton et al. in Proceedings of the National Academy of Sciences of the United States of America (PNAS) in some online prepublication thing I can’t cite properly. It’s not open access so most of the world can’t see it. Disappointing. Ask your nearest librarian. Here’s the abstract:

The progressive oxygenation of the Earth’s atmosphere was pivotal to the evolution of life, but the puzzle of when and how atmospheric oxygen (O₂) first approached modern levels (∼21%) remains unresolved. Redox proxy data indicate the deep oceans were oxygenated during 435–392 Ma, and the appearance of fossil charcoal indicates O₂ > 15–17% by 420–400 Ma. However, existing models have failed to predict oxygenation at this time. Here we show that the earliest plants, which colonized the land surface from ~470 Ma onward, were responsible for this mid-Paleozoic oxygenation event, through greatly increasing global organic carbon burial—the net long-term source of O₂. We use a trait-based ecophysiological model to predict that cryptogamic vegetation cover could have achieved ∼30% of today’s global terrestrial net primary productivity by ∼445 Ma. Data from modern bryophytes suggests this plentiful early plant material had a much higher molar C:P ratio (∼2,000) than marine biomass (∼100), such that a given weathering flux of phosphorus could support more organic carbon burial. Furthermore, recent experiments suggest that early plants selectively increased the flux of phosphorus (relative to alkalinity) weathered from rocks. Combining these effects in a model of long-term biogeochemical cycling, we reproduce a sustained +2‰ increase in the carbonate carbon isotope (δ¹³C) record by ∼445 Ma, and predict a corresponding rise in O₂ to present levels by 420–400 Ma, consistent with geochemical data. This oxygen rise represents a permanent shift in regulatory regime to one where fire-mediated negative feedbacks stabilize high O₂ levels.

This is great research, but it pales compared to the recent lichen news, which completely overturned our understanding of this strange life form. ScienceNews gives popular coverage in Yeasts hide in many lichen partnerships:

The discovery of unknown yeasts hiding in lichens from six continents could shake up a basic idea of what makes up a lichen partnership.

For more than a century, biologists have described a lichen as a fungus growing intimately with some microbes (algae and/or cyanobacteria) that harvest solar energy. The fungus is treated as so important that its name serves as the name for the whole lichen.

Biologists have recognized that more than one fungus can show up in lichen close-ups, but their role hasn’t been clear. Now that may be on the brink of changing.

Fifty-two genera of lichens collected from around the world include a second fungus — single cells, called yeasts, of a previously unknown order now christened Cyphobasidiales. Toby Spribille of the University of Graz in Austria and colleagues report the finding online July 21 in Science.

Xanthoparmelia cumberlandia.  I don't know if it has yeast in it.
Xanthoparmelia cumberlandia. I don't know if it has yeast in it.

Here’s more from a story out of Purdue, where one of the lead researchers is: Yeast emerges as hidden third partner in lichen symbiosis:

Scientists have long recognized the fundamental partnership that produces lichens: A fungus joins with an alga or cyanobacteria in a relationship that benefits both individuals. In a study led by the University of Montana and co-authored by Purdue mycologist M. Catherine Aime, researchers show that lichens across six continents also contain basidiomycete yeasts, single-celled fungi that likely produce chemicals that help lichens ward off predators and repel microbes.

The finding could explain why many genetically similar lichens present wildly different physical features and why scientists have been unable to synthesize lichens in the laboratory, even when combining species that partner successfully in nature.

For something like 150 years, as I understand it, we thought lichen was a kind of sandwich with a fungus on the outside and an algae or cyanobacteria on the inside eating sunlight and providing the food. That’s crazy enough—and the things are all over rocks and trees all around you, just go out and look—the stuff can look about as close to living mineral as you can imagine—but now it turns out there’s yeast in there and no one knew.

Aspicilia cinerea. On rocks everywhere. Also don't know.
Aspicilia cinerea. On rocks everywhere. Also don't know.

The article is here (also not open): Basidiomycete yeasts in the cortex of ascomycete macrolichens by Spribille et al. in Science 353:6298 (29 July 2016). Abstract:

For over 140 years, lichens have been regarded as a symbiosis between a single fungus, usually an ascomycete, and a photosynthesizing partner. Other fungi have long been known to occur as occasional parasites or endophytes, but the one lichen–one fungus paradigm has seldom been questioned. Here we show that many common lichens are composed of the known ascomycete, the photosynthesizing partner, and, unexpectedly, specific basidiomycete yeasts. These yeasts are embedded in the cortex, and their abundance correlates with previously unexplained variations in phenotype. Basidiomycete lineages maintain close associations with specific lichen species over large geographical distances and have been found on six continents. The structurally important lichen cortex, long treated as a zone of differentiated ascomycete cells, appears to consistently contain two unrelated fungi.

It’s exciting, sure, when scientists discover a nearby exoplanet or yet another hominid species that interbred with us tens of thousands of years ago, but when they find out there’s something going on in lichen—which is probably on the sidewalk or wall outside where you are right now—that is totally unexpected, well, that’s exciting too.

Image display size in Org


I just discovered that it’s possible to change the size of an image as displayed in Org while leaving the actual file unchanged. This is great: I can scale it down so it’s just large enough I know what it is but it doesn’t get in my way or take up much real estate.

The variable is org-image-actual-width. C-h v org-image-actual-width shows the documentation:

org-image-actual-width is a variable defined in ‘org.el’. Its value is t

Documentation: Should we use the actual width of images when inlining them?

When set to t, always use the image width.

When set to a number, use imagemagick (when available) to set the image’s width to this value.

When set to a number in a list, try to get the width from any #+ATTR.* keyword if it matches a width specification like

#+ATTR_HTML: :width 300px

and fall back on that number if none is found.

When set to nil, try to get the width from an #+ATTR.* keyword and fall back on the original width if none is found.

This requires Emacs >= 24.1, build with imagemagick support.

(I build Emacs from source, and it has ImageMagick support, though I forget if I had to do anything to get that working. I think just installing ImageMagick is enough. Do ./configure | grep -i imagemagick to check if Emacs knows about it.)

I could set the variable in an init file:

(setq org-image-actual-width nil)

But for now I’m just using it as a file local variable, with this as the first line of the Org file:

# -*- org-image-actual-width: nil; -*-

Then I have, for example, this raw text:

#+NAME: fig:moodleviz
#+CAPTION: Screenshot from Moodleviz.
#+ATTR_ORG: :width 600
#+ATTR_LATEX: :width 5in

That image is 1520 pixels wide (wider than my personal laptop—it’s a screenshot taken on a larger screen) and it’s annoying to move by it up or down, so shrinking the displayed size is great. It looks like this scaled down to 600 pixels wide:

Image resized to be smaller.
Image resized to be smaller.

ATTR_LATEX shrinks the image to a nice size when I export the document to PDF. There is no HTML version so I don’t care about resizing for that.

King Crimson, Queen Elizabeth Theatre, 20 November 2015

music reviews

One of the best concerts I’ve ever seen was recorded and is available for purchase: King Crimson at the Queen Elizabeth Theatre in Toronto on 20 November 2015.

I never thought I’d see them live. I’ve been listening to King Crimson for thirty-five years or so, since 92 CITI FM introduced me to rock back in Brandon, MB. They played the early Krim (“The Court of the Crimson King” and “21st Century Schizoid Man” and such) and tracks from the new Discipline like “Indiscipline.” (CITI also played Zep, AC/DC, Sabs, Priest, Maiden, the Cars, “Beat It,” Squeeze, SRV, INXS, ABC, Men at Work, Marley: one could believe in the freedom of music.)

But the band has a complex history, and Fripp suspends them for years on end. Then one day last year I saw that a three-night stand was coming! My friend G (who’s been a fan as long as I have, and had seen seen them twice before—once was great and once was excellent, he said) and I went. Tickets were $180 each—the most I’ve ever paid for a show, but I had high hopes, and they were met and exceeded. It was worth every penny. We were both amazed.


In front are the three drummers: Pat Mastelotto at the far left, with both hands up; Bill Rieflin (who also played keyboards—going from the complex Krim drums to keyboards on classic songs like “Starless” and “The Court of the Crimson King” is an amazing feat) with his back turned; and Gavin Harrison with his face obscured by a cymbal. The way they arranged things for three drummers, with them sometimes passing riffs from one to the other, sometimes playing things in unison, was entrancing.

In the back row, on a riser, from left are Mel Collins holding a sax; Tony Levin; Jakko Jakszyk; and of course Robert Fripp, whose band it is, far right holding a camera and taking a photo of the crowd.

Fripp sat on a stool, stage left, never moving; I think he played the same guitar for the entire show. He’s taking a photo after the show was over, when we were all allowed to take photos. It was announced before the show started that no one was allowed to take photos or do any recordings while the show was on: when Tony got his camera out, we could get our camera out. This was a great rule. Instead of everyone holding up cameras, and all their neighbours being distracted, everyone watched the concert. Mass concentration. Wonderful focus. I’d like it if more bands did this.

The liner notes say:

What made this show even more remarkable were the unfortunate events of the night before—when the band didn’t return for an encore after a concert that was plagued with audience photography from a tiny but repeatedly disruptive minority, making those of us involved with the band fear for the first time that it might cease to exist. In the online comments after the show, several people suggested that refusing to play an encore was an act of petulance. An alternative view might be that surviving until then end of the formal performance was an act of admirable retraint.

I thank Fate and Euterpe we were there the night we were, not the night before.

Krim ticket.
Krim ticket.

The set list included some songs neither of us knew (some of them improvisations, I guess), some we recognized but couldn’t identify, and some where we were elbowing each other saying “Hey, can you believe it?” After an opening jam they moved into “Larks Tongues in Aspic Part I” where Mel Collins on flute took a solo and worked in Moe Koffman’s “Swinging Shepherd Blues” and “O Canada.” I’ve never heard a visiting player pay so much respect to local music. Later they got into “Red,” “Starless” (what the end of the universe will sound like), and for the encore “The Court of the Crimson King” and “21st Century Schizoid Man,” which both of us never thought we’d get to hear live.

G and I both had high hopes for the show. It was far, far better than either of us had hoped for. We grabbed drinks after and spent over an hour telling ourselves, in many different ways, what a fantastic show it was. If you ever liked Krim, have a listen. If you do listen, remember that one of those people in the audience shouting and cheering and applauding is me.

Kawartha Sounds


I was on vacation at the cottage recently and made some field recordings (with an Olympus DM-620). Here are two (both CC-BY), each about half an hour long: one of sounds in the early morning and one of sounds in the night. This is what a Canadian cottage sounds like when you’re just sitting out there quietly letting things happen around you.

The morning recording (from 07 August 2016) has birds chirping, water hitting the dock, waves lapping against the shore, boats going by, and a dog barking in the distance now and then (download FLAC):

The night recording (01 August 2017) is mostly crickets chirping and (of course) waves lapping against the shore (download FLAC):

More and longer recordings to come as I listen and process them.

List of all blog posts