Skip to main content

Posts

Showing posts from 2024

Command line tools for a happy life

Hello Readers! I'm back and better than ever with another article about developer productivity. I love the Terminal. After all that's where everything comes to an end.  Or begins. (Only nerds get that joke.)  Today I'm going to discuss four (yes, just 4 ) cool *nix tools , utilities that help you get things done faster once you integrate them into your workflow. tmux tree find ripgrep   tmux tmux is a multiplexor. Do you log in to remote servers using ssh clients, like ssh and/or putty? Do you have to spawn multiple of those just to get more done? Does that slow you down? Of course it does. Well, look no further.  Spawn one terminal and invoke the tmux . That's all you need! Spawn it with: $tmux  Note:  tmux may not be available by default. To install it, use your favorite package manager. This screen cast demos how to use tmux.    Tmux, click for demo tree tree provides a nice layout of the directory structure ...

Chat GPT and our(dev) future

 There's a lot of hype and anxiety over large language models like Chat GPT. Companies are scrambling to come up with their next AI offering as soon as possible to counter GPT. I've been thinking about how it will affect us as engineers and our company in the near future and in the longer term. Please read what follows with a grain of salt, as this is my opinion only. What is GPT capable of? GPT is an intelligent chat bot backed by a language model which can answer your questions contextually and make it appear creative.  It allows you to do your job faster.  Will GPT help us get to MVP faster? Maybe. It can write code but only in snippets. You're still responsible for gluing the code together.  Today it’s a fast stack overflow.    Will GPT replace you?  Certainly not in the near term. Software engineering is about communication. A stakeholder won’t be able to communicate with GPT and get an MVP.  As an engineer, you...

Configuring VIM

Let's configure VIM In this post, we will look at the basics for configuring Vim. Vim has some reasonable defaults, but it is malleable, so you can shape it to your needs. Master craftsmen all have a favorite tool which is custom-made and tailored to their needs. That is what Vim is for writers and programmers.  Let's get down to business. Locate your configuration file. If you're using Vim ~/.vimrc in your home directory is the file you will use to configure Vim.  If you're using Neovim ~/.config/nvim/init.vim  in your home directory is the file you will use to configure Neovim.   The standard workflow is to edit the vimrc/init file, exit Vim, and launch it again so the configuration take effects. (Optionally, you could source the file in command mode.) If vimrc is open in your terminal, just enter the following command: so % . "so" is the shorter form for "source" and "%" refers to current buffer.  This configuration is the same for ...

Vim Part 3

Welcome to the second installment of a short two-part series on Vim! First of all, I want to thank you for your interest in this topic. If you haven't read the first part, I encourage you to start there. As I write this second part, I'm confident you are building your skills with the Vim editor. Take it slow, and like I said: learn one new thing in Vim every week. In the previous article, we learned the various modes of Vim, basic editing, and some cool features, like splits, tabs, and folds. I believe in developer productivity, and I think modal editing is really useful in that aspect. In Part II, we're going to learn some really cool stuff. Believe me: the minor tricks that you learn go a long way in the gains that you get with Vim. Let's jump right in. Part 2    Practice Second Week Deleting in Vim Replacing in Vim Multi-line cursor Macros (killer feature)   Deleting in Vim Why not use the dumb 'Delete' key on your keyboard as...

Vim Part 2

  Navigating in Vim Navigation is the very essence of using Vim. If you are used to pushing arrow keys to navigate around, it's time to break the habit. Vim will not come in handy if you insist on using arrow keys. The more productive (less distracted) way is to always have your hands in normal keyboard position and use the letters to navigate, as I describe below.  In Normal Mode these are the keys you will use to navigate. Notice I always mention Normal Mode, so it's always best to be in Normal Mode as often as you can.  h left j down k up l right This might be difficult to adjust to at first. Within a few weeks of usage, I started to love it. I no longer have to think about going up, down, left, or right. It just happens. Muscle memory! Tip: The best way to learn Vim navigation is to use it. Chrome's Vimium plugin is the best way to get used to this navigation.  Relative Jumping Vim allows you to concatenate multiple commands together. Let's sa...