Policy of transience

33 points by pushcx


n1000

I love Simon’s articulation of a tension I’ve been feeling in my own work. I love REPL workflows. I’m addicted to evaluating expressions in my editor: function interiors, half of a data pipeline, little scripts I write in the middle of a file. You get immediate feedback and can go seamlessly from a “scratchpad” to a working program.

That’s the idea at least. I’ve been burned several times writing data processing scripts that depend on some saved state in R’s “workspace”. It probably sounds crazy to engineers working in other languages, but I’ve seen some horrible situations with load-bearing global state in pipelines in jupyter notebooks or R scripts.

REPL work (and you can make a lot of languages into REPL languages with something like SLIME) frees you from having to think about state or your environment when you’re just hacking around or debugging. The freedom costs something. I won’t give it up, but I need to develop better practices to avoid digging myself too deep of a hole.

n3t

It reminds me of https://grahamc.com/blog/erase-your-darlings/ and https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/ that implement similar policies with NixOS.

Personally, I often use /tmp as a scratchpad and really like the fact that it gets cleaned up automatically.

I also have ~/tmp (a regular directory, not a ramdisk) but it tends to accumulate cruft. Somehow I never feel confident to just remove everything in there without making sure I won’t miss anything.

k749gtnc9l3w

One of the benefits of what I have with nsjail-ing a lot of stuff is that persistent mutable profiles for various heavy tools are just not a thing that can happen. Path-dependent behaviour not allowed. It looks like a defensive security measure, but what it defends against best is applications trying to gaslight me.

Ideally, the zone outside «transient», «version controlled» and «append-only / write-once» should be as small as possible. I do have some version-controlled de-facto-shell-history though.

lonjil

This is like, the opposite of me. I just started a new browser profile two weeks ago, and I currently have 3336 tabs open, across 28 windows. I use an extension and some Sway configs to automatically place them in the correct workspace if I have to restart Firefox for some reason.

alper

We had a company policy like this where we just didn’t pay for Slack (impossibly expensive for our setup anyway) and anything you wanted to find two weeks later had to be documented in another place. It worked amazingly well.

Close my entire web browser frequently

I just need to remember to reboot my laptop. I’l often ask myself why my Macbook is so slow and then I see an uptime fo 50+ days.