https://www.gravatar.com/avatar/c57de263ded85a3a139d9b7c24a302dd?s=240&d=mp

cuffaro.com

Michael Cuffaro's personal blog

Easy workflow for switching Python virtual environments

The problem I set out to solve was simply to avoid manually typing pyenv/venv commands when moving into directories containing different projects, and around my directory tree.

https://i.gyazo.com/6ad3c719def2828f1f1f2dffc654c90a.gif

If you are like me, you would be working on different things at different times, and switching projects around seamlessly becomes a requirement to avoid waste of time, attention and context.

For the sake of clarity, I am using a Macbook Pro with macOS Mojave, and I have iTerm2 set up with ZSH and oh-my-zsh as my shell.

Pitfalls I encountered while learning Go

I started learning Go on and off out of curiosity, late last year.

Being mainly a Python developer, I figured learning a different programming language would help to broaden my horizons.

Recently though, we adopted the language for some work projects, therefore I took the plunge and got to really hacking around with it.

The following are some noobie gotchas that I bumped into during development of my latest project (link below). Mostly these came around while trying to figure out how to use mocks and asserts in unit tests with the testify collection of packages.

Things I learned during my first year as a Junior Developer

It’s been an interesting 2018: it was the first year I have coded full-time while getting also paid for it. Before that, I worked mainly as internal IT support for a couple different companies, where my coding skills weren’t being tested as much as right now.

I won’t lie, the year wasn’t always easy. I am surrounded by some brilliant people and I have very often felt some sort of inferiority complex that brought me down many a times; I thought that my experience (or lack thereof) was slowing down the team or not allowing us to achieve the goals we were supposed to achieve.

Making pyenv and neovim play nice (and a few gotchas found along the way)

For my development workflow and IDE, I’ve recently decided to move from Vim, to NeoVim, which is essentially Vim on steroids.

No, but seriously, NeoVim has a few features that are really interesting, but the real reason for moving is that, as a Python dev, I need to be able to look at source code and definitions very often, while hacking on my code. The wonderful jedi-vim plugin normally allows me to do just that, when it comes to my local project. But because I am using virtual environments extensively in my work, such as with virtualenv and/or pyenv, I have a problem on my hands: