Feels like Censorship

I just got informed that my second paper on basic block versioning, an extension of my previous work, has been rejected. Most academics don't really talk about these things. You probably shouldn't publicly say that your paper has been rejected, because you want to project some kind of image of never-ending flawless success. The calculated, business-like, aseptic thing to do is to keep quiet, rework your paper, submit it somewhere else, rinse and repeat.

I'm talking about it. I need to let out some steam, express my frustrations a little bit. If that's a bad career move, well, so be it. I don't want to spend my life hiding behind a façade, pretending I'm perfect and always cheerful. Living life without ever expressing yourself is a fast path to depression, if you ask me. At the moment, I'm both frustrated and sad. I've spent months working on this paper. It was a good paper. Somehow though, it wasn't good enough. It didn't make the cut. Better luck next time. Call me cynical, but it is a little depressing considering this conference has an acceptance rate of about 45%. Damn.

I've worked as part of a conference's program committee before. I've had to evaluate a paper about a programming language that consisted of a hand-written AST encoded in XML, with no tool support. I think the paper was 8 pages long. They were pitching this as a revolutionary new idea. This was back in the day of the XML-all-the-things craze. Are you telling me that my latest submission is in the same category as the XML one? I guess when it comes to computer science conferences, you're either a zero or a one. There is no middle ground. Your idea is either deserving of publication, or piped into /dev/null.

The perverse thing is that this constant stream of rejection discourages exploration. As an academic, you really want your papers to get accepted. Your funding and ultimately your academic career depend on it. I've already started to adapt the way that I work. When I started my PhD, I had no idea how the paper game was played. Now, when I have a new idea for my research, I have to ask myself: it this publishable? It's really interesting, it has a lot of potential, but is it publishable?

To publish your idea, you should craft the smallest possible publishable unit. It needs to be sexy and trendy. It needs to be about JavaScript. It needs to reference as many recent papers as possible, and ideally, point in the same direction as those papers. Contradicting established wisdom is not smart. Suggesting alternatives to the established wisdom is not very smart either. You're contradicting iron-clad, proven, mathematical facts, which means you are wrong.

The reason why conferences have limited acceptance rates dates back to the days when conference papers were published in these books called "proceedings" which were purchased, printed and shipped in the mail. You couldn't accept every paper, it wasn't physically or financially possible. Nowadays, it's estimated the Google server farms have a total storage capacity rated in multiple exabytes. Conceivably, we could make all submissions to all conferences available on conference websites.

Why do so many computer science papers come without any source code? Because the current practices in our field discourage replication and encourage "massaging" of results. In the spirit of transparency, we could make all submissions available, along with all of the reviewer comments. Maybe we don't want all papers to be on the same footing. Maybe your paper would get ranked into class A, B, C or D, maybe you'd get some score on a 5 or 10 point scale. Certainly, not everyone could realistically be invited to come and give a talk. Still, is there really a need to silently discard 50 to 90% of all submissions to a conference?

It feels like censorship. When a paper is rejected, it strongly discourages further exploration of that research avenue. You're telling me that my idea doesn't deserve to be seen. Worse, you're giving my academic competitors a chance to beat me to the punch. Science is about proving and disproving things, but it's also about playing with ideas. In the world of computer science conferences, there's very little room for disproving anything, and even less room for playing with ideas. We don't have time for that. The next conference deadline is coming up real soon, and we have funding applications to write. Peer reviews can become peer pressure, a civilized form of hazing.

Fortunately, my paper is already online on arXiv. It's timestamped. It's out there. I don't know if I'll have time to publish this paper at an academic conference before the end of my PhD. I'm being pressed to finish as soon as possible, and to submit more papers. If it gets rejected one or two or three more times, it might never get into any conference. I can at least take some comfort in the idea that some of my research was published, and my latest work is out there. It might inspire someone to explore a similar research direction.

My personal opinion is that academic research in compilers is dying. It's going to go the way of operating systems research. Why? Because there's too much infrastructure to build. It takes too long. It's just not practical to publish about. These days, the game-changing, innovative work in compilers is largely happening in the industry, and it's being done by people who left academia.