A collection of tools, tips and training resources recommended by members of the ARC team to help with digital research.
Introduction
This page focuses on technological aspects: tools and resources to enable effective digital research in various ways. It has been produced from the experiences of ARC staff and their contacts, listing things we are aware have been used effectively. We will extend or adapt this list as we find out more!
Many of the tools mentioned here are free to use (up to a point) but researchers should be wary of becoming over reliant on free services provided by third parties and ensure that any important data is copied and safely backed up elsewhere.
Your work environment
Remote working
- The freedom trap: How to manage remote working.
- Wellcome Digital tips & tricks for working from home.
- Gitlab's guide for starting a remote job is extremely comprehensive, being from a company that has no central office so all staff work remotely. The getting started section is a useful jumping off point however.
- Questions and answers about remote working from different companies.
- Carpentries collaborative notes about lessons learnt on collaborative meetings.
- Book: Distributed teams.
Wellbeing
- Cuckoo is a simple web-based timer that can help you to apply time management techniques, e.g. the Pomodoro Technique.
- Mental Health First Aid (MHFA) England guide on how to stay mentally healthy while working from home.
- Workrave is a small application that will tell you to have breaks and some exercises to prevent RSI.
Managing your desktop
Collaborative working
Note taking
OneNote in Teams
If you’re using Teams, a new OneNote notebook is automatically created when a new Teams site is set up which you can access by clicking on the Staff Notebook or Notes tab at the top of whichever channel you’re in. You can also add an existing OneNote notebook to a channel by adding a new tab.
Google Docs
With Google Docs you can collaborate simultaneously on documents, spreadsheets, slides and forms via your web browser. The permissions model allows you to share documents with specific people (google account required) or anyone with the link (no google account required) and you can give people permission to either view, comment, or edit shared documents. You can use your UCL email to set up a Google account, making it easier for colleagues to find you.
Other options
Etherpad - a simple, plain text, no account needed text editor. There are some public instances that can be used.
Hack.md - like etherpad but using markdown syntax for simple formatting.
Codi.md - another markdown-based collaborative editor.
Explain Everything online whiteboard.
Version Control
git
COURSES
- try.github.com
- https://www.codecademy.com/learn/learn-git
TOOLS
Pair programming
These tools facilitate programming together with another person on the same piece of code; both the agile practice of pair programming as well as more informal programming assistance.
- Floobits brings real-time collaborative editing to many different integrated development environments (IDEs) and text editors.
- Visual Studio live share works well if you’re using Visual Studio or VS Code for development.
- Gobby is primarily a collaborative text editor, but can be used for program source code.
High performance computing
Remote access (SSH) and the command line
High performance computing platforms like UCL’s Myriad and Kathleen clusters require users to interact with them via the command line. This means users must first be able to login from their own computer using a SSH client, and they must also know how to interact with the system using a command line interpreter such as Bash.
SSH
- See the how-to guide “What is SSH and how do I use it?” on the ISD website
- See “How do I log in?” on the UCL research computing docs for an overview of using SSH on Windows, Mac and Linux
- See this lesson on "Security and Safe Use of SSH Keys" for a more advanced look at SSH
Bash
- The RITS course “Introduction to the Shell” covers navigating and working with files and directories through to writing basic scripts.
- Software Carpentry has a module introducing the Unix Shell to novice users.
- “Learning Bash Scripting” is a more advanced course on LinkedIn Learning, which introduces features such as loops, functions, reading and writing files etc.
Programming for scheduled systems
Most academic HPC systems operate a job scheduler, which requires users to write and submit job scripts to a queue. For this to work the job scripts have to be able to run the job from start to finish without any user interaction. In order to automate your programs so that they can run as non-interactive jobs on a HPC system, you may need to add functionality such as the ability to read the contents of a directory, read and write files, and respond to arguments provided when the program is called; e.g. the name of an input file (this can be useful when you want to submit an array of jobs, each with different input).
Python
- See the Working with files module from our Introduction to Research Programming with Python course
- The Python Command-Line Programs lesson from Software Carpentry demonstrates how to use arguments to control behaviour, work with input files, and read from standard input.
- The Argparse module is the recommended command-line parsing module in Python (see the Argparse tutorial)
R
- For R scripts, try the argparser package which is written purely in R and has no external dependencies
- The R Command-Line Programs lesson from Software Carpentry demonstrates how to use arguments to control behaviour, work with input files, and read from standard input.
Estimating resource requirements
Another important requirement for using HPC systems is to be able to estimate the resources (run time, processor cores, memory etc.) you will need to request for your jobs: too little and your jobs won’t finish in time before they are cut off; too much and you’re jobs will spend time waiting in the queue unnecessarily waiting for the resources you’ve requested to become available.
- See “How do I estimate what resources to request in my jobscript?” on the UCL research computing docs for a simple solution
Research Data
Research data management
- UCL Library Services provide RDM guidance and advice for researchers
- Online training from the University of Edinburgh: MANTRA
- JISC Research Data Management Toolkit
- The Five Safes - data awareness training from the working group for Safe Data Access Professionals
Digital resources and repositories
A non-exhaustive list of potentially useful digital resources to explore.
SAGE Research Methods
http://methods.sagepub.com.libproxy.ucl.ac.uk/
This site brings together a huge collection of SAGE publications to provide researchers with any easy way to find guidance on research methods, statistics and project design.
Re3Data
The registry of research data repositories is good place to start when searching for existing data to re-use.
Box of Broadcast
https://learningonscreen.ac.uk/ondemand/
National is an off-air TV and radio resource for UK higher and further education institutions to which UCL subscribes. You can view or listen to programmes, make clips, playlists and share with other BoB (Box of Broadcasts) subscribers.
Grey literature
Content from non-commercial private or public entities in the form of reports, pamphlets, bulletins, newsletters, trial data, working/technical papers, posters, guidelines, policy documents etc.
See “Where can I find grey literature?” from the IOE LibGuides
UK Data Archive
Home to the largest collection of digital social, economic and population data in the UK.