UC Strikes a Blow for Open Access

The University of California has struck a blow for the Open Access movement by terminating its subscriptions to all Elsevier journals. UC and Elsevier have been in negotiation for some time trying to find a way to make UC research results—about 10% of all US research publications—available to everyone without cost. Sadly, those negotiations failed but UC stood by their principles and dropped their subscriptions.

That’s not like you or me dropping Amazon Prime or using DuckDuckGo instead of Google. Who would notice or care? UC on the other hand spent multiple millions of dollars on Elsevier subscriptions and as a leading university system stands as an example to the other big consumers of Elsevier publications. Their defection has to smart, especially if other universities follow their example.

As I’ve said before, journal publishers are solving a problem that no longer exists. Research can, and should be, distributed on line. That’s mostly what Open Access is all about. The publishers continue to exist and thrive only because universities continue to base their tenure and promotion decisions on a faculty member’s record of publishing in “top flight” journals, which, of course, means that junior faculty must publish in such journals if they want to survive.

Already, though, many senior faculty are refusing to publish in, or referee for, journals that don’t make the research available to anyone without cost. Once the tenure and promotion committees get onboard, it’s hard to see how big publishers like Elsevier are going to survive with their current business models. Of course, there’s hardly any institution more stodgy and resistant to change than such committees so who knows what will happen.

Regardless, we can all cheer UC’s decision and hope that other universities follow suit.

Posted in General | Tagged | Leave a comment

Today I Learned…

…about the delete-horizontal-space command (bound to Meta+\). It deletes all spaces and tabs around the point. You can delete just the white space before the point by specifying the universal argument. I learned about the command from a reddit post by rmberYou that listed some useful Emacs packages.

The post suggested hungry-delete but then added a note about delete-horizontal-space. The suggestion for delete-horizontal-space came from a comment where the command cycle-spacing (bound to Meta+Space) is also discussed. One invocation of cycle-spacing deletes all the spaces but one. Two invocations deletes all the spaces, and three invocations puts things back the way they were.

I use the cycle-spacing command all the time (although only in its single invocation mode; I’d forgotten about the rest) but delete-horizontal-space is new so I’ve learned another useful Emacs command. The day has not been wasted.

Posted in General | Tagged | Leave a comment

Org-mode 9.2.2 is Out

Bastien tweets that the latest Org-mode is available:

After the recent problem with the agenda being broken, I decided to stop living on the bleeding edge and started getting Org from GNU ELPA. Confusingly, the current release there is labeled 9.2.2 but when I run org-version is reports 9.2.1.

I’m a big time user of Org-mode, of course, so I like being up to date but because I am a big time user, I can’t tolerate having it broken so I’m trying getting it from the GNU repository for the time being. If that gets too far behind, I can always go back to using the Org repository.

Posted in General | Tagged , | Leave a comment

Some Wisdom on Pipelines

Over at his blog, Ted Dziuba has posted a valuable piece of wisdom that is easy to forget. The TL;DR on the wisdom is that many tasks for which we instinctively turn to heavy-weight, distributed tools are more easily and safely accomplished with a pipeline of standard Unix utilities.

That can be a hard lesson to learn. When I was young and foolish I would often throw together such a solution but because I was silly would think of it more as a proof-of-concept and go on to build a “real” solution, usually in C. And that was true even though the original solution solved the problem perfectly well and had a perceived run time that was virtually indistinguishable from the one written in C.

Doubtless, I’m still doing silly things but at least I’ve gotten over that particular brand of it. Not all jobs are amenable to a Unix pipeline, of course, but many are and it’s worth looking at each task to see if they qualify before renting a bunch of virtual servers and firing up Hadoop.

Back in the Old Days™, resources were more limited so solutions like those recommended by Dziuba were more natural and pipelines were the go-to tool. That’s less true today where resources are plentiful and the command line is often looked at the same way we look at COBOL. Still, even though it’s an old post it’s nevertheless worth reading and taking to heart.

Posted in Programming | Tagged , | Leave a comment

Refugees

As documented in my last two posts, the editor holy wars wage on. Meanwhile, the ed partisans that you didn’t even know existed are inviting refugees from the war to come home to the Unix standard editor. They even have their own Twitter feed, which although low traffic is still active—as of this writing there are 3 tweets within the last 24 hours.

Posted in General | Tagged , , | Leave a comment

That Didn’t Take Long

The battle is joined. Guess where emacs.dev takes you.

Posted in General | Tagged , , | Leave a comment

International Beat Up on Vim Day?

It’s Friday so let’s have a bit of whimsy. This morning, I ran across two separate items poking gentle fun at Vim. First up is the fact that someone bought the vim.dev domain and immediately pointed it at the Emacs site:

Right now, lots of people are tweeting about this so it’s little more than a weak joke but consider what will happen in a few months when some unsuspecting prospective user goes looking for information about Vim.

The second item is a Vim plugin that exits Vim as soon as it’s started. It’s a trivial one-line hack written by a Vim lover who did it as a joke. The project’s README is witty as well so give it a read if you’re amused by the Emacs/Vim holy wars.

Emacs partisans can, I’m sure, expect retaliation shortly.

Posted in General | Tagged , | Leave a comment

Running Emacs as Your OS

I somehow missed the videos by Emacs Guy in which he records his experiment in running Emacs as his OS. Sort of. The idea is to install a minimal Linux system along with an X-server and try to do everything from within Emacs There are going to be some exceptions for things like browsers because, really, eww doesn’t match up to a full blown browser. The use of extra software is mitigated by using exwm so that everything runs in an Emacs window.

So far there are three videos. The first video, which runs about 18 and a half minutes, covers the installation and set up of Arch Linux and Emacs. Once that’s done, almost everything can be done from within Emacs by using eshell to run Linux core utilities when necessary.

In the second video, which runs 12 and a quarter minutes, Emacs Guy configures the Emacs package manager and arranges for it to use John Wiegley’s use-package macro. With that accomplished, Emacs Guy can get down to the job of configuring his Emacs to that the system meets his needs.

The third video, which is just over 16 minutes, begins the Emacs configuration with “making Emacs look nice.” That involves choosing a wall paper and making the Emacs windows a little transparent so that it shows; choosing a font (Source Code Pro); and choosing an Emacs theme (Nord). At this point, Emacs Guy has a nice looking desktop and basic functionality to build on. Presumably he’ll continue the buildout in subsequent videos. I’m looking forward to those but he’s been doing about 1 video a month so we’ll have to be patient.

Posted in General | Tagged | Leave a comment

A Nice Linux Desktop Setup

Dennis Felsing over at HookRace Blog has an interesting post on his Linux desktop setup. He’s a Vim user so he doesn’t have the advantages that Emacs brings for integrating common tasks into a consistent framework. Still, he has built a very nice environment.

One of the most interesting aspects of the post is his discussion of the tools he uses and how he fits them together. Even if you’re an Emacs user, you may find some of the tools he describes useful. One example of that is Unison, a sort of bi-directional rsync that is perfect for the intermachine synchronizing of files that you don’t want to keep in your version control system.

I must admit that I found his solutions for calendaring, scheduling, and TODO lists to be a bit clumsy but that’s doubtless because I’ve been spoiled by Org-mode. It’s easy to forget what a really great solution Org is. On the other hand, Felsing likes light weight tools that don’t consume a lot of resources so perhaps his solutions are best for him.

He’s also got a very nice home-grown backup system. If you’ve got a remote server anyway, his solution may be cheaper and more flexible than a backup service. Felsing likes to keep everything under his control so doing his own backups is a win for him.

If you’re looking to build a good development environment under Linux, you will probably find this post useful.

Posted in General | Tagged , , | Leave a comment

Running a Bakery with Org-mode and PostgreSQL

Piers Cawley used to be a programmer. Now he’s a baker. Following a longtime dream, Cawley opened a bakery and is now happily turning out bread instead of code. Running a small bakery doesn’t seem to offer a lot of opportunities for software to help out other than the usual accounting type operations that any business needs. In a delightful post, Cawley shows that that isn’t true.

It’s easy to imagine that you just knead some dough, pop it in the oven, and a sometime later a loaf of bread appears. Of course, it’s much more complicated than that. A typical “baking” spans two days and exactly what happens depends on how big the order is. Just one example of the things to be considered is how much of each ingredient to include given the final amount of product. That’s basically a simple calculation, of course, that bakers have been making for millennia but it’s important to get it right so that you end up with a consistent product.

After messing up the calculations a few times, Cawley turned to his programming background to automate the process. His solution uses PostgreSQL to hold his recipes and other data and Org-mode and Babel to make and display the calculations. It is, in one sense, a trivial application but I love how he leverages two powerful software tools to solve a problem in an unexpected domain. At the end of the post, Cawley lists some enhancements that he’d like to make to the system.

It’s an interesting post and well worth a read if only to see how a programmer’s editor can help bake bread.

Posted in General | Tagged , | Leave a comment