Nix Shell in Visual Studio Code

Let’s say you have a beautiful nix shell for your project. (Maybe one you’ve borrowed from someone else.) It can be a pain to manually invoke nix-shell each time you open a new integrated terminal. Is there some way to automatically invoke it within a workspace? Of course there is! The solution is to configure your workspace using terminal.integrated.profiles.*.

In .vscode/settings.json:

    "terminal.integrated.profiles.linux": {
        "My Nix Shell": {
            "path": "nix-shell"
    "terminal.integrated.defaultProfile.linux": "My Nix Shell"

Restart and observe the automatic invocation of nix-shell!

Sloppy work comes from learning to do something fast before learning to do it meticulously.

Learning to Ignore “Well, Technically…”

Some people never grow from the stage of their life where they philosophize semantics. Imagine we communicated such that every single term were clarified to avoid all misunderstanding: the verbosity would reach a point of insanity.

How many clauses can one add to a contract before it specifies every edge case?


A bad faith actor still finds an edge case in a contract full of clauses. A good faith actor fears the extraneous protective clauses.

Stop trying to consider every possible situation to appease the semanticist. Instead, the next time someone says, “well, technically,” respond “well, generally.”

Why does “vomiting” have one ‘t’ but “permitting” has two?

The Transitory Nature of Content on the Internet →

This article explores something I have independently come to realize about the internet. The idea that anything we post will last forever is more so an adage than a claim that content has permanence. There is plenty of content I wish I had kept online, but either due to embarrassment or wanting a clean slate, I wiped it from history. Deletion is easier than creation.

The author also discusses the melancholy of finding beautifully-written content that may be abandoned by its writer. I find myself feeling lonely visiting places online that lack recent updates.

I’d like to explore this more since I do think about it a lot.

Hopefully by the time we’re expanding the human species into space, there will be a way to simulate the smell of a summer evening.

After almost a week and a half of resting, I’m back to lifting again. I am almost two years into consistent weightlifting and was reflecting on times earlier in my life when I decided to give up exercise. The reason I always had for quitting was it caused more stress than it alleviated. That’s a mistake! Although I felt fine the first few weeks of being sedentary, my stress levels began to rise. My heart would beat at an alarming rate just from simple interactions with heightened emotional energy. It took a few tries to realize that I have much better control of stressful situations when I consistently manage stress through exercise.

A half-hour to learn rust →

A half-hour to learn rust got a lot of buzz on hackernews. I’ve been meaning to take a closer look at Rust. The issue is that its syntax varies from any other programming language I’ve used, so it is a little overwhelming. I’m going to take a moment to look over this post to get a better understanding of the syntax.

Qualitative and Quantitative Data in Conversation

A speaker can sometimes prioritize the wrong details in a conversation. When a speaker glosses over the essentials, it’s much harder for the listener to reason about what isn’t essential.

Andrew has booked a hotel room, but realizes he underestimated how long he would need to stay. He calls the hotel and longwindedly explains where he’s coming from, why he’s going there, even the month he’s staying, and that he has booked the wrong dates. The listener at the hotel front desk is confused about what Andrew needs, so asks what he needs. Andrew is frustrated because he just explained what he needs! He needs an earlier check in date.

Andrew isn’t communicating the quantitative data very clearly. He is caught up in a narrative.

Starting off on the right foot

Andrew is better suited by letting the listener know outright who he is and his relationship to whom he is calling. This is a common problem in both business-to-business interactions and business-to-customer interactions. The speaker starts with a story before they give the story context.

Andrew should be ready to spell his last name. An interruption asking for his last name shouldn’t startle him. He can then tell the listener the dates he has booked and what changes need to be made. It’s even okay to add a little narrative here so long as Andrew focuses on effectively communicating the quantitative information.

Andrew benefits from getting through the conversation faster having effectively communicated his needs.

Why does it matter?

It doesn’t matter to people who don’t care about being polite or communicating clearly. Andrew can carry on bloviating about the qualitative while glossing over the quantitative and do just fine.

For those wanting to be understood: focus on clarifying the data and then tell a story. Listeners will appreciate it.