{"id":439,"date":"2012-01-15T05:00:39","date_gmt":"2012-01-15T05:00:39","guid":{"rendered":"http:\/\/www.dabacon.org\/newpontiff\/?p=57"},"modified":"2012-01-15T05:00:39","modified_gmt":"2012-01-15T05:00:39","slug":"ide-tools-for-reading-research-papers","status":"publish","type":"post","link":"https:\/\/dabacon.org\/caelifera\/2012\/01\/15\/ide-tools-for-reading-research-papers\/","title":{"rendered":"IDE Tools for Reading Research Papers?"},"content":{"rendered":"<p>It&#8217;s been over six months I made the <a href=\"http:\/\/dabacon.org\/pontiff\/?p=4895\">jump<\/a> from quantum computing theory professor at the University of Washington to software engineer at Google. When I hear from my friends back in quantum computing, the second question they ask is, &#8220;what&#8217;s it like?&#8221; (the first question is whether Google wants to build a quantum computer.) \u00a0There are lots of answers to this question, but what I think is really interesting is not how I feel about the ins and outs of this new career, but what I found the most surprising about the similarities between my new jobs and my old job. \u00a0And, for me, hands down, the most surprising similarity is between reading papers and reading other peoples code.<\/p>\n<p><a href=\"http:\/\/167.99.98.246\/caelifera\/wp-content\/uploads\/sites\/4\/2012\/01\/papercode.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-58\" title=\"papercode\" src=\"https:\/\/dabacon.org\/caelifera\/wp-content\/uploads\/2012\/01\/papercode-282x300.png\" alt=\"\" width=\"282\" height=\"300\" \/><\/a>Reading a a paper in a new subject area was definitely one of the favorite parts of my old job (and a central skill to being a good researcher.) \u00a0You&#8217;d start out, often, with only a small clue about the subject of the paper. \u00a0Often you were led to the paper by a search that hit a few keywords, and an abstract that seemed interesting. \u00a0But after a few pages it often becomes clear that there are all sorts of terms and ideas that you just haven&#8217;t seen before. \u00a0And so you often have to spend some time doing some reading of other papers that contain the terms you don&#8217;t understand and see if they help. \u00a0Mostly they don&#8217;t, but sometimes they do and then you can backtrack and figure out some of what the first paper said. \u00a0This sort of jumping around, at least for me, occurred quite a bit as I&#8217;d try to parse a paper,\u00a0interspread with periods of logical thought and pen and paper verification of calculations.<\/p>\n<p><a href=\"http:\/\/167.99.98.246\/caelifera\/wp-content\/uploads\/sites\/4\/2012\/01\/Screen-shot-2012-01-14-at-8.57.05-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-60\" title=\"Screen shot 2012-01-14 at 8.57.05 PM\" src=\"https:\/\/dabacon.org\/caelifera\/wp-content\/uploads\/2012\/01\/Screen-shot-2012-01-14-at-8.57.05-PM-300x154.png\" alt=\"\" width=\"300\" height=\"154\" srcset=\"https:\/\/dabacon.org\/caelifera\/wp-content\/uploads\/sites\/4\/2012\/01\/Screen-shot-2012-01-14-at-8.57.05-PM-300x154.png 300w, https:\/\/dabacon.org\/caelifera\/wp-content\/uploads\/sites\/4\/2012\/01\/Screen-shot-2012-01-14-at-8.57.05-PM.png 344w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Reading other peoples code is very similar. \u00a0At first you start looking at some class, say, and you have some vague idea what it does. \u00a0Documentation and implicit documentation through naming gives \u00a0you some idea of what is going on, but quickly you often see the code start calling code that you don&#8217;t know how it works or what it exactly does, and so you have to go track down that other class, and then figure it out, and then backtrack. \u00a0Of course this is often interspread with bits of following the logic of the code. \u00a0Today, with modern IDE tools, this sort of jumping back and forth becomes a quick habit and makes the process of figuring out someone else&#8217;s code significantly easier.<\/p>\n<p>Which got me thinking. \u00a0Why aren&#8217;t there modern tools for reading research documents that provide some of the functionality that is found in IDEs such as Eclipse? \u00a0Certainly some authors are gracious enough to compile their LaTeX such that their citation data is a link, but this is a long way from having PDFs where you can click on citations in the text and then you get immediately transported to the other paper, maybe even to the particular location in the paper that is relevant. \u00a0I think the technical challenge here is providing hooks between the documents: how do I make a citation that is more than just citing the full paper (wouldn&#8217;t it be nice if you specified the set of ranges of relevant lines in the paper?) \u00a0There are certainly very cool tools out there now for storing and parsing your scientific papers, but while the implicit linking between these papers is complex, most of this complexity is buried in the [12] citation pater. \u00a0But maybe solutions for this are already out there? \u00a0Thoughts?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s been over six months I made the jump from quantum computing theory professor at the University of Washington to software engineer at Google. When I hear from my friends back in quantum computing, the second question they ask is, &#8220;what&#8217;s it like?&#8221; (the first question is whether Google wants to build a quantum computer.) &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/dabacon.org\/caelifera\/2012\/01\/15\/ide-tools-for-reading-research-papers\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;IDE Tools for Reading Research Papers?&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2,7],"tags":[],"class_list":["post-439","post","type-post","status-publish","format-standard","hentry","category-academia","category-code"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/posts\/439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/comments?post=439"}],"version-history":[{"count":0,"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/posts\/439\/revisions"}],"wp:attachment":[{"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/media?parent=439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/categories?post=439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dabacon.org\/caelifera\/wp-json\/wp\/v2\/tags?post=439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}