Getting Started as a Researcher =============================== .. figure:: http://www.phdcomics.com/comics/archive/phd051017s.gif :alt: Ah..research life Ah..research life Motivation and Mission Statement -------------------------------- - To become a scientist is to dive into the unknown on behalf of the human-kind, it is never an easy job but can be very rewarding as well. It is good idea to always check your motivation, think about your mission statement, and confront your career and personal choices sincerely. - `Choose Your Own Adventure: Developing A Values-Oriented Framework for Your Career by Lucianne Walkowicz `__ - I think you should read this, every word of it, before you read anything else. This is probably the best career advice I have ever read. I worked on my **mission statement** right after I read this. Inclusiveness and Community Building ------------------------------------ - Read through the `AAS Code of Ethics `__ or the `ASA Code of Ethics `__ - Also the `Anti-Harassment Policy for AAS & Division Meetings & Activities `__ - `Astronomy and Astrophysics Outlist `__ - “As professionals in astronomy and astrophysics, whether we are students, faculty, staff, librarians or are working in other positions, we all like to believe that our work environment is determined only by our capabilities as students and researchers, and that it is free from personal bias. A productive professional atmosphere depends on open and accepting interactions of individuals free from discrimination and harassment.” - `AstronomyAllies - Anti-harassment in Astronomy `__ - `Equal Opportunity Astronomy: Articles & Resources `__ collected by AstroBetter. ORCID and Google Scholar ------------------------ - `ORCID `__ provides a persistent digital identifier that distinguishes you from every other researcher and, through integration in key research workflows such as manuscript and grant submission, supports automated linkages between you and your professional activities ensuring that your work is recognized. - It is a very good idea to register an ORCID and maintaine it from time to time. - It is also a good idead to start a `Google scholar `__ page Choosing a Programing Language ------------------------------ - It has become clear that `Python `__ has become the new Lingua franca in astrophysics and cosmology research and it is probably the language you want to learn first. We also prepare a series of lists to collect **Python** related resources and tools, including `basic learning materials for Python `__ ,\ `resources on improving the performace of Python `__, `on model fitting or optimization in Python `__, `on statistical analysis and model in Python `__, `on data visualization in Python `__, `on getting started with your own Python project `__. - `C `__ and `C++ `__ are still at the core of many important astrophysical applications, e.g. numerical simulations, data reduction or analysis that requires high efficiency or good performance. Many important astrophysical softwares use **C** or **C++** as the core and then wrap it up using **Python**. Here we also provide some basic resources for using `C `__ and `C++ `__ in research. `Fortran `__ is another historically important language known for its excellent numerical performance. Its influence in astronomy is decreasing right now, but you will still see it in scenarios that rely on high-performance computing. - `Julia `__ is another intersting high-level programming language on the rising. There are `several key advantages over Python `__ but it is still a young language. Right now, **Julia** tools for astronomy and astrophysics are still limited, but we decide to start to `collect relevant resoures and tools `__ - At the same time, `R `__ statistical language also has some interesting applications in astronomy; `IDL `__ was yesterday’s language for astronomical data reduction, but for historical reasons, many projects/instruments are still using it. If you just start your research in astronomy, we no longer recommend you to learn it. But in case you have to face it in research, it is `not difficult if you have a background in Python `__ - Although their applications in astrophysics are limited, `MATLAB `__ is widely used for data reduction and numerical simulation, and `Mathematica `__ is a very popular tool for symbolic analysis and theoretical research. Neither of them is free, so please make sure you have the correct license to use them. - And it never hurts if you can learn some basic programming skills related to webpage making, e.g. `HTML `__, `CSS `__, and `Javascript `__. - **It is also important to remember: never tool-shaming others!**. There are excellent scientists who still rely on **IDL**, `IRAF `__, **Fortran** for research, and using `SuperMongo `__ or `gnuplot `__ for data visualization. There are plenty of personal and practical reasons to do so and they can still do great science. Use your energy for something more positive and productive. Misc ~~~~ - `The STA663 courses at Duke University compiled a nice list of useful resources for computer skills that are useful for research `__ - `StackOverflow `__ is a community knowledge database for programming. It can be your best friends in so many situations, and you should consider helping others too. Organizing Your Research Project -------------------------------- - `GitHub `__ or any other on line code repositories (e.g. `GitLab `__, `bitbucket `__, `coding `__) can help organize your scientific project. It can help you do version control, back up research results, and also share results and code with the community. - `hub - A command-line tool that makes git easier to use with GitHub `__ - You can also keep your project synced across multiple platforms. Please see `this article `__. Notice that **gitlab** is using **v4** API now. - It is easy to `keeping in sync your Git repos on Github, Gitlab, and Bitbucket `__. All you need to do is to make sure the repos share the same name, and add multiple remotes to the same local data. - And **GitHub** allows you to `create new repository based on a template `__ - There are template available that can help you get started: - `shablona - A template for small scientific python projects `__ - If you want to start a package as your project, you can try `cookiecutter `__ - A command-line utility that creates projects from templates for Python, Javascript, Ruby, Markdown, CSS, HTML etc. - If you are interested in using **astropy** as a good template for Python project, the `astropy package template `__ is available too. Organizing a Programming Environment ------------------------------------ - Before starting some serious projects, you should be a little more patient on the learning curve and try to cultivate some good habbits. Good examples are everywhere! - Don’t waste too much time choosing editors or IDEs, just pick the first one you like, learn how to use it; if it does grow on you, change to another one. Both `vim `__ and `emacs `__ are excellent tools; `atom `__, `VScode `__, and `sublime `__ are all very good IDEs. They **all** have amazing capabilities and can help you become a great coder and scientist. - There are some useful resources that will save your time setting up the environment: - `spacemacs - A community-driven Emacs distribution `__ - `spacevim - A community-driven modular vim distribution `__ - `Awesome Emacs - A community driven list of useful Emacs packages, libraries and others `__ - `neovim - Vim-fork focused on extensibility and usability `__ - `awesome-vscode - A curated list of delightful VS Code packages and resources `__ - `awesome-atom - A curated list of delightful Atom packages and resources `__ Backing-up Your Research ------------------------ - This is as important as you can possibly imagine. - Off-line Backup: - You should constantly back-up your harddrive using external harddrive. Both MacOSX (e.g. `TimeMachine `__) and Linux (`TimeVault `__ and `Duplicity `__) have systems that help you backup data. - You can also easily backup your entire system or certain directory using a command line tool `rsync `__: **rsync -av –delete /Directory1/ /Directory2/** - On Linux, you can also use `Cron `__ to automatically backup files at any given time. For example, you can follow the instruction `here `__ - Online Backup: - It is encouraged to use service like the `Dropbox `__ to constantly backup important research-related files (e.g. draft, code, and figures). In mainland China, `jianguoyun (坚果云) `__ is an alternative. Keeping Research Notes and Documents ------------------------------------ - `Markdown `__ is a lightweight markup language with plain text formatting syntax. It is very easy to learn and can help you make well-organize notes and documents that can be easily converted into other format (**HTML** or **LaTeX**). - `Mastering Markdown by GitHub Guides `__ is a very good start. - If you want to learn more details, use `the Markdown Guide `__. - Most of the editors and IDEs support the **.md** or **.markdown** format documents through extensions. They can help you check the syntax. There are also a lot of markdown editors on all platforms. - Whatever notes or documents you are keeping for your research, make sure it can be backed-up and is searchable. Using software like the `OneNote `__ from Microsoft, or on-line service like `evernote `__ would be a good idea. If your project is already on **Github**, you can just use **git** to version control and back-up your documents. `GitHub wiki pages `__ are another great way to keep notes. Publishing Your Science ----------------------- - `A list of journals in Astronomy and Astrophysics `__ - Don’t pay too much attention to the impact factor or H-index. - Writing a paper can be painful, but it is one of the most important step in your research life. We have `a separate document talking about writing papers `__. Sharing Your Science -------------------- - `Open Science `__ is good for everybody! - You can share your results using **Github**: you can share codes, notebooks, and draft together. But it is not very good if you have large amount of data to share. - `zenodo - a general-purpose open-access repository developed under the European OpenAIRE program and operated by CERN `__ - `Dataverse - open source research data repository software `__ - `The Astrophysics Source Code Library (ASCL) `__ - `OSF - Open Science Framework `__ Talking about Your Science ~~~~~~~~~~~~~~~~~~~~~~~~~~ - It takes a lot of practice to know how to give a good talk, but there could be some useful tips to follow: - `How to give a great scientific talk by Nature `__ - `Three tips for giving a great research talk by Science `__ - `Speak your science by Astrobites (three parts) `__ - `How to Give a Great Talk by Chat Hull `__ Making a Scientific Poster ~~~~~~~~~~~~~~~~~~~~~~~~~~ - `We’re Here To Help You Make The Best Scientific Poster `__ - `Better Scientific Poster `__ - By Mike Morrison. A new, faster approach to designing research posters. Includes templates - There is a `Youtube video that describes the motivation and design `__ - `The LaTeX template `__ - `The R Markdown template `__ Reading Paper ------------- - It is important to read as much as you can. It is important to follow **arXiv** regularly. - You can check if your institute is using `voxCharta `__, a on-line platform to vote on papers and organize **arXiv** discussion. - It is good idea to have a routine that keeps record of interesting papers. Here is an examply by `me `__ - `Astrobites `__ is a very good website to follow recent interesting papers from the perspective of a graduate student. - They also provide some good advices on reading papers: `Part I `__, `Part II `__, `Part III `__ On Using arXiv and SAO/NASA ADS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arXiv ^^^^^ - `To submit an article to arXiv `__ - Please read this webpage first…submitting paper to arXiv sometimes can be annoying. - `Local time at arxiv.org `__ - To remind you the deadline for submitting paper to arXiv - `The official arXiv github repositories `__ - `arxiv.py - Python wrapper for the arXiv API `__ - `arXiv LaTeX Cleaner: Easily clean the LaTeX code of your paper to submit to arXiv `__ SAO/NASA ADS ^^^^^^^^^^^^ - `Tutorial for using the new ADS search `__ - `Official SAO/NASA ADS github repositories `__ - `ads - A Python Module to Interact with NASA’s ADS that Doesn’t Suck `__ Communicating with Others ------------------------- - `Slack `__ has become the most common way to organize a small collaboration. Even the free version can be very useful. - Telecon becomes more and more frequently used to communicate among collaborators in different institutes and timezones. Commonly used telecon tools including `Skype `__, `zoom `__, `GoToMeetings `__ - All of these tools are free and cross-platform, and easy to use. You can share screen using them for remote presentation too. - `Doodle `__ is the most commonly used tool to create a poll to decide the time slot for a meeting or telecon. Personal Website ---------------- - It is actually pretty important to have a visible personal website that links your CV and contact information. Make sure that it can be found by search engine. - This is especially important if you try to find job in another country (e.g. get a PhD in China, want a post-doc job in Europe) or when you know the hiring committee is not familiar with you. - `GitHub Pages `__ is pretty good choice to make a nice-looking personal website. And there are some `easy-to-use templates available `__, and there are `more fancy ones available `__ - `How to Create a Simple Academic Website `__ - `al-folio - A beautiful Jekyll theme for academics `__ - This is a pretty good template for academic personal wesbsite - Good examples (personal choice: clean and informative) - `Adrian Price-Whelan `__; the code can be found `here `__ - `Dan Foreman-Mackey `__; the code can be found `here `__ Conference and Talks -------------------- Scientific Conference ~~~~~~~~~~~~~~~~~~~~~ - Behave yourself professionally during conference or workshop. Please pay attention to the code of conduct. As an example, you can read the `Code of Conduct for ESO Workshops & Conferences `__ - `CADA International Astronomy Meetings `__ is a very good place to check if there is anything conference that interests you in the future. There is a RSS Feed and a **iCal** subscription. - `astromeetings Twitter account `__ is also a good way to follow the on-going conferences in your field. - It has become routine for a conferece to have a designated hashtag on Twitter for people to twit about the talk. We cannot go to all conferences (and it is `bad for the mother earth `__) - `Future IAU Meetings `__ On-line Colloquium ~~~~~~~~~~~~~~~~~~ - With Youtube, it is pretty easy to enjoy great astrophysical colloquium in universities and institutes all over the world. Here are a few good channels to get started: - `CfA Colloquium `__ and `ITC Video `__ from Harvard/CfA - `Heidelberg Astronomy `__ - `CCA Seminars `__. Some of them are about astronomy and cosmology. - `Dept of Physics & Astronomy at the University of Utah `__