You are here

Feed aggregator

Alf Eaton, Alf: UK parliamentary constituencies

planet code4lib - Sat, 2015-01-03 14:12

Every 5 years, the Boundary Commissions for England, Scotland, Wales and Northern Ireland review the UK parliamentary constituency boundaries.

The last completed Boundary Review recommended 650 constituencies, and took effect at the General Election in 2010.

Office for National Statistics

The Office for National Statistics (ONS) has produced a guide to parliamentary constituencies and a map of the current constituencies.

The Office for National Statistics publishes a CSV file listing the names and codes for each parliamentary constituency (650 in total), under the Open Government License.

“The nine-character codes are created by the ONS. The England and Wales names are statutory names taken from the Statutory Instrument (SI). The Northern Ireland nine character codes and names were supplied by NISRA (Northern Ireland Statistics and Research Agency). The Scotland names and nine character codes have been sourced from the National Records of Scotland (NRS).” Constituency names

The parliamentary constituencies of England are named in The Parliamentary Constituencies (England) Order 2007. Wikipedia contains a history of the constituency redistributions.

Ordnance Survey Shapefile

The Ordnance Survey produces the Boundary-Line data, which includes an ESRI Shapefile for the boundary of each parliamentary constituency. The Boundary-Line data is published under the OS OpenData license, which incorporates the Open Government License.


The Ordnance Survey’s administrative geography and civil voting area ontology includes a “hasUnitID” property, which provides a unique ID for each region, and a “GSS” property that is the ONS’ code for each region.


The Boundary-Line SPARQL interface can be used to retrieve the GSS, Unit ID and name for each parliamentary constituency:

select ?name ?gss ?unit_id where { ?x a <> ; <> ?name ; <> ?gss ; <> ?unit_id .  } CartoDB

The Boundary-Line Shapefile includes the Unit ID (OS) and GSS (ONS) code for each constituency, so they can easily be used to merge the boundary polygons with other data sources in CartoDB.

If using CartoDB’s free plan, it is necessary to use a version of the Boundary-Line Shapefile with simplified polygons, to reduce the size of the data.

View the UK parliamentary constituencies in CartoDB.


Following the next Boundary Review, the number of constituencies will be reduced from 650 to 600 by the Parliamentary Voting System and Constituencies Act, introduced by the current coalition government.

"The key change is that the number of voters in each constituency will have to be within 5% of 76,641 - this is the figure gained by dividing the UK electorate of 45,678,175 by 596."

Patrick Hochstenbach: Solden 2015

planet code4lib - Sat, 2015-01-03 13:17
Filed under: Doodles Tagged: cartoon, cat, comic, doodle, fudenosuke, solden

District Dispatch: Panel of ebook policy experts to address 2015 ALA Midwinter Meeting

planet code4lib - Fri, 2015-01-02 23:44

How much do you know about the current library ebook lending environment? A leading panel of library and publishing experts will provide an update on the library ebook lending market and discuss the best ways for libraries to bring together authors and readers in the digital age at the 2015 American Library Association’s (ALA) Midwinter Meeting in Chicago. The session “ALA DCWG: Libraries and Ebooks—Where Do We Go from Here?” takes place from 10:30–11:30 a.m. on Sunday, February 1, 2015, in the McCormick Convention Center in room W196B.

Photo by Maria Elena via Flickr

During the session, leaders of ALA’s Digital Content Working Group (DCWG) and an expert panel provide insights on new opportunities available to libraries now that five of the world’s largest publishers provide libraries with nominal access to their full ebook catalogs. The expert panel will explore ebook lending issues, such as business models, pricing structures, privacy terms, and digital preservation. The working group will provide a summary of recent DCWG advocacy activities and explore new opportunities for collaboration between libraries and authors.

Speakers include Carolyn Anthony, co-chair of the ALA Digital Content Working Group and director of the Skokie Public Library (Illinois); Erika Linke, co-chair of the ALA Digital Content Working Group and associate dean of Libraries and director of Carnegie Mellon University Libraries Research and Academic Services; Steve Potash, chief executive officer for OverDrive, Inc.; and Matt Tempelis, 3M Library Systems Global Business Leader for 3M, Inc.

View other ALA Washington Office Midwinter Meeting conference sessions

The post Panel of ebook policy experts to address 2015 ALA Midwinter Meeting appeared first on District Dispatch.

LITA: We Want YOU to Write a Guest Post!

planet code4lib - Fri, 2015-01-02 20:21

Yes, you!

Are you looking for a platform to share your ideas with the library tech community? We’re a pretty friendly bunch in LITA and we hope you’ll consider sharing your intriguing library tech-related stories, plans, failures, hacks, code snippets – whatever! – here on the blog this year. There is a lot of room for contributor creativity, so get excited. You do not need to be a LITA member in order to write a guest post, though it’s great if you are!

To submit an idea for consideration, please email LITA blog editor Brianna Marshall at briannahmarshall(at)gmail(dot)com sharing a bit about yourself and a brief summary of your post topic.

Open Library Data Additions: OL. 150101

planet code4lib - Fri, 2015-01-02 19:19

OL Output of Marc Records.

This item belongs to: texts/ol_data.

This item has files of the following types: Archive BitTorrent, Metadata, Unknown

Patrick Hochstenbach: Homework assignment #1 Sketchbookskool

planet code4lib - Fri, 2015-01-02 18:58
Assignement #1 at Sketchbook Skool: “Draw an object that has some meaning to you” Filed under: Doodles Tagged: doodle, jackalope, memories, piano, sketchbookskool

Ranti Junus: “Thief of Time”

planet code4lib - Fri, 2015-01-02 17:28

For something to exist, it has to be observed.

For something to exist, it has to have a position in time and space.

And this explains why nine-tenths of the mass of the universe is unaccounted for.

Nine-tenths of the universe is the knowledge of the position and direction of everything in the other tenth. Every atom has its biography, every star its file, every chemical exchange its equivalent of the inspector with a clipboard. It is unaccounted for because it is doing the accounting for the rest of it, and you cannot see the back of your own head.*

Nine-tenths of the universe, in fact, is the paperwork.

*Except in very small universes.

Terry Pratchett, Thief of Time

(that paperwork statement feels so true in so many things…)

John Miedema: I adopted Pirsig’s term “slip” as the unit of text for my cognitive system

planet code4lib - Fri, 2015-01-02 03:23

I adopted Pirsig’s term “slip” as the unit of text for my cognitive system. Pirsig was referring to literal slips of paper, the size of index cards. I am working in a digital context but I share Pirsig preference for the slip concept. Its content length is optimal for random access, better than a page, easily re-sorted and re-categorized until the correct view on the content is decided.

I envision a slip to look like an index card, such as in Figure 1:

The slip has a subject line. It has a paragraph or two of content, just enough words to state an idea with context. The asterisk is used to suggest a category, “quality”. The hashtag is used to suggest a tag, “staticVsDynamic”. The processing of these features in a cognitive system will be detailed later.

A typical non-fiction work has about 100,000 words. Estimating 100 words per slip, a work would have 1000 slips. The count seems manageable for digital processing. Pirsig’s work had about 3000 slips, but then he was writing a metaphysics.

William Denton: Reading diary in Org

planet code4lib - Fri, 2015-01-02 03:13

Last year I started using Org to keep track of my reading, instead of on paper, and it worked very well. I was able to see how much I was reading all through the year, which helped me read more.

I have two tables. The first is where I enter what I read. For each book I track the start date, title, author, number of pages, and type (F for fiction, N for nonfiction, A for article). If I don’t finish a book or just skim it I leave the pages field blank and put a - in T. Today I started a new book so there’s just one title, but to add a new one I would go to the dashed line at the bottom and hit S-M-<down> (that’s Alt-Shift-<down> in Emacs-talk) and it creates a new formatted line. I’m down at the bottom of the table so I tab through a few times to get to the # line, which forces a recalculation of the totals.

#+CAPTION: 2015 reading diary #+ATTR_LATEX: :environment longtable :align l|p{8cm}|p{ccm}|l|l #+NAME: reading_2015 | | Date | Title | Author | Pages | T | | | | <65> | <40> | | | |---+-------------+------------------------------------+-------------------+-------+---| | | 01 Jan 2015 | Stoicism and the Art of Happiness | Donald Robertson | 232 | N | |---+-------------+------------------------------------+-------------------+-------+---| | # | | 1 | | 232 | | #+TBLFM: $3=@#-3::$5=vsum(@3..@-1)

(The #+CAPTION and #+ATTR_LATEX lines are for the LaTeX export I use if I want to print it.)

The second table is all generated from the first one. I tab through it to refresh all the fields. All of the formulas in the #+TBLFM field should be on one line, but I broke it out here to make it easier to read.

Books per week and predicted books per year are especially helpful in keeping me on track.

#+NAME: reading-analysis-2015 #+CAPTION: 2015 reading statistics |---+----------------------+---------------| | | Statistic | | |---+----------------------+---------------| | # | Fiction books | 0 | | # | Nonfiction books | 1 | | # | Articles | 0 | | # | DNF or skimmed | 0 | | # | Total books read | 1 | | # | Total pages read | 232 | | # | Days in | 001 | | # | Weeks in | 00 | | # | Books per week | 1 | | # | Pages per day | 232 | | # | Predicted books/year | 365 | |---+----------------------+---------------| #+TBLFM: @2$3='(length(org-lookup-all "F" '(remote(reading_2015,@2$6..@>$6)) nil)):: @3$3='(length(org-lookup-all "N" '(remote(reading_2015,@2$6..@>$6)) nil)):: @4$3='(length(org-lookup-all "A" '(remote(reading_2015,@2$6..@>$6)) nil)):: @5$3='(length(org-lookup-all "-" '(remote(reading_2015,@2$6..@>>$6)) nil));E:: @6$3=@2$3+@3$3::@7$3=remote(reading_2015, @>$5):: @8$3='(format-time-string "%j"):: @9$3='(format-time-string "%U"):: @10$3=round(@6$3/@9$3, 1):: @11$3=round(@7$3/@8$3, 0):: @12$3=round(@6$3*365/@8$3, 0)

(Tables and the spreadsheet in Org are very, very useful. I use them every day for a variety of things.)

With all that information in tables it’s easy to embed code to pull out other statistics and make charts. I’ll cover that when I tweak something to handle co-written books, but today, after getting some of that working for the first time, I was able to see my most read authors over the last four years are Anthony Trollope, Terry Pratchett and Anthony Powell. There are 39 authors who I’ve read at least twice. Some of them I’ll never read again, some I’ll read everything new they come out with (like Sarah Waters, who I only started reading this year) and some are overdue for rereading (like Georgette Heyer).

Patrick Hochstenbach: 2015 – Day One

planet code4lib - Thu, 2015-01-01 19:41
Filed under: Doodles Tagged: cat, doodle, newyear

Eric Lease Morgan: Great Books Survey

planet code4lib - Thu, 2015-01-01 15:55

I am happy to say that the Great Books Survey is still going strong. Since October of 2010 it has been answered 24,749 times by 2,108 people from people all over the globe. To date, the top five “greatest” books are Athenian Constitution by Aristotle, Hamlet by Shakespeare, Don Quixote by Cervantes, Odyssey by Homer, and the Divine Comedy by Dante. The least “greatest” books are Rhesus by Euripides, On Fistulae by Hippocrates, On Fractures by Hippocrates, On Ulcers by Hippocrates, On Hemorrhoids by Hippocrates. “Too bad Hippocrates”.

For more information about this Great Books of the Western World investigation, see the various blog postings.

Eric Hellman: The Year Amazon Failed Calculus

planet code4lib - Wed, 2014-12-31 22:40
In August, Amazon sent me a remarkable email containing a treatise on ebook pricing. I quote from it:
... e-books are highly price elastic. This means that when the price goes down, customers buy much more. We've quantified the price elasticity of e-books from repeated measurements across many titles. For every copy an e-book would sell at $14.99, it would sell 1.74 copies if priced at $9.99. So, for example, if customers would buy 100,000 copies of a particular e-book at $14.99, then customers would buy 174,000 copies of that same e-book at $9.99. Total revenue at $14.99 would be $1,499,000. Total revenue at $9.99 is $1,738,000. The important thing to note here is that the lower price is good for all parties involved: the customer is paying 33% less and the author is getting a royalty check 16% larger and being read by an audience that’s 74% larger. The pie is simply bigger.As you probably know, I'm an engineer, so when I read that paragraph, my reaction was not to write an angry letter to Hachette or to Amazon - my reaction was to start a graph. And I have a third data point to add to the graph. At, I've been working on a rather different price point, $0.  Our "sales" rate is currently about 100,000 copies per year. Our total "sales" revenue for all these books adds up to zero dollars and zero cents. It's even less if you convert to bitcoin.

($0 is terrible for sales revenue, but it's a great price for ebooks that want to accomplish something other than generate sales revenue. Some books want more than anything to make the world a better place, and $0 can help them do that, which is why is trying so hard to support free ebooks.)

So here's my graph of the revenue curve combining "repeated and careful measurements" from Amazon and

I've added a fit to the simplest sensible algebraic equation possible that fits the data, Ax/(1+Bx2), which suggests that the optimum price point is $8.25. Below $8.25,  the increase in unit sales won't make up for the drop in price, and even if the price drops to zero, only twice as many books are sold as at $8.25 - the market for the book saturates.

But Amazon seems to have quit calculus after the first semester, because the real problem has a lot more variables that the one Amazon has solved for. This is because they've ignored the effect of changing a book's price on sales of ALL THE OTHER BOOKS. For you math nerds out there, Amazon has measured a partial derivative when the quantity of interest is the total derivative of revenue. Sales are higher at $10 than at $15 mostly because consumers perceive $15 as expensive for an ebook when most other ebooks are $10. So maybe your pie is bigger, but everyone else is stuck with pop-tarts.

While any individual publisher will find it advantageous to price their books slightly below the prevailing price, the advantage will go away when every publisher lowers its price.

Some price-sensitive readers will read more ebooks if the price is lowered. These are the readers who spend the most on ebooks and are the same readers who patronize libraries. Amazon wants the loyalty of customers so much that they introduced the Kindle Unlimited service. Yes, Amazon is trying to help its customers spend less on their reading obsessions. And yes, Amazon is doing their best to win these customers away from those awful libraries.

But I'm pretty sure that Jeff Bezos passed calculus. He was an EECS major at Princeton (I was, too). So maybe the calculation he's doing is a different one. Maybe his price optimization for ebooks is not maximizing publisher revenue, but rather Amazon's TOTAL revenue. Supposing someone spends less to feed their book habit, doesn't that mean they'll just spend it on something else? And where are they going to spend it? Maybe the best price for Amazon is the price that keeps the customer glued to their Kindle tablet, away from the library and away from the bookstore. The best price for Amazon might be a terrible price for a publisher that wants to sell books.

Read Shatzkin on Publishers vs. Amazon. Then read Hoffelder on the impact of Kindle Unlimited. The last Amazon article you should read this year is Benedict Evans on profits.

It's too late to buy Champagne on Amazon - this New Year's at least.

Meredith Farkas: Peer learning in library instruction

planet code4lib - Wed, 2014-12-31 18:30

Teaching is such a solitary thing. Sure, you’re up in front of a bunch of students, and maybe an instructor if you’re doing course-integrated instruction, but the act still feels solitary. We try to make it less so by seeking feedback from instructors and doing assessment, but we rarely get feedback from people who really understand what we do: our colleagues in the library.

But doing that can be terrifying for some. The idea of showing off your approach to teaching can be intimidating. Many of us assume that whatever our colleagues are doing in the classroom, it’s probably ten times more brilliant than what we are doing. I can guarantee that it’s probably different from what you do, but the fear of finding out they’re so much better at it than you is likely unfounded. You probably do some things they wish they did, and they probably do some things you wish you did. All that will come from discovering this is that you will learn more and become better, which seems worth a bit of anxiety.

As a former head of instruction at two institutions, I’ve guided colleagues through peer learning exercises around their instructional practice. What I’ve learned from doing this at two very different institutions is that there is no one-size-fits-all approach; you have to tailor the approach to the needs, anxieties, and culture of the group. But the value and importance of being able to talk about the good, the bad, and the ugly of teaching with your colleagues cannot be overstated. Not only does it improve your own reflective practice, but it creates a true community of practice, which will elevate everyone’s teaching. A rising tide raises all ships, right?

At one institution, we did peer observation of instruction followed by one-on-one meetings. Before the start of the term, each librarian chose two colleagues whose instruction they would observe  (we made sure no one had to work with someone they reported to) and those people, in turn, also observed them. So everyone observed and was observed by two people. We let the observed librarian pick the class they felt most comfortable having observed, which I think is a good way to decrease anxiety. If I could go back, I’d have each librarian first choose two sessions they are comfortable having observed first and then have people choose their observation partners based on scheduling availability, because I know at least one person couldn’t make it to the “ideal” session.

As each pair watched the instruction session, they took notes and wrote down questions they had about the approach the librarian was taking. This was for the one-on-one meeting each pair would have after the session. The idea was not to look for flaws, but to better understand their approach and brainstorm together better ways of meeting their instructional goals. But I think we all found that the act of watching two other people teach was actually far more enlightening than the conversations we had about our own teaching (though they were valuable too). We were able to lift the veil and see other approaches, and the ideas we got from this were incorporated into our future teaching. It worked out really well for all of us.

I will say that the group I did this with was tremendously comfortable with one another. We trusted and relied on each other, and I think that was what made it possible to do this successfully. At an institution where librarians are more anxious about their teaching or simply don’t trust each other enough, the approach might require tweaks. Maybe there is no meeting after the instruction sessions to discuss and reflect on them. Maybe instead, every librarian just observes two other librarians teaching. That, in and of itself, is so valuable. Or maybe your colleagues are just not comfortable letting other librarians watch them teach. These are not concerns to just brush off and ignore. It takes time to build a culture of trust, so if it’s not there yet, you need to find other ways to build a community of practice and ethic of peer learning that get people relying on each other for their learning and instructional improvement. It’s well worth the work.

One way to do this without peer observation is through reflective peer coaching, “a formative model that examines intentions prior to teaching and reflections afterwards” (Vidmar, 2006). We did this several times at one of my places of work and everyone who participated found it really helpful. We adopted the model promoted by our wonderful colleague at Southern Oregon University, Dale Vidmar. If you’re interested in improving teaching and reflective practice, he is a guy to know (or at least read his work!).

So, with reflective peer coaching, librarians pair up and meet once before the individual instruction sessions they want to reflect on are going to be taught. In that first meeting, each librarian talks about the session and their goals for it. They may also discuss concerns or fears that they have about the session, though not everyone will be comfortable with that. Their partner may ask questions to elicit further reflection on their goals and approach, but they are not there to make suggestions.

The pairs do not actually observe the instruction sessions they’ve heard about. Instead, they meet afterwards to discuss how it went. The act of doing this is what really creates a culture of reflective practice. Taking the time to really think about what went well, what didn’t, and how you might improve next time is so valuable. Having to articulate that to someone else, who may be asking probing questions that get you thinking more deeply about the session, leads to even greater learning. I provided each pair with suggested questions (most of which were borrowed from Dale’s work) that they could ask to elicit responses from their partner, but they were free to conduct these conversations however they chose so long as it wasn’t focused on making suggestions to their partner (which is harder to avoid than you might think! We naturally want to offer our help!). In Dale’s model, there is a third person involved, an observer, who makes sure that the pair is focused on reflection and questioning, not suggesting or advising and makes note of any really interesting comments from the person reflecting. Given how busy my colleagues were, we didn’t have observers.

Another way to build a culture of peer learning is through workshopping instruction sessions. This is where a single librarian talks about a session they’ve taught before or are teaching soon with the rest of the instruction librarians or community of practice. Maybe it’s one that is problematic for one reason or another — no computers for the students, big lecture class, instructor asking them to teach ALL THE THINGS, short time-frame, etc. — or it may just be one the librarian wasn’t satisfied with or is anxious about. So they come to their community of practice seeking feedback. How this plays out depends on the time constraints. It can range from simply offering suggestions to collaboratively redesigning the entire session in sub-groups to give the librarian seeking feedback a variety of different approaches to consider. Either way, the focus is on improving the teaching of a single session. While even this can be intimidating, it doesn’t really require laying yourself bare in the same way you would if your colleagues were actually watching you teach. We tried this a few times at our monthly instruction meetings at Portland State and it went pretty well.

Dale Vidmar (2006) writes that “two essential elements to meaningful collaboration and reflection are to create a trusting relationship and to promote thought and inquiry.” But what if you don’t have a community of practice at your place of work? What if there isn’t a culture of trust and the group dynamics are such that trying to create it would be fraught with peril? Well, you can create your own informal community of practice with even just one other colleague. In that case, it’s mainly about having a buddy you trust that you can bounce ideas off of. The value of this cannot be overstated. Even if you are part of a community of practice, I think having a buddy or two (or more) with whom you feel comfortable enough to share your fears and seek help from on a more frequent basis is critical in the workplace. At Portland State, I had my “pocket of wonderful”, a group with whom I was constantly talking about instruction sessions, and who did the same with me. When I created a new tutorial, they always got the first look before I sent things to the larger instruction list. I learned so much from them and feel like I’m a better instructor thanks to the informal conversations we had. At PCC, I was lucky in my first term to have a wonderful colleague who showed me his approaches to teaching certain classes (that I’d be teaching too), warned me about problematic instructors, and gave me valuable feedback. All of my colleagues are completely lovely and helpful, but his support of my instructional practice was invaluable. I hope in the future, I can be of help to him.

We don’t have to struggle alone. Whether you have a single trusted colleague or a large group that meets regularly, you can find ways to build a practice of reflection and peer learning around instruction.


Work Cited

Vidmar, Dale J. 2006. Reflective peer coaching: Crafting collaborative self-assessment in teaching.
Research Strategies 20: 135-148. (you can find a .doc file of this article on Dale’s website)

 Photo credit: Reflecting Critically to Improve Action, A Guide for Project M & E

John Miedema: “Instead of asking ‘Where does this metaphysics of the universe begin?’ – which was a virtually impossible question – all he had to do was just hold up two slips and ask, ‘Which comes first?'”

planet code4lib - Wed, 2014-12-31 14:47

Because he didn’t pre-judge the fittingness of new ideas or try to put them in order but just let them flow in, these ideas sometimes came in so fast he couldn’t write them down quickly enough. The subject matter, a whole metaphysics, was so enormous the flow had turned into an avalanche. The slips kept expanding in every direction so that the more he saw the more he saw there was to see. It was like a Venturi effect which pulled ideas into it endlessly, on and on. He saw there were a million things to read, a million leads to follow … too much … too much … and not enough time in one life to get it all together. Snowed under.

There’d been times when an urge surfaced to take the slips, pile by pile, and file them into the door of the coal stove on top of the glowing charcoal briquets and then close the door and listen to the cricking of the metal as they turned into smoke. Then it would all be gone and he would be really free again.

Except that he wouldn’t be free. It would still be there in his mind to do.

So he spent most of his time submerged in chaos, knowing that the longer he put off setting into a fixed organization the more difficult it would become. But he felt sure that sooner or later some sort of a format would have to emerge and it would be a better one for his having waited.

Eventually this belief was justified. Periods started to appear when he just sat there for hours and no slips came in – and this, he saw, was at last the time for organizing. He was pleased to discover that the slips themselves made this organizing much easier. Instead of asking ‘Where does this metaphysics of the universe begin?’ – which was a virtually impossible question – all he had to do was just hold up two slips and ask, ‘Which comes first?’ This was easy and he always seemed to get an answer. Then he would take a third slip, compare it with the first one, and ask again, ‘Which comes first?’ If the new slip came after the first one he compared it with the second. Then he had a three-slip organization. He kept repeating the process with slip after slip.

Pirsig, Robert M. (1991). Lila: An Inquiry into Morals. Pg. 24.

Alf Eaton, Alf: The trouble with scientific software

planet code4lib - Wed, 2014-12-31 12:44

Via Nautilus’ excellent Three Sentence Science, I was interested to read Nature’s list of “10 scientists who mattered this year”.

One of them, Sjors Scheres, has written software - RELION - that creates three-dimensional images of protein structures from cryo-electron microscopy images.

I was interested in finding out more about this software: how it had been created, and how the developer(s) had been able to make such a significant improvement in protein imaging.

The Scheres lab has a website. There’s no software section, but in the “Impact” tab is a section about RELION:

“The empirical Bayesian approach to single-particle analysis has been implemented in RELION (for REgularised LIkelihood OptimisatioN). RELION may be downloaded for free from the RELION Wiki). The Wiki also contains its documentation and a comprehensive tutorial.”

I was hoping for a link to GitHub, but at least the source code is available (though the “for free” is worrying, signifying that the default is “not for free”).

On the RELION Wiki, the introduction states that RELION “is developed in the group of Sjors Scheres” (slightly problematic, as this implies that outsiders are excluded, and that development of the software is not an open process).

There’s a link to “Download & install the 1.3 release”. On that page is a link to “Download RELION for free from here”, which leads to a form, asking for name, organisation and email address (which aren’t validated, so can be anything - the aim is to allow the owners to email users if a critical bug is found, but this shouldn’t really be a requirement before being allowed to download the software).

Finally, you get the software: relion–1.3.tar.bz2, containing files that were last modified in February and June this year.

The file is downloaded over HTTP, with no hash provided that would allow verification of the authenticity or correctness of the downloaded file.

The COPYING file contains the GPLv2 license - good!

There’s an AUTHORS file, but it doesn’t really list the contributors in a way that would be useful for citation. Instead, it’s mostly about third-party code:

This program is developed in the group of Sjors H.W. Scheres at the MRC Laboratory of Molecular Biology. However, it does also contain pieces of code from the following packages: XMIPP: http:/ BSOFT: HEALPIX: Original disclaimers in the code of these external packages have been maintained as much as possible. Please contact Sjors Scheres ( if you feel this has not been done correctly.

This is problematic, because the licenses of these pieces of software aren’t known. They are difficult to find: trying to download XMIPP hits another registration form, and BSOFT has no visible license. At least HEALPIX is hosted on SourceForge and has a clear GPLv2 license.

The CHANGELOG and NEWS files are empty. Apart from the folder name, the only way to find out which version of the code is present is to look in the configure script, which contains PACKAGE_VERSION=‘1.3’. There’s no way to know what has changed from the previous version, as the previous versions are not available anywhere (this also means that it’s impossible to reproduce results generated using older versions of the software).

The README file contains information about how to credit the authors of RELION if it is used: by citing the article Scheres, JMB (2011) (DOI: 10.1016/j.jmb.2011.11.010) which describes how the software works (the version of the software that was available in 2011, at least). This article is Open Access and published under CC-BY v3 (thanks MRC!).

Suggested Improvements

The source code for RELION should be in a public version control system such as GitHub, with tagged releases.

The CHANGELOG should be maintained, so that users can see what has changed between releases.

There should be a CITATION file that includes full details of the authors who contributed to (and should be credited for) development of the software, the name and current version of the software, and any other appropriate citation details.

Each public release of the software should be archived in a repository such as figshare, and assigned a DOI.

There should be a way for users to submit visible reports of any issues that are found with the software.

The parts of the software derived from third-party code should be clearly identified, and removed if their license is not compatible with the GPL.

For more discussion of what is needed to publish citable, re-usable scientific software, see the issues list of Mozilla Science Lab's "Code as a Research Object" project.


Subscribe to code4lib aggregator