A well-crafted shell function can be a game changer for developer productivity. These functions streamline repetitive tasks directly in the terminal, avoiding context switches and speeding up common workflows. I recently introduced a few of these functions to my setup, and they’ve been invaluable. Here’s a rundown of each one, with descriptions of the tools you’ll need and how each function fits…
As we continue working closely with clients, we often find ourselves in situations where we make recommendations that we believe to be in the best interest of the project. However, it’s not uncommon to face pushbacks. When this happens, it’s crucial to “Assume Positive Intent.” This mindset is essential in navigating these challenges effectively. Why Assume Positive Intent?…
I’ve worked and interacted with a lot of people working in engineering teams across various contexts, and one of the most common pain points I’ve encountered is the prolonged wait time for code reviews. Long delays in code reviews can cause several issues: Slower Delivery Pipeline 🐢 When reviews are delayed, the overall progress of the project is hindered, affecting delivery…
Keybindings or keyboard shortcuts are essential to an efficient workflow. They help you navigate faster, be more productive and reduce the time you spend on repetitive tasks. My workflow is heavily keyboard driven and primmarily relies on a browser and a terminal within a tiling window manager, for these I use my own set of keybindings. Because I work on multiple machines and operating systems, I…
TLDR ls parsing bad, do this ls -1iq | grep -o '^ *[0-9]*' # get file inodes find /path/to/search -inum <inode_number> # convert inodes to file info You can continue your doomscroll now 👍🏼 You still here? (thanks!! 😇) ok, then read on: Do you know why its not recommended to parse ls output for operation on a list of files? It’s because the UNIX system allows any characters in filenames so…
I have been using zsh as my shell for over 6 years now. During this time, I’ve experimented with various configurations and setups, and I’ve finally settled on one that I like. In this post, I will discuss how I organize my zsh config and how you can do it too. If you want a longer video version, check you ZSH Deep Dive Let’s get started. Config Structure Before diving into the…
What’s the coolest thing about open source software? 💭 If you need a new feature, you can just go ahead and add it yourself! I recently did this with lazygit , a terminal-based git client I use every day. I wanted to add co-authors to commits, which is handy for pair programming at Incubyte My pull request for this feature got merged recently, and now I’m thrilled to use it with the…
Do you like Nerd fonts ? but don’t like going over to their site just to fetch a glyph for your pretty terminal? Well, me too! Introducing nerdy.nvim , a super handy plugin that lets you easily search, preview and insert all nerd font glyphs straight from neovim! ✨ Features Fuzzy search nerd glyphs Preview glyphs before inserting Super lightweight Can auto generate new icons from source…
Have you ever wondered what skills it takes to be a software architect? While civil architects design awe-inspiring structures that stand the test of time, software architects craft intricate architectures that form the foundation of modern technology. Software architects mold the digital landscape as we know it. Architects possess a unique mindset that enables them to design and develop robust…
Are you feeling lost in the new world of AI tools and Prompt Engineering? Don’t worry, we got you! In this article, we’ll demystify everything and equip you with the knowledge you need to get the most out of AI tools like ChatGPT. So, let’s get started! What Is Prompt Engineering? Prompt engineering is like being the conductor of an AI orchestra. It’s the art of crafting…
Do you find the Windows dev environment lacking? Do you miss your precious CLI tools on Windows? Well I felt the same way too. That’s why I combined a package manager, a powerful CLI editor, tiling window management and lots of other tools in a easy to set up solution. Introducing win2k win2k is a set of handcrafted configs for setting up a complete dev environment on Windows. It makes…
If you have used tmux then you already know that tmux provides ways to create multiple panes on your terminal among many other things. You might have also felt that the default way of doing these things is kind of clumsy and doesn’t feel natural. Introducing tmux-tilit : What is this tmux-tilit is a tmux plugin that adds tiling window manager like features and keybindings to tmux.…
What is this How many times have you been working on a piece of code with someone and then when committing you ask their full name and email address for adding a Co-author to the commit? Upgrade to 21st century, use this plugin to automatically fetch author details from your commit history and then add to your commit message, all from inside neovim. It shows you a list of all the unique authors in…
What is this Posh2K is a prompt for oh-my-posh , it works on all shells, has multiple segments with aesthetically pleasing colors. Inspiration Most of my workflow is based on the command line, recently I had to use a Windows system for some work and was really displeased by the CLI experience. So, I needed a prompt that can work across shells and has support for different segments and Posh2K was…
🚫 DSA is OVERRATED!! 🚫 I recently saw some posts on LinkedIn and Twitter about how a 1% decrease in load time increased revenues for a company. Sure, I agree, we all want fast software. 🚀 Here’s the thing though, One can build fast and robust software without spending 1000 hours on Data Structure and Algorithms. ✨ Believing that crazy DSA skills are needed for optimizing software is just…
Have you ever wanted a place that can make all your profiles and links nicely organized, easily searchable and with super customizability? Well, now you can! Introducing links Present all your links in style with an easily accessible and highly customizable web app! ✨ Inspiration Needed a place to display all my profiles, used my project’s repo as inspiration. Getting links To get links,…
What is this tmux2k is a tmux plugin for that adds powerline support and pretty colors to your tmux status bar. Inspiration tmux2k was inspired by dracula/tmux . Prerequisites Before you begin, ensure you have met the following requirements: You have installed the latest version of tmux . tpm for managing tmux plugins. A patched nerd font for powerline and glyphs support. Installing tmux2k Using…
Introducing Projects Present all your projects in style with a super customizable web app! ✨ Projects uses the GitHub API to list all your GitHub projects in a nice searchable grid. Also shows pretty programming icons using devicons . Inspiration Needed a way to display all my projects, that should auto update from my GitHub Getting Projects To get projects, follow these steps: git clone…
Git is the most widely used version control system in the world, and it is something that every Software Craftsperson should master. In this article, we’ll be going through five git tricks that will make your software crafting easier. Here are the tricks we’ll be covering in this article: Quickly set up Git SSH credentials with GitHub CLI Create a new branch and track it with remote…
I recently completed my Hacktoberfest PRs and This post is for all the people who are struggling to get those Pull Requests in and have to resort to special repositories which are targeted toway Hacktoberfest only (nothing wrong with using these). But there’s another way with which you can make valuable contributions easily to the biggest of projects and later on, look at them and feel…
GitHub actions are something that I was always curious about but never really explored, thanks to this hackathon I took a dive and was able to come up with something that actually solves one of my problems. Gulp Runner Like many of us, I have a personal site deployed on GitHub Pages. 🌐 It uses SCSS so I have to convert it to CSS pre-deployment, I also like to have my scripts and styles minified.…
Problem Brief: MySQL daemon fails to start Details: So, I recently installed MariaDB (Community fork of MySQL) on my Manjaro system and when I started the system with: sudo systemctl start mysqld This is the error I get: Job for mariadb.service failed because the control process exited with error code. Let’s look at journalctl -xe : A start job for unit mariadb.service has finished with a…
Do you have a lot of repositories on GitHub and are always making changes to them? Do you work on multiple machines, and are struggling to keep the repositories in sync? Have you ever moved to a new machine and spent what seems like an eternity cloning all your projects one by one? If your answer to any of these questions was yes, well I have a solution for you. Introducing GHPM - GitHub Project…
I was recently trying out OBS for my new YouTube Channel ! but faced weird flickering issues when recording, after a lot of tweaking I found the solution. You have to turn of Vsync on your system. On KDE the steps are as follows: Open System Settings Then go to Display and Monitor section Click on Compositor Here, change Tearing Prevention (vsync) to Never This should do the trick. Try again, and…
Here’s the situation, You have forked a repository on GitHub, you have made your changes and sent a pull request, and that request has been merged. Now you want to make further changes, but the repository mentions that you are X commits ahead or/and X commits behind upstream repository. So how do you sync it? You can delete your fork and fork the original repository again, but that is a very…
There are lots of extensions out there that turn your web browsing experience much better if you prefer dark backgrounds (who doesn’t right?). My favourite one is Dark Reader but there’s just one problem, mobile versions of chrome don’t support extensions. This trick will help you turn on dark mode everywhere. Steps: Visit Chrome flags by entering chrome://flags/ into the address…
What if you are given a problem where you have to add two integers but you can’t use any arithmetic operators (+ - * / % // **), like LeetCode’s problem #371 . So how do you approach this problem? Answer: Bit manipulation Problems like this can be solved using bit-wise operators as basic mathematics rules work in the same way whether it be binary or decimal. All we have to do is:…
Wouldn’t it be convenient if you could mirror your Android device’s screen onto your PC and interact with it? I have just the right tool for this job that lets you do all this and more and it’s called “scrcpy”. It is a tool created by folks at Genymotion. What you’ll need Android device with Lollipop (API 21 / Android 5.0) or newer with USB debugging turned on.…
Any of you who use npm should have received a mail and that is the reason behind this post. Microsoft has made a lot of progress in between Steve Ballmer’s “Linux is a cancer” and Satya Nadella’s “Microsoft ♥ Linux” in the Open Source world. Most of what microsoft has been doing recently is very inclusive of OSS. Things from the top of my head include WSL, VS…
Here’s a common scenario, You have committed a file to your git repo and have also pushed to remote. The file wasn’t supposed to be there, maybe it was something you forgot to mention in your gitignore or something that was supposed to be an environment variable, or maybe it was a binary not related to the project at all ( Cat GIFs? 😉). This not only raises some security concerns but…
JavaScript is taking the world by storm, once used to add functionality to the web, now it is being used in almost all types of software development. For example, Using JavaScript you can do things like build Progressive Web Apps (web apps with native app like features) , create desktop apps using electron, make Android & iOS apps with React Native, do server stuff using Node and Express and many…
A shell also known as the command line is one of the most important tools for any software developer. You can do very complex things very quickly here. Learning to use the shell efficiently can make your life much easier. In this post I’ll be writing about the most useful keybindings for the bash and zsh shells. *nix systems generally ship with the Bourne again shell or bash and zsh or Z…
In a previous post, I wrote about password managers and why you should have one. In this follow-up article I’ll try to explain Two-Factor Authentication or 2FA and how it can make your security more robust. So what 2FA does is that It adds another layer to your security. After you provide your username and password 2FA will ask for a special code that you may receive via SMS or an…
If you code professionally or as a hobby or are just learning to code, tracking code time can be very useful to you as it can unlock some valuable insights for you. I recently came across one such tool and have a overview of its features here. Wakatime is one of those tools, that logs all your coding related info like: which editor you are using which project you are working on which language you…
All of us have at least 20 (definitely more!) accounts on the internet today and managing all those passwords can get tricky if not done correctly. You can easily forget your password and if you don’t you have a very easy to guess password, and that is a very terrible thing to do. You also have to remember other information like credit card informations, licence keys, secure notes etc. A…
What do you have playing on your earphones while traveling, driving or doing something less mentally taxing? I’m sure most of your answers will be music and I do love my music. But there’s another form of audio only media out there that can take your ears on a joyride - " Podcasts " Yes, podcasts a very powerful form of media which is often under explored. Some of you might have never…