DEV Community

Discussion on: Minimizing Keystrokes, Maximizing Productivity  -  Bash Scripting

 
akshansh2000 profile image
Akshansh Bhanjana

The "Two steps from VSCode to Vim" video, I'm literally laughing hahahah. Took me quite a while to understand the satire :P

This was a great video; thanks for sharing :D

Thread Thread
 
wulymammoth profile image
David • Edited

Enjoy! I've left a lot of questions and comments on those videos. Haha. He's pretty entertaining. I mean, Vi key-bindings are everywhere! Navigating man-pages and tons other Unix utils... I can't be the only one. Vimium really doesn't take much to learn aside from the movement keys hjkl, gg (top of page), <shift>-g (bottom of page), then f and it marks anything that's a link with a letter or a sequence of keys to press to visit the link or open the link in new tab/window. This trips me up each time I'm on someone else's machine. Gesturefy is neat! I didn't even know about this. I do love Firefox containers and tree-style tab plugins, though!

Oh! I was not familiar with dmenu, but that is pretty neat! I may give it a whirl -- so many things to try. LOL.

Didn't end up installing Yabai -- was chatting w/ a coworker using it and he's like, yeah -- you gotta configure the keys first and I'm like, "okay, guess I'll wait!" I end up installing Rust instead and reading the book 🤷‍♂️ #priorities

Yah! Rust has been atop or near the top of that list for the last two or three years. It's got a lot of traction in the San Francisco Bay Area tech scene.

I always admire folks that do competitive programming. I follow quite a few on YouTube that you may be familiar with Erichto, William Lin, and Rachit Jain. Does Go's standard library have the data structures that you need for most problems? And did you find problems where you could use goroutines? C++ is pretty much the only language that I see used in CP, but of course, back in the day, there was Pascal. How often do you reach for heaps?

I've never really used any of the other Python VMs, but I can't even imagine someone using Python for CP. It's the language I typically end up using for interviews, but it's not like my solution is being compared one implemented in another language -- just need to be able to bring down the algo complexities (not always easy for a non-competitive programmer)

Haha -- people at work ask me why, too. Just curiosity and the possibility of working on some hardware that I had no interest in years ago. I think reading about Discord's use of Elixir and Go, then switching from Go to Rust here, really sparked my interest. I also had a coworker at a previous company that was a huge Rust open source contributor before it was popular -- he wrote a bunch of device drivers and software for cameras and lights around his house and I found that really cool. It wasn't something I could particularly do.

Thread Thread
 
akshansh2000 profile image
Akshansh Bhanjana • Edited

So I ended up installing the Vimium extension, and, wow. I love it. You were right; it didn't take much time to get used to, but saves a whole lot of effort while browsing. Thanks for this!

Firefox's containers are indeed great. I never really used the tree style tabs, though, as I think I'd need a bigger screen (I pretty much always feel that my screen isn't big enough haha) and so I think I might try that later.

Hahaha, yes, Yabai, i3wm, dwm, and perhaps almost every tiling WM takes a lot of time setting up + getting used to. They do save a lot later, though. So, a worthy investment, I'd say.

You've sold me for Rust, really. Gotta start learning soon :P

I haven't heard about Erichto, but yes, William Lin and Rachit Jain are amazing. Go's standard library contains lists (obviously), trees, heaps, stacks and queues (easily implemented using slices), and some useful functions. It isn't as extensive as the C++ STL, but it still does a really good job.

About the goroutines, I never came around to using them, as I didn't even know that much programming when I used Go (I was in my freshman year :P)

Haha yes, Python for CP is usually frowned upon. Honestly, I figured that in competitions where the submission time matters (i.e. the time one took to solve the problem, and not the submission runtime), Python is really good!

When I became used to Python, I realized that I could sometimes solve a problem using Python in half the time it took to solve the same in C++. So, what I usually do is use Python for easy problems (so that I don't fall into TLE problems), and switch to C++ for the harder ones. I found this way to be really efficient! Moreover, when dealing with really large numbers, Python works like a charm.

Woah, Discord switching from Go to Rust is a really interesting step! Let's see how it fares in the future :D