It lets you keep track of your file history in one place. You can share that history with others in many ways. Use it as a collaborative tool. It allows everyone to work independently and combine their code on their own terms. It’s really hard to mess it up and put it in a bad state, almost everything can be undone without consequences. You can set up central repos on shared drives or servers, or choose to forgo central repos all together. It works fine using simple paradigms but can scale to be as sophisticated as you need. It’s easy to set up and doesn’t get in the way of your other work.
Vim/vi. Was forced to use the bare bones because of some company’s machine config and yes we debug in production lmao. I slowly discover that I don’t need fancy configs.
So the "rc" in vimrc means "run commands". And while the term gets abused, by and large what's in vimrc can just be run directly by yourself in vim without a file. All the config file really does is run a list of commands on startup.
Being able to type something like "z ab g f" to reach a fairly deeply nested directory is almost akin to magic. I absolutely hate cd'ing everywhere, and often I'm cd'ing between the same couple of directories for a number of projects, so I feel like it helps retain my sanity. I've also written scripts to take advantage of it, such as a cp clone that doesn't require an immediate target. So I can cp a file (or number of files, or a directory), z-jump to a different directory and paste it there instead of laboriously typing out all the directory paths. I love it.
Just wanted to say thanks for this rec. Tried it this morning and I'm smitten. Adding this to my (tiny) set of non-standard tools, alongside ripgrep, fzf and fd-find.
Emacs is probably the only piece of software I've used nearly daily (regardless of OS) for the past 20 years, and org-mode for the past 10 or so. Really good pieces of software.
Rstudio. It was clearly made by people who come from a data analysis and statistical programming background, rather than traditional programming. Having started with R in college, I just took it for granted that every IDE would be as straightforward and easy to use as Rstudio, getting out of the way and allowing the user to get shit done. I sadly learned otherwise! In particular, there is no environment of equivalently high quality in the Python for data analysis ecosystem. Nothing even comes close.
I'm not an engineer anymore so this is going to be pretty unexciting: Google Docs (and Sheets). Or really any product that offers the same rock solid realtime collaborative experience.
I'm not always excited to open them up. Docs and Sheets don't seem to be seeing much visible improvement over the last few years. But in my org they're the way we build consensus, make decisions, track, document, discuss, and more. It's easy for me to complain about them, but they are both so effective and valuable (to me).
As an engineer I probably would have said JetBrains IDEs. I find myself spending less time thinking about tooling, syntax, the standard library, finding/moving/renaming things, and more time thinking about what I'm building.
VSCode - Opens quickly, no freezes, regular updates, huge ecosystem
I am also pretty satisfied with YouTube (premium, so no ads): high quality videos that load fast, clean UI, very good recommendations, huge community.
I would also like to say Twitch, but their platform is a lot more buggy than YouTube, quality not that great and it's harder to find good content/streamers.
emacs although that's probably not a surprising answer. Something a little less known I found recently was 'Kitty Terminal', which is very snappy gpu based emulator, makes more of a difference than I thought it would. Also ripgrep and fish shell, and i3.
Houdini. It has so many uses: procedural generation of 3D geometry, as a learning tool for understanding matrix transformations, as an FX and simulation tool. It's the most powerful piece of software I've ever used. It feels like it's from the future.
Telegram - It's fast, syncs perfectly across all platforms and the UX is perhaps the most intuitive I've ever seen in a messaging app. Great search features, an API for analytics/bots, large file sharing limits...
Amazon's Alexa on my Echo. I use it everyday as soon as I wake up and when I go to sleep and through out the the day. It's quirky but for the most part it works. Pretty amazing...
IntelliJ / Android Studio / other JetBrains IDEs. Maybe a little too resource intensive, but the UX and context-sensitive intellisense is light-years ahead of the competition.
I'm conflicted about Photoshop. It is, at its core, an absolutely fantastic piece of software, but as time goes on it slowly accrues this accretion disc of bullshit: dialogs implemented with web-views, video tooltips, mandatory sign-in, Adobe service tie-ins, and shortly before I stopped using it, I started seeing honest-to-god popup ads inside the UI.
MacOS. Everything “just works” (iCloud, FaceTime, unlock with Apple Watch, multiple wide screen monitors) and I can still drop into a terminal whenever necessary to run something I wouldn’t run in a container.
It lets you keep track of your file history in one place. You can share that history with others in many ways. Use it as a collaborative tool. It allows everyone to work independently and combine their code on their own terms. It’s really hard to mess it up and put it in a bad state, almost everything can be undone without consequences. You can set up central repos on shared drives or servers, or choose to forgo central repos all together. It works fine using simple paradigms but can scale to be as sophisticated as you need. It’s easy to set up and doesn’t get in the way of your other work.