DEV Community

Cover image for Basic Productivity Software Setup
Lucas Fonseca Mundim
Lucas Fonseca Mundim

Posted on

Basic Productivity Software Setup

With the pandemic, the most fortunate of us were moved to working from home, and that often meant using our personal computers to do our jobs (often due to choice), but that meant installing "work stuff" into our machines. How can you keep stuff separated and get a more productive environment, while also maintaining stuff clean for your free time?

Small disclaimer: some of these tips only apply to MacOS users, but most of them are perfectly compatible with any Unix environment 🐧


image

1. Use different browsers 🕸

Keeping a browser for your personal, free time and a separate one for your job is crucial: more often than not I find myself having dozens of tabs related to some code I'm working on open, and if I had to juggle that with my personal tabs it would be an immense memory hog, while also a terrible chore. Keeping a different browser just for your work eliminates that problem.

You can even double down on that and use browsers that sync to make it possible to work on multiple machines! For example, I use Safari as my personal browser so it syncs with my iPhone and iPad, and to work I use Google Chrome, which in turn syncs up with my Windows' Chrome should I ever need to use it, or even my Ubuntu VM! It's always helpful 👹


image

2. Use a browser manager 🤵‍♀️🤵‍♂️

Good, you've decided to keep a separate browser for each environment. But that means you're logged off of your, say, Atlassian account on your personal browser, which is set as your primary browser. Now you have to copy every Jira ticket or BitBucket Pull Request link sent on slack and paste it on your work browser. That works... but that's not that efficient is it?

Some more eager people have already had this issue and decided to make it easier on themselves, and they were kind enough to share it with the world! Enter Finicky, a free, open source, browser manager.

What Finicky does in essence is really simple: it allows you to code rules for every URL you click to open up on a given browser. You can set URL's that contain a certain substring to open on Firefox, URL's from Slack on Chrome and everything else on Safari, for example! It is really handy, the installation is very straightforward using brew and there are many possibilities to configure at your heart's content!

Here's my very small and simple configuration:

module.exports = {
  defaultBrowser: "Safari",
  options: {
    // Hide the finicky icon from the top bar
    hideIcon: false
  },
  handlers: [
    {
      // Open any link clicked in Slack in Chrome
      match: ({ opener }) =>
        opener.bundleId === "com.tinyspeck.slackmacgap",
      browser: "Google Chrome"
    }
  ]
};
Enter fullscreen mode Exit fullscreen mode

Should you want anything with a GUI, the folks at Finicky themselves recommend Browserosaurus so go ahead and take a look!


image

3. Have a single messenger app for your personal stuff 💬

Many of us use more than one messaging app, after all there are tons of them nowadays: Facebook Messenger, Telegram, WhatsApp, Discord... and having to juggle all that open along with the job's ones like Slack and Teams is a hassle.

Some might already be familiar with Franz, a very popular program that unifies all those messaging apps into a single one. Franz is a very capable and very practical solution and if you have an Intel Mac or any other x86_64 machine it should be plenty! But looks like it does not play well with M1 Macs yet. For that then I decided to look elsewhere and found it's "offspring" Ferdi, which has most (if not all) of it's features -- it is actually based off of Franz -- and works very well on Apple Silicon, so be sure to give it a shot!


image

4. Try out the new Focus mode on MacOS Monterey 🖥

This is still on Beta at the time of writing the article, but the new Focus Mode introduced in WWDC2021 for MacOS Monterey looks like a very handy tool to not only tell your pesky iMessage contacts (and maybe, in the future, any app that feeds off of it's API?) that you're focused working but also hides any notification you do not want in that profile -- and it also syncs up through your apple devices! Be sure to take a look!


image

5. Use a better Terminal emulator 💻

Yes, MacOS' good ol' terminal gets the job done alright, but it only does an 'OK Job' at that, just like Ubuntu's base terminal emulator or WSL's standard emulator. But what if you want more?

But what could be more? Well, for starters, opening more than one tab. While you wait your pesky make command run for a couple minutes, why should you need an entire new window to keep working on your terminal? That's where iTerm2 comes to the rescue.

It is very easy to install, has a ton of features and, to those who care (like me), it is Apple Silicon ready!
image


image

6. Get SiliconInfo if you're on Apple Silicon 

Many of us are currently running on the new (at the time of writing) M1 Macs and we often need (or want) to know if our current application is running on old x86 architecture or the current arm64v8 one. Well, Silicon Info is a pretty straightforward Mac app that adds an icon to your menu bar that can tell you with a glance if you opened the right version of an app! It is pretty handy, yet pretty simple.


image

7. Have x86 versions of compatible apps available ⚙️

For some reason, you might need to run the x86 version of an app on your Apple Silicon Mac (compatibility check?), but by default your app opens up on Apple Silicon mode. Well, you can force it to run under the new Rosetta2 environment with a few clicks!

Open Finder and go to your Applications folder. Duplicate the app you want, for example the previously mentioned iTerm2, and rename it to something like Rosetta-iTerm2. Open up it's info panel and select Open using Rosetta, and that is it!
image

Now whenever you open that copy of the app, it will be running on x86 architecture!


image

8. Get a better shell 🐚

Yes, the good ol' bash shell is fine, but from Catalina onwards Apple replaced it with zsh with no further explanation, but one would assume its because bash is aging and zsh is the new hot thing. Well, along with it you can install oh-my-zsh and customize even further your terminal, not only to make it cooler and more interesting but also more informative, enhancing your productivity. All of that with some minor tweaks.
image
With a glance I can see what folder I'm in (as usual), what git branch I'm on, and if that branch is dirty or not! Pretty handy right?


image

9. Start using alias-es! 🕵️‍♀️🕵️‍♂️

Let's face it, there are probably at least a few commands you use very regularly that are long and boring or easy to mistype. Why should you type it all the time?

image

Most (maybe all?) shells allow you to create aliases for those commands, so take advantage of that! Open your .zshrc or .bashrc file and add a new one with a simple line!

alias shortcut='long command'
Enter fullscreen mode Exit fullscreen mode

And then boom! You're all set!


For now, that is it! A very brief productivity setup to help you in your work from home life. Whenever I add something to my own setup I'll be sure to add it here as well!

Top comments (1)

Collapse
 
deyvisonrocha profile image
Deyvison Rocha

Nice post! I discovered the finicky project! Thanks!