I use direnv; I can’t make up my mind about my preferred shell/platform combination
I’ve been using direnv to control my environment variables on a per-directory basis for a while. It all really started because I needed to use my personal AWS credentials for some projects and my corporate AWS credentials for others. While it was certainly possible, the hoops I had to jump through to try and provision KMS against my corporate credentials just made me lose the will to live. Sometimes it’s just more expedient to use my personal AWS credentials depending on what technology I want to play around with.
I’m back on Windows after a couple of years with a Mac. I might eventually go back to a Mac but at the moment the lack of arm64 docker images for the things that I commonly use makes me a little wary. Windows means I that use scoop.sh to install software, but I will use a combination of Windows git-bash, WSL v1 and WSL v2 depending on my mood. WSL v2 is faster to startup, but has crap performance when attaching to your windows filesystem. WSL v1 has better performance against the windows filesystem but takes more time to startup because of corporate AV scanning. This just means more hoops for me to make my direnv configuration consistent across all 3 bash instances.
It’s a truism; but is it that self-evident to people?
I’ve recently been in the position of having time off over the summer by virtue of handing in resignation and deciding to take a break; it ended up being about 6 weeks. I recently got accepted for a new position and my experience of the exit and subequently onboarding process led to some introspection around how much first and last impressions matter for a company.
If you’re the smartest person in the room; you need to find a different room
One common pattern I see in not-quite-yet-senior developers is that they don’t necessarily recognize the moments when there is more than one option. This happens all the time in programming; you are constantly making decisions and committing to particular solutions. If you are not aware of the choices you are making - you are picking the first idea that comes to mind (or the first stackoverflow answer) then there’s a good chance you are choosing poorly.
In the midst of the COVID-19 pandemic, we should all be getting a lot of time for introspection and examination. This was going to be a post about the changes I needed to make to git-flow so that we can support the changes that github decided on around default branch naming in git. It veered off on a tangent pretty quickly because I didn’t need to do anything with git-flow. The original script writer decided that master, production, and main were all valid trunk branch names for the default behaviour, so now we have git-flow enabled with main+develop and older repositories with master+develop. I suspect this isn’t by coincidence.
Interchangeable implies monoculture and homogeneity
I’m now at the stage of my life where I have accrued some measure of experience and marginal success (insert the appropriate Liam Neeson quote here). I’m also quite expensive, because I’m a middle aged man that’s been on some career trajectory; yet at some level I’m viewed as being interchangeable with some other anonymous developer. This has got me thinking as to whether that’s really the case or whether like most things, it’s that way because that’s the easy way out.