https://github.com/jaywonchung/reason Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Customer Stories + White papers, Ebooks, Webinars + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. {{ message }} jaywonchung / reason Public * Notifications * Fork 3 * Star 145 A shell for research papers License MIT license 145 stars 3 forks Activity Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Wiki * Security * Insights jaywonchung/reason This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 1 branch 13 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/j] Use Git or checkout with SVN using the web URL. [gh repo clone jaywon] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @jaywonchung jaywonchung Add exclusive_label_groups and improve doc/README ... 351ebb7 Aug 4, 2023 Add `exclusive_label_groups` and improve doc/README 351ebb7 Git stats * 115 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github/workflows Update macos runner version July 28, 2023 20:07 examples Add example image for printf August 25, 2021 18:29 man Add exclusive_label_groups and improve doc/README August 4, 2023 12:59 src Add exclusive_label_groups and improve doc/README August 4, 2023 12:59 .gitignore Add .DS_Store to .gitignore March 16, 2023 00:39 Cargo.lock Add exclusive_label_groups and improve doc/README August 4, 2023 12:59 Cargo.toml Add exclusive_label_groups and improve doc/README August 4, 2023 12:59 LICENSE Create LICENSE August 3, 2021 16:12 README.md Add exclusive_label_groups and improve doc/README August 4, 2023 12:59 View code [ ] Reason: A Shell for Research Papers How it works Filter and list papers Import new papers Read, take notes, and create books! printf Commands Installation Cross-Platform Support Documentation Configuration README.md Reason: A Shell for Research Papers * Did I ever read this paper? * Which OSDI 2021 papers did I read? * Which ones have the word 'Distributed' in their titles? * How many papers in 2020 were co-authored by Professor Mosharaf Chowdhury? Well, ask reason. How it works Filter and list papers $ reason >> # Show all papers. >> ls +----------------------------------------------------------+----------------+---------+------+ | title | first author | venue | year | +============================================================================================+ | Shadowtutor: Distributed Partial Distillation for Mobile | Jae-Won Chung | ICPP | 2020 | | Video DNN Inference | | | | |----------------------------------------------------------+----------------+---------+------| | Efficient Memory Disaggregation with Infiniswap | Juncheng Gu | NSDI | 2017 | |----------------------------------------------------------+----------------+---------+------| | Refurbish Your Training Data: Reusing Partially | Gyewon Lee | ATC | 2021 | | Augmented Samples for Faster Deep Neural Network | | | | | Training | | | | |----------------------------------------------------------+----------------+---------+------| | Finding Consensus Bugs in Etherium via Multi-transaction | Youngseok Yang | OSDI | 2021 | | Differential Fuzzing | | | | |----------------------------------------------------------+----------------+---------+------| | Tiresias: A GPU Cluster Manager for Distributed Deep | Juncheng Gu | NSDI | 2019 | | Learning | | | | |----------------------------------------------------------+----------------+---------+------| | Nimble: Lightweight and Parallel GPU Task Scheduling for | Woosuk Kwon | NeurIPS | 2020 | | Deep Learning | | | | +----------------------------------------------------------+----------------+---------+------+ >> # Filter by 'title'. All these are regexes! >> ls 'Deep Learning$' +------------------------------------------------------------+--------------+---------+------+ | title | first author | venue | year | +============================================================================================+ | Tiresias: A GPU Cluster Manager for Distributed Deep | Juncheng Gu | NSDI | 2019 | | Learning | | | | |------------------------------------------------------------+--------------+---------+------| | Nimble: Lightweight and Parallel GPU Task Scheduling for | Woosuk Kwon | NeurIPS | 2020 | | Deep Learning | | | | +------------------------------------------------------------+--------------+---------+------+ >> # You may set default filters with `cd`. >> # BTW, `cd .`, `cd ..`, `cd -`, and `cd` are supported, too. >> cd 'Deep Learning$' >> pwd title matches 'Deep Learning$' >> # Default filter are automatically applied. >> # Infiniswap (NSDI'17) is not shown, because its title doesn't match 'Deep Learning$'. >> ls at NSDI +------------------------------------------------------------+--------------+---------+------+ | title | first author | venue | year | +============================================================================================+ | Tiresias: A GPU Cluster Manager for Distributed Deep | Juncheng Gu | NSDI | 2019 | | Learning | | | | +------------------------------------------------------------+--------------+---------+------+ >> # Delete Tiresias. >> ls at NSDI | rm Removed 1 paper. Import new papers >> # Import directly from arXiv and USENIX. This will also download paper PDFs. >> curl https://arxiv.org/abs/2105.11367 +--------------------------------------------------------+--------------+-------+------+ | title | first author | venue | year | +======================================================================================+ | FedScale: Benchmarking Model and System Performance of | Fan Lai | arXiv | 2021 | | Federated Learning | | | | +--------------------------------------------------------+--------------+-------+------+ >> curl https://www.usenix.org/conference/nsdi21/presentation/you +------------------------------------------+--------------+-------+------+ | title | first author | venue | year | +========================================================================+ | Ship Compute or Ship Data? Why Not Both? | Jie You | NSDI | 2021 | +------------------------------------------+--------------+-------+------+ >> # Modify paper metadata. >> ls ship | set as Kayak >> # Or, import manually. >> touch 'Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift' by 'Sergey Ioffe, Christian Szegedy' at ICML in 2015 as BN @ BatchNorm.pdf +--------------------------------------------------------------+--------------+-------+------+ | title | first author | venue | year | +============================================================================================+ | Batch Normalization: Accelerating Deep Network Training by | Sergey Ioffe | ICML | 2015 | | Reducing Internal Covariate Shift | | | | +--------------------------------------------------------------+--------------+-------+------+ Read, take notes, and create books! >> # Open with a PDF viewer (`open`) and edit markdown notes with your editor (`ed`). >> ls 'Why Not Both' | open | ed +------------------------------------------+--------------+-------+------+ | title | first author | venue | year | +========================================================================+ | Ship Compute or Ship Data? Why Not Both? | Jie You | NSDI | 2021 | +------------------------------------------+--------------+-------+------+ >> # Format your markdown notes into an HTML book, and open it in your browser. >> ls 'Deep Learning' | printf +------------------------------------------------------------+--------------+---------+------+ | title | first author | venue | year | +============================================================================================+ | Tiresias: A GPU Cluster Manager for Distributed Deep | Juncheng Gu | NSDI | 2019 | | Learning | | | | |------------------------------------------------------------+--------------+---------+------| | Nimble: Lightweight and Parallel GPU Task Scheduling for | Woosuk Kwon | NeurIPS | 2020 | | Deep Learning | | | | +------------------------------------------------------------+--------------+---------+------+ printf printf will create an HTML book from your notes. printf Commands Invoking reason will start a new command prompt. It accepts unix-like commands that instead work on research papers in your paperbase. Works now: * ls filters and prints papers in table format. Default columns are title, first author(by1), venue(at), and year(in). * cd adds an AND filter to the default set of filters (which is empty upon startup). * pwd shows the current default filter set by cd. * touch creates a new entry in your paperbase. * curl imports papers from the web, e.g. arXiv or usenix.org. It also downloads paper PDFs if available. Also experimentally supports downloading raw PDF urls and inferring metadata fields. * rm removes entries from your paperbase. * set sets paper attributes, including custom labels that can also be used to give colors to papers in ls. * printf creates an HTML page of your notes using mdbook. * open opens the paper with your PDF viewer (configurable, defaults to zathura). * ed opens your editor (configurable, defaults to vim), in which you can edit your notes. * wc counts the number of papers. * man plus a command will print documentation for that command. * exit or Ctrl-d quits reason. Not yet, but hopefully soon (Contributions are more than welcome!): * grep returns a list of papers whose notes contain the query string that you specify. * sort sorts papers by given columns. * stat prints the metadata and notes of papers. * top prints out a summary of your paperbase. Installation You can grab binaries from Releases, or you can run cargo install reason-shell. Cross-Platform Support reason currently supports Linux and MacOS. Windows is excluded because the owner does not currently own a Windows machine. In order to share data between multiple platforms, users are encouraged to locate reason metadata, PDF files, and markdown notes in a location synced by cloud storage services such as Google Drive. I use the official Google Drive app on MacOS and Insync on Linux. This offers an extra benefit - you can read PDFs with your iPad, also synced with the cloud storage. Documentation If you already have reason, run man man to view the top-level documentation. If you're just exploring whether to use reason, take a look at the man directory. Configuration The configuration file is kept at ~/.config/reason/config.toml. If not present, reason will generate one populated with default settings. For more information, open reason and run man config, or read man/ config.md. About A shell for research papers Topics research command-line academic-paper Resources Readme License MIT license Activity Stars 145 stars Watchers 3 watching Forks 3 forks Report repository Releases 13 v0.3.10 Latest Aug 4, 2023 + 12 releases Packages 0 No packages published Used by 3 * @enhuiz @enhuiz / reason * @isgasho @isgasho / reason * @jaywonchung @jaywonchung / reason Contributors 3 * @jaywonchung jaywonchung Jae-Won Chung * @enhuiz enhuiz Zhe Niu * @weirdsmiley weirdsmiley Manas Languages * Rust 100.0% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time.