Setting up code lens for Rust.

Neovim LSP CodeLens for Rust


CodeLens is a very useful feature for developers to easily identify the actions or references in a particular file. This article explores using the Neovim LSP code lens and hover action features to run or debug Rust applications.

Getting back to basics to hack the terminal and shell.

Photo by Markus Spiske on Unsplash


In the previous article, I walked through with you command-line tools to use for faster file system navigation. Unix-like (UN*X or *nix) systems, with history date back to the 70s, have various functionalities that even daily users may not be fully aware of.

This article explores the basics of Unix-like systems (specifically Linux) and tips and tricks that could help improve our productivity and development workflow.

The Basics

Let’s briefly talk about the basics. You can check out the References section or the Wikipedia links for more details. …

Tips and tricks for a better coding experience.

Neovim Tips for a Better Coding Experience — Part 2


I walked through with you the tips and tricks using tree-sitter in my previous article. This article continues to explore how we can improve our coding experience using Neovim.

Better Select

nvim-ts-hint-textobject is a plugin using tree-sitter that provides region selection using hints on the abstract syntax tree of a document. This is intended to be used for pending operator mappings.

Using packer.nvim, I install and configure the plugin.

use {
config = function()
vim.cmd [[omap <silent> m :<C-U>lua require('tsht').nodes()<CR>]]
vim.cmd [[vnoremap <silent> m :lua require('tsht').nodes()<CR>]]

Run luafile % and :PackerInstall

Let’s create presentations the developer’s way.

Photo by Alex Litvin on Unsplash


I showed you how to use VSCode, Emacs, and Vim/Neovim to create presentations in earlier articles. As developers, rather than using presentation software, we should use tools and technologies that we are familiar with to make presentations to fit our development workflow.

This article explores using open source libraries to make interactive and attractive presentations.


Let’s get started with Slidev, which uses an extended Markdown format to store and organize your slides in a single plain text file.

  • Create a Slidev application using either yarn or npm. For this example, I will be using…

Tips and tricks for a better coding experience.

Neovim Tips for a Better Coding Experience


With the introduction of LSP (Language Server Protocol) support starting release 0.5, Neovim is gaining popularity among developers. Besides LSP, Neovim 0.5 adds support for tree-sitter, a tool that serves as a parsing library.

Parsing your code into a syntax tree allows for manipulating the structure of your code in a more intelligent way than is currently possible with regular expressions. This allows for improved and faster

  • text objects and motions
  • refactoring
  • code navigation
  • syntax highlighting

This article explores how we can leverage nvim-treesitter for a better coding experience.

Better Text Objects and Motions

Using any plugin…

Auto-generate GraphQL APIs for your databases.

Photo by Tobias Fischer on Unsplash


I talked about generating REST APIs in 5 minutes and using GraphQL to serve machine learning models in earlier articles. GraphQL, by Facebook, is gaining popularity among developers. In this article let’s explore open-source platforms that can help us automatically generate GraphQL APIs for databases.

Setting up a PostgreSQL Database

Let’s set up a PostgreSQL database with data for demonstration purposes.


I am going to use the following docker-compose.yml to set up PostgreSQL and adminer to manage the database.


Note that I set the default network to my-network. …

Open-source Rust utilities for developers.

Photo by Oxana Melis on Unsplash


Rust is ranked as the “most-loved” language by developers consecutively for the past few years. There are many great applications, libraries, and utilities that have been developed using Rust. Many of them improve the performance, security, user experiences, and functionalities of existing tools.

In this article, let’s go through some of the useful utilities for developers. Some of them may be lesser-known (compared to ripgrep, fd, exa, tokei, bat, dust, etc) but you should try out to see if they can fit into your development workflow.

Terminal Emulator — WezTerm

Alacritty, written in Rust, has been one of the…

Building a developer portal using Backstage to unify all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end.

Photo by Clark Tibbs on Unsplash


As developers, we build products, applications, and portals for others to use. As the team grows in size, slowly it becomes more challenging to deliver high-quality code.

In this article, let’s go through Backstage. This is an open-source platform for building developer portals to enable product teams to quickly ship high-quality code without compromising autonomy.

Getting Started

Let’s get started by creating a standalone Backstage app.

npx @backstage/create-app

Practical deep learning using AWS SageMaker, AWS Lambda, and API Gateway.

Photo by Alex Knight on Unsplash


In the previous article, we go through the basics of SageMaker on training, testing, and deployment of a machine learning model. We are particularly using the XgBoost sample notebook to predict potential customers that are most likely to convert based on customer and aggregate level metrics.

In this article, let’s use a deep learning model provided by AWS SageMaker, and expose the endpoint leveraging Lamba and API Gateway.

Learn how to serve machine learning model using AWS SageMaker and the Python Boto3 library.

Photo by Markus Winkler on Unsplash


In my previous articles, we used different technology stacks to serve the machine learning model. E.g.,

In this article, let’s start to explore AWS SageMaker. …


Software engineer, Data Science and ML practitioner.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store