Tools and Tips

On this page

A lot of tools we use are described in the rest of the handbook (GitLab, Google Docs, Google Hangouts, 1Password, etc.). This section is for tools that don't fit anywhere else.


If you move to another location, you should update Sundial to reflect that change. In order to do that:

  1. Search for "Private Sundial URL" in Google Drive
  2. Go to the Sundial URL mentioned in the Google doc
  3. Click "Log in" in the upper right corner
  4. Choose to "Login with Google" using your GitLab Gmail account
  5. Hover over your name in the upper right corner and choose "Update your location"

Google Slides templates

Use these GitLab branded slide templates when creating slide decks for internal or external use.

Google Forms templates

Use these Gitlab branded form templates when creating internal or external surveys or forms. Make a copy of the form and only edit the copy; do not edit the template itself.


Calendly connects to your Google calendar so people can book a time with you without having a Google Account.

  1. Set up a Calendly account
  2. Link it to your GitLab Google Calendar to make it possible for people to schedule a call with you
  3. All meetings will have the same Google Hangout URL on your calendar based on your email handle. You can use that in the booking text above. Events on your calendar will automatically have the Google Hangout URL added, so you can use the plus landing page to quickly jump into the call. Please note that the appointment will show up in other peoples calendar with a different link, to it is essential that you set a text with the link for your time slot as specified below.
  4. Set up the 45 minute time slot with the following event description text (replacing XXXXX with your handle):

    This will be a Google Hangout at

    Question? Please email me. GitLab Primer:

  5. If you intend to use any of the other event types, make sure to add this to their event descriptions as well.
  6. For people outside of GitLab Inc, send them your Calendly link that links directly to the 45 minute time slot: "Are any of the times on convenient for you? If so please book one, if not please let me know what times are good for you and we'll find an alternative."
  7. Update your availability on Calendy Event Types
  8. Add your Calendly link to your Slack profile. For Display Text, use this line: Schedule a meeting with me! so GitLabbers can schedule a 1:1 call with you in GitLab, by simply clicking your Calendly link in your Slack profile.

Keep in mind that unlike normal Google Calendar events, Calendly events are not automatically synchronized between both parties when changes are made. If an event needs to be cancelled or modified, make sure to use Calendly to do so.


$4.99 tool for OSX that allows you to use you fn key as a push to talk or push to mute. Never again will you have switch window focus to Google Hangout or Zoom to speak or mute. The icon will show the current state of your mic input (x means muted). With a right click you can switch from push to talk to push to mute. Don't forget to unblock your mic in Zoom/Google Hangouts immediately after joining. Be warned that page up with fn+down arrow will activate it. Use space for page down instead of fn+up arrow.

Shush alternative for Linux

If you use Linux (eg; Arch, Ubuntu or Fedora) then you can create system-wide keyboard shortcut to mute/unmute your mic. Please note that it only works for Linux distributions which use ALSA system for sounds (most popular Linux distributions use ALSA). All you need to do is go to your desktop environment's Keyboard Settings and create a custom shortcut with command amixer set Capture toggle and assign a key combination of your choice (eg; Pause Break key). Once this is done, you can mute/unmute your mic using the assigned keyboard shortcut while you're in any application. Refer to this original answer on Askubuntu to learn more.

Disabling OS X Notification Center

During a presentation or screen share, you might want to disable your notifications on OS X to prevent distractions or possible embarrassment.

The Notification Center can be quickly disabled by Option-Clicking the menu bar icon in the top right of your screen. This disables notifications until the next day. Option-Click again to re-enable immediately. Alternatively, click on the Notification Center icon, then scroll up to reveal the "Do Not Disturb" toggle.


Do Not Disturb Hours

Slack now supports "Do Not Disturb Hours" so you won't be pinged in the middle of the night or while you are dealing with family matters. You can set your Do Not Disturb Hours by clicking on the bell at the top of the left pane in the Slack app. You also have the option of snoozing for 20 minutes or up to 24 hours. Note: Do Not Disturb can be overridden in the event of an emergency. See Slack documentation for more information.

Browse Channels

You can browse all available GitLab channels by clicking on "Channels" on the left pane in the Slack app. From there, you can see every channel, who created it, and how many members there are.

Slack Status

Slack has the functionality to set an individual status. For example, you can select away from keyboard, vacation, or working remotely. This is a great way to let your team know if you are available or not.

Google Calendar

This Chrome extension will allow guests to modify calendar appointments by default.

Add a filter to remove invites responses from your inbox with the following query:

*.ics subject:("invitation" OR "accepted" OR "rejected" OR "updated" OR "canceled event" OR "declined") when where calendar who organizer


To set up a Zoom meeting, sign up for a free basic account using your GitLab email address, and share the link for your "personal meeting room" with your participants. Note that on the Basic license, meetings are capped at 50 people, and meeting durations are capped at 40 minutes. If you need to be able to organize calls longer than 40 minutes using Zoom, contact People Ops to be granted a Pro account. By default, only Support Engineers and members of the Sales team are given Pro accounts during onboarding since their job routinely involves making video calls with (potential) customers.

To record the meeting set up cloud recording. You can also configure Zoom to save to the cloud automatically. Go to "My Meeting Settings" and find the "Recording" section, then click on "Cloud Recording". Setting the topic of the meeting is important, otherwise all meetings will be recorded with a generic name; a folder will be created with the name of the recording on Google Drive.

Our Zoom account has End-to-End Encryption enabled. This may impact performance, so if you run into any issues, let People Ops know.

If there is a meeting active, a new meeting cannot start until the host ends the meeting or all participants leave. People Ops can force end a meeting by logging into Zoom with the credentials in 1Password, going to My Meetings, finding the meeting they would like to end, then selecting "End." This will allow the next meeting to begin.


While Zoom works on Linux, the application is not free software. As a result, some might be wary of running this directly on their computer. One way of running Zoom without worrying about what it does is to use firejail.

To use Zoom with Firejail, first install Zoom or download the archive. Zoom offers standalone binaries that you can download should your distribution not have a package for Zoom. Once installed, install firejail.

Once both firejail and Zoom are installed we need two things:

  1. A firejail profile for Zoom
  2. A directory we can use as the home directory for Zoom, preventing it from messing with your home directory

You can use the following firejail profile and store it in ~/.config/firejail/zoom.profile:

noblacklist ~/.config/zoomus.conf

include /etc/firejail/zoom.local
include /etc/firejail/
include /etc/firejail/
include /etc/firejail/

whitelist ~/.zoom

caps.drop all
protocol unix,inet,inet6,netlink


Next we need a home directory for Zoom. For this example we'll use /opt/zoom/home:

sudo mkdir -p /opt/zoom/home
sudo chown -R $USER /opt/zoom

With this in place we can start Zoom using firejail as follows:

firejail --quiet --profile=~/.config/firejail/zoom.profile --private=/opt/zoom/home /path/to/zoom/ZoomLauncher

Note that you must start the ZoomLauncher binary and not the shell script wrapper called zoom.

Google Cloud Platform

Please see the secure note with the name 'Google Cloud Platform' in the shared vault in 1password for the credentials.

Once in the console, you can spin up VM instances, Kubernetes clusters, etc. Please remove any resources that you are not using, since the company is billed monthly. If you are unable to create a resource due to quota limits, file an issue on the Infrastructure Tracker.



It might be useful to add a Gmail filter that adds a label to any GitLab notification email in which you are specifically mentioned, as opposed to a notification that you received simply because you were subscribed to the issue or merge request.

  1. Search for @your_gitlab_username in Gmail
  2. Click the down arrow on the right side of the search field
  3. Click "Create filter with this search"
  4. Check "Apply the label:" and select a label to add, or create a new one, such as "Mentioned"
  5. Check "Also apply filter to matching conversations."
  6. Click "Create filter"


If you use the archive function you normally return to your overview. With auto-advance you can return to the next message. Enable 'Auto-advance' in the labs section under settings. The default setting of showing the next older message is OK.

Email signature

Set up an email signature which includes your full name and job title so people can quickly know what you do.


Computers with older CPUs (pre-2016/Skylake) may be missing hardware acceleration for VP9. In Chrome, this can cause excessive CPU due to use of the codec. On MacOS switching to Safari or using h264ify solves this since it will use h264 that is hardware accelerated. Chrome Web Store.

To check the status of acceleration on Chrome, see the "Video Encode" option in about://gpu.

Hangouts on air

Hangouts on Air probably only works with a maximum of 15 people for scheduled calls (same limit as normal Google Hangouts).

Potential problem: even when I logged in as GitLab and got the bar below the call, I could not switch it too on-air! I did notice that the time was not properly set (anymore?). I did a test event before and that seemed to work OK. I'll try one more time to see if it works.

Potential problem 2: the video showed up as listed by default

Go to My live events on YouTube and switch to the GitLab account on the top right (you need to be a manager of our YouTube channel).

Go to => life streaming => events and create a new one with the attributes:

The view on watch page URL only allows for people to watch it. Window that pops up when you press the start hangout on air button has the proper URL that you can send to other people and/or add it to the calendar invite, it is structured like: When people join the event they have to accept a warning.

Completed live events will show the video and you can click the image to view it. You can use actions to make it public here

BTW Trying to set this up via Google+ via Hangouts on Air instead of via YouTube doesn't seem to connect to the right YouTube channel, even if you selected the right account on the top right.


Link your GitLab email address to an easily recognizable photo of yourself on Gravatar. It is company policy to use a photo, and not an avatar, a stock photo, or something with sunglasses for any of your GitLab accounts, as we have a lot of GitLabbers and our brains are comfortable with recognizing people; let's use them. allows you to instantly create a free video chat room for up to 8 participants with no login and no installation. It also offers a free reliable mobile video conference app.

One Tab

One Tab (Free) tames tabs into a list which can be sorted and exported.


Quitter (Free) will switch off apps for you after some period of inactivity. Consider using this to hide Slack after a while to reduce your urge to check new messages all the time.


TripMode ($7.99) lets you control which apps can use the internet. Especially useful when you're working on a cellular/metered connection.


ShareX (Free / Windows Only) is the ultimate screen capture toolbox for Windows, which includes many different options to record your screen and automate your workflow with automatic uploading, resizing and much more.


Clocker (Free / macOS Only) adds a clean and distraction free world clock to your menu bar so you can check on your fellow teammates across different timezones.

Check which process occupies a given port

When the GitLab Development Kit cannot start using the ./run command and Unicorn terminates because port 3000 is already in use, you will have to check what process is using it. Running sudo lsof -i -n -P | grep TCP | grep 3000 will yield the offender so this process can be killed. It might be wise to alias this command in your .bash_profile or equivalent for your shell.

Shell aliases

Use command aliases in your shell to speed up your workflow. Take a look at these aliases and others in Sid's dotfiles project. For example, by adding the following to your .bash_profile or equivalent for your shell, you can just type s to checkout the master branch of this website, pull the latest changes, and open the repository in Sublime Text:

alias gco='git checkout'
alias gl='git pull --prune'
alias gca='git commit -a'
alias gp='git push origin HEAD'
alias www='cd ~/Dropbox/Repos/www-gitlab-com/source'
alias s='www;subl .;gco master;gl'

After editing, you can just type gca to commit all of your changes, followed by gp to push them to the remote branch.


If you install MobileDay (Free) on your phone and give it access to your Google Calendar it can dial into conference calls for you. It is very good at detecting the number and password from the calendar invite.

Keeping You Awake

Keeping You Awake (Free & Open Source) is a macOS utility application that can prevent your Mac from entering sleep mode for a predefined duration or as long as it is activated.

Enable screen lock on your mac menu bar

  1. Open up the Keychain Access application
  2. In the menu bar (next to the apple logo), click on Keychain Access
  3. Click on Preferences
  4. Check the box Show keychain status in menu bar
  5. The lock icon should now show up on your menu bar

You can lock your screen by clicking the lock icon on the menu bar and clicking Lock Screen

Visual help to differentiate between GitLab servers

If you are working on multiple GitLab instances and want to have a visual differentiation, you can change the default Application theme to a different color.

How to change your username at

STEP 1: Request your new username

STEP 2: Create a new account with your new username

STEP 3: Let's have some fun (kidding, this is critical!)

STEP 4: Move your projects (or not)

That's it! Don't forget to update your username on the team page and on the Marketing Handbook, in case you're a Marketing Team member.

How to share a presentation in Zoom

At some point, you may need to give a slide presentation using Zoom. Ideally, you should be able to see your speaker notes while participants see your slide show. This is fairly easy to do with two monitors by using presenter view and sharing the monitor which contains the slides. If you have only one monitor, it is still possible using the following steps:

If you would like to practice presenting, you can do so using your own private Zoom room.

Do NOT Use

Flash: Due to security flaws, we strongly recommend not using Adobe Flash. Certainly do not install it on your local machine. But even the Google Chrome plugin that let's you see embedded Flash content in websites can pose a security hazard. If you have not already, go to your Chrome plugins and disable Flash. For further context, note that Google Chrome is removing Flash support soon, and while the plugin is better than a local install of Flash, it still leaves vulnerabilities for zero-day attacks.