Research is 50% organization, 30% persistence, 15% curiosity, and 5% inspiration. The inspirational part is important, but much of the real work happens in the background: keeping track of ideas, papers, code, data, deadlines, and next steps. This page collects useful links, tools, and advice to help you build that foundation and get started with your research project:
- Bibliography management
- Reading scientific papers
- Giving talks and presentations
- Setting up a Linux environment
- Getting comfortable with the terminal
- Version control with Git
- Using AI tools responsibly
1. Bibliography management
The first step when starting a new project is to getting up to date with the current literature on the topic. The key tool for this is Science Explorer, which replaced the NASA/ADS system in 2026 and remains the main search engine used in astrophysics:

Science Explorer allows you to search for papers in many different ways: by first author, combinations of authors, publication year, keywords in the abstract, journal, or title. This makes it possible to quickly identify the most relevant literature on a topic.
A particularly useful feature is the ability to navigate the citation network of a paper. From any article you can easily list all papers that cite it, as well as extract the full list of references used in that paper. This allows you to efficiently move both forward and backward in the literature, which is often the fastest way to understand how a field has developed.
Science Explorer can also export references directly in BibTeX format, which is the standard format used to manage citations in LaTeX manuscripts. Keeping your references organized in BibTeX files is essential when writing papers, as it allows you to maintain a consistent bibliography and easily reuse references across projects.
I strongly recommend creating a personal account on Science Explorer. With an account you can create Libraries, which are collections of papers grouped by topic or project. Whenever you begin a new research project, it is good practice to create a dedicated library and gradually populate it with relevant papers as you read them. Over time this becomes a curated bibliography that makes it much easier to keep track of the literature related to your project. Libraries can also be shared with collaborators, allowing them to view and add articles to the collection. If you are working on a project with me, please add me to the library as a collaborator with write permissions using my usual Gmail address. An example of such a library is shown below:

It is also possible to use large language models (LLMs), such as ChatGPT or Claude, to assist with literature searches. These tools can be useful for identifying key papers, summarizing topics, or suggesting possible references related to a research question. However, they must be used with care. When asking an LLM to search for papers, it is important to explicitly instruct it to use internet sources or the arXiv database when available, rather than relying solely on its internal training data.
Another important point to keep in mind is that LLMs sometimes hallucinate references: they may generate papers, authors, or journal articles that sound plausible but do not actually exist. For this reason, any references suggested by an LLM should always be verified through reliable databases such as Science Explorer before being used in your work. When used cautiously and in combination with proper literature databases, LLMs can nevertheless be a helpful tool for quickly exploring unfamiliar topics or identifying possible directions in the literature.
2. Reading scientific papers
Reading a scientific paper is different from most other types of reading because it is inherently non-linear. Rather than proceeding from beginning to end, one typically starts with the abstract, then moves to the figures and conclusions, going back to the introduction or methods only when needed.
There are also different ways to read a paper, depending on your goal. Are you trying to get a general overview of a topic? Looking for a specific method or result? Or attempting to reproduce or extend the work? Your objective determines how deeply you need to engage with the paper. In practice, most papers do not need to be read in full detail.
A useful approach is to proceed in stages:
I. First pass: skimming
Begin with a rapid overview (5–10 minutes), focusing on:
- Title and abstract
- Figures (often the most informative part) and their captions
- Conclusions
At this stage, try to answer:
- What problem is being addressed?
- What is the main result?
- Is this paper relevant to my work?
If not, move on. Given the large volume of papers published every day, efficient filtering is essential.
II. Second pass: understanding the structure
If the paper appears relevant, read it more carefully, focusing on its overall structure and logic. At this stage, the goal is not yet to master every technical detail, but to understand how the argument is built and how the main result is supported. Pay particular attention to:
- Introduction: context and motivation
- Methods: how it was actually done
- Results: what was found
- Figures: how results are supported
- Discussion: how the results are interpreted and placed in the broader context of the literature
- Conclusions or Summary: the main take-away messages and the authors’ interpretation of the results
Note that not all of these sections are always present as separate parts of the paper. In astrophysical papers, for example, the discussion and conclusions are often combined into a single final section, and some of the interpretation may already appear within the results section.
Do not worry if some derivations, technical steps, or implementation details remain unclear on this pass. Instead, focus on identifying:
- The main idea
- The assumptions behind the analysis
- The scope and limitations of the work
By the end of this stage, you should have a clear picture of what the authors did, why they did it, and why the result matters.
III. Third pass (if needed): deep understanding
A third pass is only necessary for a small number of papers, typically the most important ones for your project: for example, papers whose methods you want to use, results you want to reproduce, or ideas you want to extend.
At this stage, read the paper in detail and engage with it actively. This may include:
- Going through derivations and methods step by step
- Checking how the main results are obtained
- Comparing the work with related papers
- Reproducing simple calculations, figures, or intermediate results when relevant
This is the stage at which the paper becomes part of your working knowledge rather than just part of the background literature. By the end of this pass, you should be able to explain the paper clearly in your own words, summarize its strengths and limitations, and understand how it connects to your own research.
IV. Looking beyond the paper: the citation network
Papers should not be read in isolation. A scientific article is part of a broader conversation, and understanding that context is often just as important as understanding the paper itself. Science Explorer makes it easy to navigate this citation network. In practice, this means:
- Checking the references of a paper to identify foundational or earlier work
- Checking the citations to see how the paper has been followed up, refined, or challenged by later studies
This is often the fastest way to map the development of a field, identify the key contributions, and distinguish central papers from more peripheral ones.
V. Taking notes and building your bibliography
Reading papers becomes much more useful when it is accompanied by systematic note-taking. As you go through the literature, try to record concise but useful information that you can return to later. For each paper, it is often enough to note:
- A short summary in your own words (for example, 3-5 lines)
- The key results or methods
- Any important figures, equations, or assumptions
- Why the paper is relevant to your project
At the same time, add the paper to your project library or bibliography collection. Over time, this will grow into a curated set of references that is much easier to navigate than a long unstructured list of papers.
Good notes may seem tedious at first, but they save a great deal of time later, especially when writing introductions, comparing methods, or returning to a topic after several weeks or months.
Final remarks
A few general principles are worth keeping in mind when reading the literature:
- Do not aim for complete understanding on the first pass. It is entirely normal not to understand every detail, especially when exploring a new topic.
- Focus first on extracting the main idea of the paper and its relevance to your own problem.
- Deep technical understanding often comes only after repeated readings and after you have built more context from related papers.
- Read many papers superficially, but only a small number in depth. Efficient filtering is an essential skill.
- When approaching a new topic, recent review papers are often the best starting point, since they provide both context and key references.
- Revisit important papers multiple times. A paper that seems opaque at first often becomes much clearer once you have read more broadly.
- Discuss papers with collaborators, supervisors, or colleagues whenever possible. Explaining a paper aloud, or hearing how someone else interprets it, is often one of the fastest ways to clarify its content.
As with many things in life, you learn how to read papers by reading them. The goal is not to read everything exhaustively or get lost in technical details, but to extract what is most useful for your research. Most of all, learning how to read papers will greatly help you when it comes to writing them.
4. Setting up a Linux environment
Whether you need to run numerical simulations, compile scientific codes, or analyze data, you will almost certainly need access to a Unix-like environment. Most scientific software is developed and tested primarily on Linux systems, and many tools commonly used in research (such as compilers, scripting utilities, package managers) are designed with Unix environments in mind.
Using macOS can also be an option, since it is Unix-based. However, Apple machines are typically more expensive than comparable Windows machines, and I personally have little experience with macOS. This means that if you encounter problems with that system, I may not be able to help you troubleshoot them easily.
Linux, on the other hand, is free, flexible, and widely used in scientific computing. There are many Linux distributions (different packaged versions of the operating system) and desktop environments (the graphical interface). My personal preference is Fedora with the XFCE desktop environment, which is lightweight and tends to provide more up-to-date software than many other distributions. However, if you are coming from Windows and have little prior experience with Linux, I generally recommend Ubuntu, which is one of the most widely used distributions and has excellent documentation and community support. Ubuntu normally ships with the GNOME desktop environment, which provides a modern and user-friendly interface.
If you start with a Windows computer, there are two main ways to install Linux alongside it.
Dual boot
The traditional approach is to configure a dual-boot system, where both Windows and Linux are installed on the same machine but on different disk partitions. When the computer starts, you can choose which operating system to boot.
To do this, you first download the Ubuntu installation image (an ISO file) and create a bootable USB drive. You then restart the computer and boot from the USB device through the BIOS or boot menu. During installation, Ubuntu allows you to resize the existing Windows partition (typically formatted as NTFS) and allocate space for the Linux system, which usually uses the ext4 filesystem.
The advantage of dual boot is that Linux runs directly on the hardware with full performance. The downside is that switching between systems requires restarting the computer, and disk partitioning must be done carefully.
Windows Subsystem for Linux (WSL)
A more convenient option for many users is the Windows Subsystem for Linux (WSL). WSL allows you to run a Linux distribution directly within Windows using lightweight virtualization technology. It does not have the overhead of a full virtual machine and integrates well with the Windows filesystem.
By default, WSL installs the Ubuntu distribution, and once installed you can use a Linux terminal, install packages, compile software, and run many scientific tools exactly as you would on a native Linux system.
For many research workflows (especially coding, scripting, and data analysis) WSL is often the simplest and most practical solution. Dual boot remains preferable if you need full hardware access, GPU acceleration, or a complete Linux desktop environment.
5. Getting comfortable with the terminal
Once you have access to a Unix environment, the next step is becoming familiar with the terminal (also called the command line or shell). While graphical interfaces are useful, much of scientific computing (compiling code, running simulations, installing software, managing files, or interacting with remote clusters) is done from the terminal. Developing basic command-line skills early will save you a great deal of time later.
If you are using WSL on Windows, you will need a terminal application to interact with your Linux environment. Windows ships with Windows Terminal, which works well, but there are also several alternatives. One terminal emulator I personally like is Tabby, which supports tabs, split terminals, SSH connections, and good customization options.
If you are running native Linux, your system already includes a terminal application. Ubuntu typically provides GNOME Terminal, while Fedora XFCE uses XFCE Terminal. These are perfectly adequate and require no additional setup.
Once you open the terminal, you will usually interact with the system through a shell, most commonly bash. At first the command line may feel unfamiliar, but the basic concepts are straightforward. Some commands you will quickly learn to use include:
ls— list files in a directorycd— change directorypwd— show the current directorymkdir— create a directorycp,mv,rm— copy, move, and remove filescat,less,head,tail— inspect text filesgrep— search text inside files
Learning a few additional conventions is also extremely useful. For example:
- The tab key performs command and filename completion.
- The arrow keys allow you to navigate previous commands.
- Ctrl + R searches your command history interactively. After pressing it, start typing part of a previous command and the shell will suggest matches from your history. Press Ctrl + R repeatedly to cycle through matches.
- The
mancommand (for exampleman ls) shows the manual page for most tools. - Most commands support the
--helpflag for quick documentation.
The terminal also becomes especially powerful when combined with tools such as ssh (for logging into remote machines), git (for version control), and package managers such as apt or dnf for installing software.
There are many excellent online introductions to the Unix command line. If you are new to the terminal, it is worth spending a few hours working through a short tutorial. Some good starting points are:
- Software Carpentry — The Unix Shell
- MIT Missing Semester — Command Line Environment
- Linux Journey — interactive Linux lessons
Once you become comfortable with the terminal, you will find that many tasks become faster and easier than using graphical tools. It is one of the most important skills to acquire early when starting computational research.
