On this page

{:.no_toc .hidden-md .hidden-lg}

  • TOC {:toc .hidden-md .hidden-lg}

This page lists various apps that may be useful for your workflow at GitLab.

Internet browsers

Ad privacy

Sharing your screen to get your idea across can be very productive, but having personalized ads show up on a webpage may be undesirable. Shut off interest based ads by setting your preferences. Google Ad Settings, AdChoices

Browser extensions

In general, if a particular application or browser extension (sometimes called a plugin) is referenced in the handbook, it is considered “approved”. For example, 1Password is centered around the browser extension. Another application is Zoom, which has a scheduler extension. However, be sure to search for specific information about the application, in case the desktop version is recommended and the browser extension is not (e.g. Grammarly).

If you wish to use an extension not referenced in the handbook, consider the following before installing and using it:

  • The extension should be work-related and help your overall productivity.
  • The extension should be available from a reputable source, such as the browser’s library of approved extensions.
  • Ask. Feel free to ask your co-workers about good extensions, and if you have security or privacy concerns about an extension, ask the security team in #security on Slack.

Some browser extensions are listed below

Adblockers

Adblockers are browser extensions that can block advertising, prevent user tracking, and include other security-related features. A popular one recommended by the Security Team is uBlock Origin which can be installed by following the links below:

One Tab

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

SessionBox

SessionBox is a browser extension that helps you deal with multiple sessions. It binds a particular session to a tab. This is particularly useful for testing with different users in the same browser.

RSS Feed Reader

If you would like to receive daily notifications on newly opened issues, the Chrome extension RSS Feed Reader is an excellent tool for accomplishing this task. After installing the extension, access the project page you are interested in following, under the project issues click on the “Subscribe to RSS feed” button which you can find in the top right corner of the page.

Do you want a simple way of copying a hyperlink title and address in markdown? The Format Link extension offers a quick and easy way to do this, along with allowing you to customize any number of other formats. For detailed instructions and examples, they are available here. If you’re looking for just the ability to copy a link as markdown format then the Copy as Markdown extension will provide that level of functionality.

Flash (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 lets you see embedded Flash content in websites can pose a security hazard. If you have not already, go to your Chrome Flash Settings 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.

Minimizing Google Chrome’s resource usage

To minimize Google Chrome browser’s memory and CPU usage, you can enable Tab Freeze (you need to manually navigate to this URL) which suspends tabs after five minutes of inactivity.

This is enabled by default from Chrome 80 and the option is removed.

Prototyping in the browser

Sometimes you only need to capture small textual or visual changes in a web page as part of a bug report or a feature proposal. You can use development tools that are usually built-in in most browsers which allow you to select and edit page element attributes as well as move around page elements like buttons or links.

You can also make the entire web page editable, using the designMode attribute, by typing document.designMode="on"; in the development tools console or creating a bookmarklet by dragging the button below to your Bookmarks Bar.

Edit page

Notes/writing

Bear

Bear (Free) is a clean writing tool for notes and long-form writing. Ulysses $5/month is also a great choice.

Grammarly

Grammarly is a good tool for those who want to feel more comfortable drafting written communication in English (American or British). There is a free and premium version.

Warning: Grammarly browser extensions are discouraged, Grammarly will have access to everything you type in your browser, and they have had a security problem. If you want to use it to check non-confidential text manually, you should download the desktop version instead. The desktop version is not available for Linux.

LanguageTool

As an alternative to Grammarly, we can combine LanguageTool in the browser with a LanguageTool server run locally with Docker. This ensures that spell and grammar checking remains both convenient and confidential:

  1. Install the LanguageTool browser extension.
  2. Install Docker Desktop and open it.
  3. Follow the setup instructions at Erikvl87/docker-languagetool.
  4. Configure the browser extension under Experimental settings > Local server.

Note: The instructions on GitHub have some extra things you won’t need. Really, all you need to do is open Terminal and run

docker pull erikvl87/languagetool

docker run -d --restart unless-stopped -p 8010:8010 erikvl87/languagetool

Simplenote

Simplenote is a free, open source note taking app which is cross platform, syncs across all devices, and supports markdown.

Productivity

Alfred

Alfred is an application launcher and productivity tool for macOS. The core app is free to download and use, but the paid Powerpack enables more powerful searching, a fantastic clipboard history feature, app integrations, easy access to shell commands, and more. It’s a great tool for developers and general productivity enthusiasts alike. The clipboard history feature is nicely integrated with many tools, and for example will forget passwords copied from 1Password after they have been pasted.

If you’d like to share your calendar with e.g. your partner you can use the ‘Share with specific people’ feature and set the permissions to ‘See only free/busy (hide details)':

https://docs.gitlab.com/search/?q={query}
/handbook/#stq={query}&stp=1

There is also a repo maintained by GitLab team members with GitLab related workflows.

Brain.fm

Brain.fm (free trial) provides music specially designed to help you focus, relax, meditate, recharge, sleep (great for plane rides). It’s not just music though. They use scientifically validated brainwave manipulations to get results. It is AMAZING and really does work. Make sure to use with headphones, and give it 10-15 minutes for your brain to get used to it. ($6.95/$15.99/$47.40 per month/quarter/year)

Calendly

Calendly connects to your Google Calendar so people outside GitLab can easily book a time with you. If you are scheduling a meeting with a GitLab team-member, please use Google Calendar and follow handbook guidance when scheduling a meeting.

  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. Get your personal meeting room URL by going to Zoom meeting settings, selecting the Personal Meeting Room tab, and copying the value of Join URL (do not use Copy the invitation).
  4. Set up the 45 minute time slot with the following event description text (replacing text in {} with your information):

This will be a Zoom Meeting at {Zoom personal meeting room URL}

Question? Please email me. {your GitLab email}

  1. Set the event name to 45 Minute Meeting.
  2. Change the event link to 45min.
  3. The event description needs to be copied to the 15, 30 and 60 minute meetings as well.
  4. If you intend to use any of the other event types, make sure to add this to their event descriptions as well.
  5. 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 https://calendly.com/XXXXX/45min/ 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.”
  6. Update your availability on Calendy Event Types by clicking the action cog and then the edit option on an event type (For Example: 15 minute meeting) and in the event details clicking on the “When can people book this event?” section then clicking the “Availability” section. Here you can set your working hours during which you want to accept meetings, and on the “Advanced” tab you can set the minimum scheduling notice you want enforced. Although Calendy does synchronize with Google Calendar to show your availability you may wish to set extra restrictions in Calendy. You can use the “Copy Availability From” option on all the other events you have configured one event.

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.

Clockwise

Clockwise is a tool for optimizing your schedule to free up time for you to focus. It will look for opportunities to reschedule meetings when it’s most efficient for attendees, and give you uninterrupted time to work. Clockwise integrates with your calendar, and when possible will move events automatically on your behalf.

Freedom

If you find yourself switching to websites you find distracting, especially during periods that require focus, and you worry it may affect your productivity, consider using Freedom. Their browser extensions, mobile apps, and desktop apps block distracting websites and apps for the duration of a configurable session. If you find yourself typing f and hitting enter from muscle memory, you will not be scrolling through endless pages of photos of your friends’ lunches.

Paste

Paste for macOS is a clipboard manager that stores everything you copy and optionally syncs across all your devices. It allows you to organize frequently copied data in pinboards, so that you do not need to copy the same data over and over, provides search, multiple paste and has nice visual user interface.

Pomodoro technique

The Pomodoro Technique is a simple time management process that can be used to boost productivity by dividing time into “work” and “break” intervals. In brief, each half-hour block of time is divided into a 25 minute work session followed by a 5 minute break session. Do this twice per hour until the day is done and marvel at how much you’ve finished.

Various Chrome extensions, Firefox add-ons, mobile apps, desktop apps, and even fancy physical alarm clocks are available to help you track your intervals, but you can use almost any timer you have on hand—even and especially that cute little tomato timer in your kitchen.

Quitter

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. Quitter is only available for the Mac.

TripMode

TripMode ($7.99) lets you control which apps can use the internet. This is especially useful when you’re working on a cellular/metered connection. TripMode is only available for the Mac. Linux users can enable

Text editors

JetBrains

We have a central account for managing licenses of JetBrains' products like RubyMine or GoLand. If you want to use one of their products, please log an Access Request and select the best option for your situation (single user, bulk user, etc.) and, once approved by your manager, assign to the System Provisioner listed in the Tech Stack for this system. Once your access has been provisioned, you will receive a link with which you can redeem your license. Make sure to use your company email address when creating your Jetbrains account. If at some point in the future you do not want to use the product anymore, please notify us via jetbrains@gitlab.com, so that we can assign the license to someone else.

Useful plugins:

  • GitLink - It provides a shortcut to open a file or commit in GitLab.

Sublime Text

Putting the following in Preferences.sublime-settings - User will among other things ensure that if you open the www-gitlab-com website you’re not opening the output files by accident:

{
  "font_size": 18,
  "spell_check": true,
  "translate_tabs_to_spaces": true,
  "trim_trailing_white_space_on_save": true,
  "folder_exclude_patterns": ["public"]
}

GitHub Copilot

GitHub released Copilot, an AI-powered tool for in-situ suggestions within VSCode, in 2021. It’s an interesting and exciting tool. However at this time it does not guarantee that the code being suggested is strictly sourced from codebases governed by an open source license compatible with our own project which could lead to license conflicts. Until the licensing of the suggestions is established, please don’t use Copilot.

Video calling

Krisp

Krisp will mute background noise when you’re in a noisy environment so you can hear and be heard more easily on calls.

MobileDay

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.

Shush

$4.99 tool for macOS that lets you set a hotkey (e.g. fn) to mute your microphone (“push-to-talk” or “push-to-mute”). Never again will you have to switch your window focus to Google Hangouts or Zoom to speak or mute. The icon will show the current state of your mic input (x means muted). With a right click (or your configured hotkey) 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. Warning: Check your headset compatility before purchase. Many usb headsets are unmutable.

Shush alternative for Linux

If you use Linux (e.g. Arch, Ubuntu or Fedora) you can create a system-wide keyboard shortcut to mute/unmute your mic. Please note that it only works for Linux distributions which use ALSA 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 the command amixer set Capture toggle and assign a key combination of your choice (e.g. 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.

Webex

GitLab uses Zoom as the primary video collaboration platform for internal and external communications. Some of our customers and partners have different preferred tools and to facilitate the communication with those parties, GitLab provides licenses for WebEx. This service is only provided to team members that have a business need to host meetings and where Zoom is not accepted.

  • To request access to those tools, create an access request and provide a justification for access.
  • Consider installing their native app. Team members have reported issues when trying to use WebEx in Safari, so we recommend using other browsers such as Google Chrome when hosting or joining meetings.
  • Before attending a Webex meeting you can test to ensure your Webex is setup correctly by joining a test meeting.
  • The in-browser plugin the screen sharing sometimes doesn’t work.

Whereby

Whereby allows you to instantly create a free video chat room for up to 4 participants with no login and no installation. It also offers a free reliable mobile video conference app.

Videos, GIFs, and screenshots

Loom

Loom (Free) is a handy Chrome plugin tool for video walkthroughs. Nice tool for demo recordings and internal/external documentation. For a license please follow the instructions on the tech stack page.

Teampaper Snap

Teampaper Snap (Free / Mac only) is the ultimate screen capture tool for Mac to voice your thoughts on anything you can see on a screen.

Translation Tools

DeepL

The Gitlab handbook and most other content is written in English. Even if a non-native speaker’s English is pretty good there might be times when the content is too sophisticated and a translation is welcome. Avoiding tedious copy and paste into another browser tab or app can easily be achieved by using the DeepL translator. DeepL is available as a Web site but also as a Mac app for free. Using a shortcut on MacOS takes selected text from the handbook right into the app and starts translating. Linux users can only use a Chrome extension and right-click to open another tab for the Web version.