The Ecosystem of Unix and the Difficulty of Teaching It

Plos One published an awful paper comparing Word vs LaTeX where the task was to copy down a piece of text. Because Word users did better than LaTeX users at this task, the authors conclude that Word is more efficient.

First of all, this fits perfectly with my experience: Word [1] is faster for single page documents, where I don’t care about precise formatting, such as a letter. It says nothing about how it performs on large documents which are edited over months (or years). The typical Word failure mode are “you paste some text here and your image placement is now screwed up seven pages down” or “how do I copy & paste between these two documents without messing up the formatting?” This does not happen so much with a single page document.

Of course, the authors are not happy with the conclusion that Word is better for copying down a short piece of predefined text and instead generalize to “that even experienced LaTeX users may suffer a loss in productivity when LaTeX is used, relative to other document preparation systems.” This is a general failure mode of psychological research: here is a simple, well-defined experimental result in a very artificial setting. Now, let me completely overgeneralize to the real world. The authors of the paper actually say this in their defense: “We understand that people who are not familiar with the experimental methods of psychology (and usability testing) are surprised about our decision to use predefined texts.” That is to say, in our discipline, we are always sort of sloppy, but reviewers in the discipline do the same, so it’s fine.


Now, why waste time bashing a Plos One paper in usability research?

Because one interesting aspect of the discussion is that several people have pointed out that Word is better for collaboration because of the Track Changes features. For many of us, this is laughable because one of the large advantages of LaTeX is that you can use version control on the files. You can easily compare the text written today with a version from two months ago, it makes it easier to have multiple people working, &c.[2] In Word, using Track Changes is still “pass the baton” collaboration, whereby you email stuff around and say “now it’s your turn to edit it” [3].

However, this is only valid if you know how to use version control. In that case, it’s clear that using a text-based format is a good idea and it makes collaboration easier. The same way, I actually think that some of the test subjects in the paper had with LaTeX was simply that they did not use an editor with a spell-checker.

The underlying concept is that LaTeX works in an ecosystem of tools working together, which is a concept that we do not, in general, teach people. I have been involved with Software Carpentry and even before that I was trying teach people who are not trained in computers about these sort of tools, but we do not do that great of a job at teaching this concept, of the ecosystem. It is abstract and not directly clear to students why it is useful.

Spending a few hours going through the basic Unix commands seems like a brain-dead activity when people cannot connect this to their other knowledge or pressing needs.

On the other hand, it is very frustrating when somebody comes to me with a problem they have been struggling with for days and, in a minute, I can give them a solution because it’s often “oh, you can grep in extended mode and pipe it to gawk” (or worse, before they finish the description, I’ll say “run dos2unix and it will fix it” or “the problem you are describing is the exact use case of this excellent Python package, so you don’t need to code it from scratch”). Then they ask “how could I learn that? Is there a book/course?” and I just don’t have an answer better than “do this for 10 years and you’ll slowly get it”.

It’s hard to teach the whole ecosystem at once, which means that it’s hard to teach the abstractions behind it. Or maybe, I just have not yet figured out how it would be possible.


Finally, let me just remark that LaTeX is a particularly crappy piece of software. It is so incredibly bad that it only survives because the alternatives manage to be even worse. It’s even sadder when you realise that LaTeX is now over 30 years old, while Word is an imitation of even older technology We still have not been able to come up with something that is clearly better.


This flawed paper probably had better altmetrics than anything I’ll ever write in science, again showing what a bad idea altmetrics are.

[1] feel free to read “Word or Word-like software” in this and subsequent sentences. I actually often use Google Docs nowadays.
[2] Latexdiff is also pretty helpful in generating diffed versions.
[3] Actually, for collaboration, the Google Docs model is vastly superior as you don’t have to email back-n-forth. It also includes a bit of version control.

Friday Links

1. Should Science put up with sloppiness?

It is interesting that correct papers get retracted for ethical reasons, but rarely just because they are wrong.

2.Fraud & Science

The proposal, submitted some years earlier to a funding agency on a different continent, was copied by one of the reviewers, a highly recognized scientist, and then submitted to the ERC. It was pure chance that the former applicant detected the fraud.

[…] However, the larger legal framework of the European Commission (EC) under which the ERC operates links “frauds” only to financial aspects. The ERC is then obliged to report any (accomplished or attempted) misbehavior to OLAF, the European antifraud police. Financial fraud, however, causes the least headaches. In the above case, the ERC was unable to take action against the mischievous applicant.

Contrast with how standard scientific practice becomes criminal when money is involved:

“If you applied this rule to scientists, a sizable proportion of them might be in jail today,” said Steven N. Goodman, a pediatrician and biostatistician at Stanford University who submitted a statement supporting Harkonen’s appeal.

3. Another weird science fraud case:

The authors of a paper published in July […] are not only unknown at the institution listed on the paper, but no trace of them as researchers can be found.

The paper […] is not the kind of prank that journals have encountered before, in which hoaxsters have submitted dummy papers to highlight weaknesses in the peer-review process. The paper’s reported findings […] are, in fact, true.

Bruce Spiegelman […] says that he has presented similar findings at about six research meetings, and is preparing to submit them to a journal. He suspects that the [paper by unknown authors] was intended as a spoiler of his own lab’s work.

4. More non-computational thinking, the stupid snob edition

David Salz’s thoroughly researched assault on USB’s sonic handicaps delivers a relaxed, well-defined, dynamically evocative, and rhythmically taut performance. The Silver Starlight projects strings without screechiness, which cannot be said of most USB cables. For those seeking a mid-priced USB cable with obviously high build-quality and performance, the Silver Starlight is a solid choice.

The Silver Starlight USB digital cable costs $275/m!

My point stands: it is easier to identify non-computational thinking than to define what computational thinking is.

/ht Carter T Schonwald (@cartazio) on twitter

Non-Computational Thinking

There is a lot of talk about Computational Thinking, typically followed by the observation that we don’t know what it is or cannot define it.

Which I think it is true, but it is perhaps easier if we try to watch out for non-computational thinking instead.


Recently, the MLA defined how to cite a tweet in their (widely used) style:

Begin the entry in the works-cited list with the author’s real name and, in parentheses, user name, if both are known and they differ. If only the user name is known, give it alone.

Next provide the entire text of the tweet in quotation marks, without changing the capitalization. Conclude the entry with the date and time of the message and the medium of publication (Tweet). For example:

Athar, Sohaib (ReallyVirtual). “Helicopter hovering above Abbottabad at 1AM (is a rare event).” 1 May 2011, 3:58 p.m. Tweet.


I think this is an example of non-computational thinking: tweets have unique numeric IDs, so that you can link to them but they are not mentioned. They do discuss that the time stamp is time-zone dependent.

(Although, truth be told, twitter does not make it super-obvious how to get at the tweet ID; not sure why. You need to click on the tweet date to get to the tweet link and read the URL. [I updated this parenthetical paragraph in response to a comment below by Cheng H. Lee])