Setting up my new Machine
Laurie

Laurie @laurieontech

About: Software dev at Netflix | DC techie | Conference speaker | egghead Instructor | TC39 Educators Committee | Girls Who Code Facilitator | Board game geek | @laurieontech on twitter

Joined:
Apr 12, 2018

Setting up my new Machine

Publish Date: Apr 9 '21
328 38

I started my new job this week, and that meant setting up a new machine. I have a set of tools that I'm comfortable with, so choosing what to download wasn't complicated.

What I did find interesting is the tools I "just had to have" and those I haven't yet configured yet. A lot of my choices are available on my uses page, but it also needs an update.

So with that, I'm going to talk through my must-haves this past week!

Terminal

Over the years, my terminal has become my programming control center. Who would have thought! When I first started doing development work, I was incredibly intimidated by the command line. I suppose building CLIs will rid you of that fear 🤷.

As it turns out, my terminal setup requires a lot of things. Oops!

  • iterm2: I find this a nicer option than the built-in apple terminal.
  • oh-my-zsh: All my machines use this and I've gotten comfortable with it rather than bash.
  • starship: This is a newer tool for me but I love the information-rich command prompts and the overall look.

Once the look and feel of my terminal was ready, I needed additional software.

  • homebrew: The essential package manager for macOS.
  • nvm: My JavaScript-loving heart can't live without it.

I also set up Xcode command line tools so I could get git working. But that was most of my first week essentials in terminal.

Apps

Now it was time to get my most-used applications. My machine came preloaded with Slack, so I didn't need to worry about that. But there were a handful of other things I wanted right away.

  • VS Code: My IDE of choice. I'll dive into this more in a moment.
  • Magnet: I actually didn't download this until day three and was wondering why my monitor was bugging me so much. Windows managers are so key!
  • Elgato Control Center: This is how I control my lighting setup and make my video chats higher quality.
  • Clockwise: I technically downloaded the chrome extension and integrated it with Slack, but close enough. Calendar tools are a first-week necessity.
  • Google Doc dark mode: Another chrome extension, but this one helps my eyes a ton when I'm trying to do a lot of deep focus reading.

That's a surprisingly low number of apps. I'm sure it'll grow in the coming weeks.

VS Code

Now we get to the really good stuff. I'm a developer after all! As it turns out, I didn't do much coding in this first week, but I did look at a lot of existing projects. So what were my go-to extensions?

  • ESLint
  • Prettier
  • Bracket Pair Colorizer
  • Indent Rainbow
  • JavaScript and Typescript
  • Peacock
  • Monokai theme

And that's the current list! It'll get longer, but you can already tell that it's focused on readability. I don't necessarily know what functional helpers I'll need yet.

Yay first week!

So that's my current computer setup. It's connected to all my existing hardware and you can read more about that on my uses page. Thus far, I've done a lot of reading, had plenty of onboarding chats about logistics, and started to get a handle on what my new role is. Excited for what's to come.

Comments 38 total

  • Madza
    MadzaApr 9, 2021

    Is 2019 13" Macbook Pro good enough as the main station? Or do you connect it to external monitors and chose it due to portability?

    • Laurie
      LaurieApr 9, 2021

      I have a single external monitor. I chose it for portability.

  • Sylwia Vargas
    Sylwia VargasApr 9, 2021

    Thank you for this blog post.
    I was setting up mine two weeks ago and wished that I had written this down the last time. I am in the middle of writing a post on this as well! I think I still may publish it and link it to yours 💕

    • Laurie
      LaurieApr 9, 2021

      Publish it and don't worry about linking to mine! It's yours after all :)

      • Sylwia Vargas
        Sylwia VargasApr 9, 2021

        lol what I meant to say is that I want to link it because yours is great too! ✨ I always like to see "read more" section in other blogs.

  • Iain Freestone
    Iain FreestoneApr 9, 2021

    I love getting a new machine but dread the setting up part it always takes a while to feel "just right" again.

    • cubiclesocial
      cubiclesocialApr 11, 2021

      I use portable apps for just about everything except for software that doesn't have a "portable" flavor available. Usually requires hunting for a ZIP/tar.gz file instead of a formal installer.

      Portable apps let you "install" an isolated copy of software to a secondary drive. They were originally designed for use on USB thumbdrives, but I put them onto a SSD. The main OS goes on one SSD and my data and portable applications go onto a second SSD. All settings and application data travel with the second drive. Makes reinstalling the OS and switching machines much, much easier, safer, and faster. Doing things like setting the default web browser to point at a portable version can be a tad tricky and require manual intervention (e.g. editing the registry on Windows) because those sort of OS level features tend to make incorrect assumptions about software applications.

      Before portable apps, reinstalling the OS took about 2 weeks to achieve normalcy. With portable apps, my last OS reinstall + a few select apps took about 1 day of lost productivity. Nothing goes on the OS drive except temporary data I won't mind losing, the OS (of course), and apps that just have to be installed (e.g. Visual Studio). Everything else goes on the second drive.

      Portable apps are self-contained. That means no registry settings, no funky directory layouts, no shell extensions that slow the machine down, no monkeying with system PATHs, etc. My computer runs almost as fast as if it had no software installed on it because, from the OS' perspective, there isn't much of anything installed on it. You didn't hear this from me but [glances sideways] portable apps are also useful for bypassing corporate IT restrictions regarding installed software to use your favorite tools.

      Once you use portable apps and understand how incredibly powerful the concept is, you'll be annoyed at any software company (mostly Microsoft) that only releases packaged installer versions of their software.

      • cblte
        cblteApr 11, 2021

        I do either choco install or brew install.
        Have scripts for all of them. After installation of OS run. That’s it.
        Portable apps are nice but not really needed. Who wants to keep his browser cache anyway. Hahah 😜

        The thing with corporate is nice, but if you bypass security you might get fired. And if you are able to run software outside programs dir, you have not one of the smartest admins or security guys.
        Group policies for the win!

  • lepinekong
    lepinekongApr 9, 2021

    Magnet ... "Download on the Mac App Store." I'm crying not for Windows :)

    • Laurie
      LaurieApr 9, 2021

      Ya, I suspect windows has some window managers though?

      • Tyler V.
        Tyler V.Apr 9, 2021

        docs.microsoft.com/en-us/windows/p...

        It looks like Magnet might have a bit more flexibility with shortcuts, but otherwise PowerToys should cover your needs :)

        • lepinekong
          lepinekongApr 9, 2021

          Ah yeah thanks forgot about this one : in the old days I don't remember that there was a window manager :)

          • cblte
            cblteApr 11, 2021

            Powertools Are nice but sometimes get in the way of other tools like free shot and Nvidia recording.
            And they are slow. Especially the Alt+Space that we all love from MacOS.

            The other tools are super nice. I heavily rely on the renamed and image resizer. The window manager is ok but not needed. I do have around. 20 windows all the time. No help here from window managers.

  • Gedalya Krycer
    Gedalya KrycerApr 9, 2021

    Congratulations on your new job!

  • Eduardo Cookie Lifter
    Eduardo Cookie LifterApr 9, 2021

    At least you weren't shifting to a Windows machine. Congratulations.

  • Kasper Mróz
    Kasper MrózApr 9, 2021

    Thank you for this blog post Laurie, now I have lots of new tools to play with!

  • YusufAdel
    YusufAdelApr 9, 2021

    Thank you for sharing such wonderful tools.💕
    and consider adding a new tools provided by websites out there like this one i talked about >> search engine for code over million open source projects.
    dev.to/yusufadel/search-engine-tha...

  • Julian Garamendy
    Julian GaramendyApr 10, 2021

    +1 for Peacock

  • АнонимApr 10, 2021

    [hidden by post author]

    • Laurie
      LaurieApr 10, 2021

      No, I haven’t. It can be both depending on how it’s used and the extensions you’ve installed.

      • john
        johnApr 10, 2021

        Yes you have. It's really not that important, Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows. I am pretty sure the would say its an IDE, But it isn't an IDE

        • Laurie
          LaurieApr 10, 2021

          This question is closed on stack overflow as an opinion fwiw.

          • john
            johnApr 10, 2021

            Its not a question. You are the one who doesn't know the diff between IDE's like pycharm and code editors like Vscode

  • Andy Parsons
    Andy ParsonsApr 10, 2021

    Just had the opportunity to get a new setup last week myself!
    Rig is the M1 MacBook Air
    I daisy chain a couple of monitors at work, but use just the MacBook at home.
    Keyboard & Mouse are the Logitech MX series, vastly prefer the mouse over the Magic Mouse, I’m a sucker for the per app key bindings.
    I’ve got the same iTerm setup! I copied over my zsh config as-is, could really do with reviewing it. Open to other people sharing a gist or two!
    I run PhpStorm for my IDE, even though I’m mostly writing in TypeScript these days.
    I dockerize my local instances, and use traefik to host multiple container setups concurrently.
    Happy to talk more if anyone’s interested.

  • Ben Selby
    Ben SelbyApr 10, 2021

    Great post. I hadn't seen Peacock or Bracket Pair Colorizer before, these are fantastic. Thanks for sharing.

  • Kori Roys
    Kori RoysApr 11, 2021

    Seeing as you use Indent Rainbow...

    Indent Rainbow using rainbow colors

  • cubiclesocial
    cubiclesocialApr 11, 2021

    Dual monitors are a must for any serious developer. File system(s), compilers, CLIs on the right monitor, web browser and editors on the left (not a hard and fast rule but that's what works best for me). Horizontal screen real-estate is always at a premium - vertical less so since we have scroll wheels on mice.

    Then you probably won't need a window manager.

    I prefer text editors that maximize screen real-estate (Crimson Editor, Notepad++, etc) and load instantly over bloated tools like VS Code that clutter the UI with a bunch of boxes/panels that shrink the coding area to the size of a postage stamp and the editor takes 15+ seconds to load. I usually have 5-10 open File Explorer windows on the right monitor pointed at various project directories that I can drag-and-drop files from onto the editor to open them. I don't need my text editors to try to do the same thing I get from built-in OS functionality.

    • Jacob Herrington (he/him)
      Jacob Herrington (he/him)Apr 11, 2021

      It's interesting that you see VS Code slow or bloated.

      As a Vim and emacs user, I don't find VS Code to be bloated or slow. It's not my preferred text editor, but it's very good.

      Now, I don't like Visual Studio much, but that's a full-blown IDE. 😆

    • cblte
      cblteApr 11, 2021

      Fully agree. I upgraded to two 32 plus laptop. That’s at least something I can work with. Really miss the three monitor Dev station at work. But in these days we need to work from
      Home right.

    • David Makogon
      David MakogonApr 11, 2021

      @cubiclesocial - dual monitors are a must for someone who needs dual monitors and can afford both the space and the cost. Number of monitors doesn't define how serious a developer is. Imagine being space- or money-constrained, in a situation where a 2nd monitor won't fit the location or the budget. Imagine being stuck in a work-from-home situation where the at-home space is a small corner of a bedroom. Imagine enjoying working on only one monitor. One can still be quite serious with a single monitor.

      As far as what you need from your text editor? Cool that you found an editor that works for you, just as @laurieontech found one that works for her. I see no need to throw shade on someone else's choices.

    • Austin Akers
      Austin AkersApr 12, 2021

      Sometimes it's best to keep your silly statements to yourself buddy @cubiclesocial :)

  • mombloggercommunity.id
    mombloggercommunity.idApr 11, 2021

    nice post

  • Ambriel Goshi
    Ambriel GoshiApr 11, 2021

    This is really great timing for me as I'm about to have my new Mac arrive. Thank you!

  • cblte
    cblteApr 11, 2021

    Hello,

    Interesting list. I also recently discovered starfish. It is a nice prompt. Yes.

    I also have some tips if you’reinterested.

    You could automate all of the installation with Homebrew of brew.sh if you haven’t done. It’s an awesome tool to to do software installations in an automated way.

    Beside that, slack is a memory behemoth and should be avoided. But guess your company uses it so I assume your stuck with that.

    For vscode I would take the tracking free alternative vscodium. Same foundation but without the Microsoft tracking.

    And instead of chrome. Also a memory and battery drainer, you maybe want to give Mozilla Firefox a chance.

    Beside that: have fun and enjoy your new job!

    • David Makogon
      David MakogonApr 11, 2021

      Nothing says "have fun" like criticizing someone's choices. Slack is used planet-wide. People can't just choose not to use such a tool if their employer uses it. And as for VS Code? I can't imagine why you're throwing shade on someone's choice of editor.

      Also, in case it wasn't obvious: @laurieontech is a professional software developer with a ton of experience, and works for Netflix - I really don't see the point of explaining how to choose a browser.

      • cblte
        cblteApr 12, 2021

        I didn’t mean to criticize here. It’s just my view of things. I have to work with a lot of software I don’t like but that’s the way it is sometimes.

        I didn’t know she was working for Netflix. Thanks for mentioning that. But that does not change the fact that Google Chrome still is not very optimized for macOS and uses a ton of resources and energy while running. Other browsers are much better here. Imho

        And as a software dev she might know maybe not. I don’t know everything.

  • Dan Wood
    Dan WoodApr 14, 2021

    Hey Laurie!

    I see you're using nvm. It's a great tool, and I used to use it too, but when I went about trying to make my terminal startup time better I found that it was the cause of a lot of start up lag. I found a tool called fnm which does the same thing but is much quicker on startup. You might like to consider switching.

    I also switched from oh-my-zsh to a custom setup using antibody which was another big speed up, but that requires a little more of a time investment (not too bad though!).

  • Andrew Baisden
    Andrew BaisdenApr 17, 2021

    Cool setup.

Add comment