3 Office - General Setup
3.1 Team Communication
Team communication is done through a bunch of systems:
Slack
is our primary back and forth tool. It’s used for general questions, referencingissues
, and is nice for topic-specific channels and handling code. Something to be aware of is that our conversations disappear after 90 days because we don’t pay for Slack, so if there’s something you don’t want to lose, create anissue
!Github
issues
are the go-to for drawing attention to code. Anissue
can be anything from an actual problem with the code, a task that needs to be completed, or just a place to document what is happening.Github
Discussions
are a new feature that we are trying out. They are a place for more general conversation and can be used to ask questions, share ideas, and connect with other team members.To stay up to date with what we are currently working no please make sure to
watch
the repos. This means you will get email notifications about issues and PRs, etc for that repo. Below is a screenshot of how towatch
a repo.
3.2 Payroll setup
Please send over the following info so that you will be paid!
- bank name and institution number
- branch/transit number
- account number
- account type (chequings or savings)
Please also fill out this TD1 form which we need to keep on file.
All this info can be sent to tara@newgraphenvironment.com
and please cc al@newgraphenvironment.com
. Thanks.
3.3 Time tracking and expenses
We use Harvest for time tracking and expenses. Please make an account and we will invite you to join our account. Here are some general guidelines for time tracking and expenses:
Time Tracking:
- Time is always billed to a project even if the client is not always billed for it. Most tasks (ex. backgound research, troubleshooting technical issues, etc) are part of the job to get things done so they can be included conceptually in the tracking (although perhaps not always billed).
- Harvest has a built in timer which you can use for keeping track of which projects you are working on.
- Rounding to the nearest 15 minutes is a reasonable way to keep track of time.
- It’s really important include details about what we working on in the notes section as it helps with team management. It is also helpful for the times when we provide raw time tracking data to clients to help them understand all the great work that got done
- An example of detailed notes would be:
Chpts 3 -5 of R4DS, Upper Bulkley Roundtable Meeting, build collaborative GIS project
- You can take a paid 15 minute break every 3.5-4 hours and these breaks can be tracked within the job where most of the work for that period is completed.
Expenses:
- For reimbursements, submit it in the expenses section of Harvest and attach a receipt of the items purchased.
- For mileage and per diems, there are drop down menus in Harvest.
Overtime averaging agreement:
- Due to the common scenario of long drives to field sites, overtime is accrued only after 40hrs/week (time and a half) or after 12hrs/day (double time). An example is that if we work 4 @ 10hr days in the field one week there is no overtime. However, if we work a 5th day for 11hrs - all of the 5th day’s 11 hours are either paid out at time and a half or banked at 1.5hrs/hr for future paid time off.
3.4 Homebrew
For those on an Apple computer, Homebrew
is a package installer for MacOS that can simplify the install and management of packages (example Git
). To download homebrew follow the instructions at https://brew.sh/ . Once Homebrew
is installed, just paste brew install git
into your terminal to install Git
, easy! Many packages can be installed with homebrew (using scripts too) and you can see a list of examples here https://github.com/NewGraphEnvironment/dotfiles/blob/master/brew.sh .
3.5 R, Rstudio, Git and Github
Here are some things to get started on.
R
is the programming language we use for most of our analysis. InstallR
on a mac or from https://mirror.rcg.sfu.ca/mirror/CRAN/.RStudio
is the commonly used IDE (Integrated Development Environment) for R. DownloadR studio
from https://posit.co/downloads/. Please do not installRStudio
withHomebrew
as we ran into issues in the past.What the heck is
Git
?!Git
is a version control system that lets you manage and keep track of your source code history. InstallGit
withHomebrew
if you are on a mac (if on Windows or Linux follow this link here).Github
is a cloud-based hosting service that lets you manageGit
repositories. Create aGithub
account using yournewgraphenvironment.com
email and we will invite you to our repos. More onGithub
lingo under the section 6.4.Setup
Rstudio
andGit
following these instructions https://happygitwithr.com/rstudio-git-github. They play well together. Usedevtools
package whenever possible.
# 4. Get setup with `wsl` and `posgresql`. I put my notes from long ago [here](https://github.com/NewGraphEnvironment/pg_wsl) . I was using rstudio-server to run scripts like those in `bcdata` and `bcfishpass` through the terminal. Have a look [here](https://github.com/NewGraphEnvironment/dotfiles/blob/master/install_geo.sh) for some insights into getting postgres set up and tuned.
We don’t often text unless we are in the field, yay!
Emails, make sure to use explicit titles so that they are easily search-able later. You can also use Gmail
labels
to sort emails by project.We use Google calendar for holidays and meeting schedules etc. Please create a calendar using your
newgraphenvironment.com
email and share it with us, thanks.
3.6 Private info
There are a couple ways we store and share private info, such as environmental variables, public and private keys, and passwords. Here is our current set up:
3.6.1 Environmental variables
Environmental variables are variables that are not shared through communications between computers and servers such as passwords or API keys. For example, we use environmental variables to store passwords and settings we use to access remote Postgres
databases.
One way to set up environmental variables is within Rstudio
. These variables do not persist outside of Rstudio
sessions (ex. when running command line programs) but are easy to set up and see:
Use
usethis::edit_r_environ()
to open the.Renviron
file in the root of your project. This file is used to store environmental variables that are specific to your project.Once we have shared environmental variables with you, copy/paste them into the
.Renviron
file. After restartingR
using theshift+command+0
keyboard shortcut they will be available in allRstudio
sessions.
3.6.2 Verified commits
When possible - we use verified commits on Github. Details on how to set them up can be found at https://docs.github.com/en/authentication/managing-commit-signature-verification .
3.6.3 LastPass
LastPass is a great way to store and share passwords. Please get yourself set up with a LastPass
account linked to the newgraphenvironment.com
email so we can share passwords for certain things.