Github Actions LSP in Neovim
In this letter, I'll walk you through on properly setting up the github actions LSP on neovim.
73 articles
In this letter, I'll walk you through on properly setting up the github actions LSP on neovim.
In this letter, I want to reflect on the things I've learned while building developer tools internally for the past 4 years.
In this letter, I'll teach you how to setup aider ai with Github Copilot as the docs aren't fully updated on that
It's been a good 8 months since I last published any piece of work online to be honest. Actually there might have been a video, tweet or some other form of media somewhere out there. I'm not too sure. I'm mostly writing this to
This article covers six commonly ignored types of grunt work, their impact on teams, and how to tackle them. From speeding up PR reviews to enforcing testing and marketing internal tools, addressing grunt work isn’t just about efficiency—it makes software development smoother for everyone.
In this tutorial, I'll guide you through setting up a robust testing environment in Neovim using Neotest.
In this tutorial, I walk you through how to set up a debugging environment in Neovim using DAP for any programming language.
In this article, I teach you how I would begin meditation in such as way that it sticks. This has helped me meditate everyday. I hope it helps you too.
In this article, you'll learn 10 key lessons that helped me go from dreading blank pages to publishing over 100 articles online. From writing consistently to embracing feedback, these tips will help you build better habits, improve your skills, and make writing a more enjoyable process.
In this article, you will learn what emotional intelligence is and how by developing it, you will become a better software engineer.
Alerts are one of those things where we want to do them and then put them off. But once we do get to do them, we do them wrongly and never do them again. You'd be surprised at how often this happens. In this article, I want to
Release engineering is one of those roles I didn't even know existed. But when the opportunity came to join the release team in my company I took it without thinking much about it. 💡Pro tip: Always think before making career moves. Later on, I figured it would be
In this article, I've broken down how I overcame my writer's block and hopefully you can do the same.
In this article, you will learn about GitOps practices using ArgoCD.
I recently had the pleasure of working with Crossplane, and it was a bit difficult initially. As I'm not a Kubernetes expert, I had to learn multiple things simultaneously, but that's no Crossplane's fault. In this article, I want to share an introduction I
In this article, I show you how I manage my dotfiles using a CLI tool called GNU Stow.
In my last article, we learned how the Language Server Protocol (LSP) standardizes the communication between code editors and language servers. This has revolutionized how developers write code, offering features like auto-completion, syntax highlighting, and real-time diagnostics. Building on that foundation, this article focuses on a more practical
Code editors were trash back in the day. (If you compare them to tools nowadays) Some editors were built for specific languages, and others were more general-purpose but had few excellent features. Some were expensive, and others were cheap and clunky. But then, a paradigm shift happened. VSCode was
In this article, you will learn how to simplify your Kubernetes manifests using Kustomize.
In the second part of our series on Terraform, we will be discussing how to create abstractions over our Terraform resources. We will be utilizing a feature in Terraform called modules. But before we head into the technical details, let's discuss why we would want to abstract things.
In this article, I share with you all my lessons in transitioning from VSCode to Neovim. It has made me appreciate the terminal and made me a better developer.
I recently turned 24 on the 23rd of December 2023. I felt very empty. I felt lost. I felt a distinct lack of clarity. I didn't know what to do with my life. Everything felt meaningless. This isn't a new feeling, it has been coming and
In this article, you will learn how to properly setup Github Copilot in Neovim with sane settings such as cmp.
Imagine this, it's a Tuesday, you've just finished developing a feature, it passed all the checks, and you're ready to deploy. You merge the changes, and soon after you notice that the deployment to two servers succeeds, but the third fails. This isn'
In this article, I talk about my indie hacking adventure of the past 6 months. Many failures but most importantly many lessons.
I've never specialized in one field. I've worked with frontend, backend, DevOps, and a bit of QA. I now develop tools in my company to make other developers more productive. Creating tools is the most fun I had with software engineering. But it wouldn't
These days, developers have a lot of cognitive load. You’re not just writing code, you’re playing around with cloud providers, troubleshooting Kubernetes, managing observability tools, making sure that your software is compliant with security best practices, and so much more… It’s not only you. It’s everyone
Writing has single-handedly been the most important skill I’ve ever learned. But at the beginning, I didn’t think much of it. I just wanted to share my knowledge and simply write. That was 3 years ago, I remember I had barely 1 year of professional experience. It
A lot of software engineers forget why their software is successful. (or why it's not). The #1 reason is that your customers love your software. But making good software is hard, the stars must align. Things such as tech, product, marketing, and sales all come together. On the
I've always been a daydreamer. I don't know how common it is with people but I've always struggled with it. I imagine scenarios where I save the day or problems to solve. I don't know when it started but I've
Starting this year, I felt out of control of my life. Things were moving but it all felt a bit too much. I had no balance. I was trying to focus on 100 different things at once. It was only when I narrowed my focus on a few core things
When ChatGPT came out, I used it a lot. From my job to my writing and fitness. But then I started to notice that I'm becoming dumber. Also, my ego got in the way, I was like "Huh, I should be able to solve this myself without
In the last article, I talked about load balancing in the context of Kubernetes. This time, we will talk about something simpler. NGINX. Da dum. Don't get scared, it may seem daunting at first but it doesn't have to be. That's why I wrote
Load balancing is the process of distributing network traffic equally over a set of resources that support an application. Modern applications must process millions of users simultaneously and return the correct data in a fast and reliable way. To do that we distribute the network traffic equally which will result
Imagine that you're a DevOps developer. Everyone keeps asking you to do something. "Hey, can you help me deploy this?" "Hey, something broke in production and I have to roll back, can you help me do that?" "Hey, can you set up monitoring
Have you ever wondered how complex systems are built in companies like Google, Netflix or Amazon? The answer is good system design. System design is both the art and science of creating scalable, reliable and efficient systems that can handle large volumes of users and data. However, designing a complex
You were tasked with creating a new project. As this project's scope is enormous, you decide to separate the components. You tell yourself, "Wow, finally I'm one of those cool developers that work with microservices". But you quickly fall into your first problem. How
One of the most common uses for Go is in making backend services. This mostly includes creating RESTful APIs. (If you are not familiar with RESTful APIs, here's an awesome video by IBM explaining it.) What is a REST API?Learn more about about APIs: http://ibm.biz/
Why should we care about metrics? Because it tells us whether we are moving forward or backwards. In the world of DevOps, we use the DORA metrics. That's what we will talk about today. Today you will learn: * What are DORA metrics? * Why do we need them? * The
The software world has changed since the increase in the popularity of containerisation. Technologies such as Docker are widely used to manage and spin up containers quickly. It has been used in big companies such as Google but they had one big issue. There were just too many containers. Companies
Back at it again, this week we will cover chapter 9 of the book titled "I can't get this class into a test harness". Sometimes it's just hard. But if it were easy then everyone would do it!! Okay, I'm sorry that
Welcome to my new series on books. I like to read books and figured out why don't I reinforce what I learn by writing about it. So here it is. The first book I would like to review is called Unconditional Parenting. -------------------------------------------------------------------------------- You can check the book on
In legacy code, one of the most important considerations is that we don't have tests around much of our code. What's worse, is that getting them in place is difficult. That's why many people are tempted to go back to the techniques we learned
Early on in my career, I was working on an e-commerce site. Everything was going fine, features were being delivered, and everything seemed to work in production. Until the equivalent of Black Friday came to Kazakhstan. First, the site was slow. Then, it was an error 503 Site not
How long does it take for you to make a change? If I ask this to 100 different people, I will get 100 different answers. The answer varies widely. So in projects with unclear code, many changes take a long time. On the other hand, in clearer areas, this can
In this article, we will learn about the gRPC protocol, why it was created, and what problems it solves. I also include practical examples of how you can utilize gRPC in JavsScript.
You might ask me? Is doing all this additional work worth it? Do I need to test all my code? Do I need to break all these dependencies? You might be wondering whether it’s worth doing these things right now. The truth is, the work that you do to
Nowadays service-oriented applications are becoming very popular. There is no "one" backend. There are multiple services that all communicate with each other. This is all nice and dandy but when you get into the details it gets a bit messy. One of the common fallacies is how
When people first start writing tests, they will notice how horrible code is structured for them. In general, this is true most of the time, except when you write tests along with the code which is called Test Driven Development. I personally think it's a thing that every
In the last chapter, we covered the refactoring process. We declared that the most important step in refactoring is testing. So why don't people write more tests? The simple answer is because it's hard. The reason why it's hard is because of dependency management.
This is pretty late. It's already the end of March. But better late than never. Anyways I'm a pretty accountable person and figured out what better to keep accountability than to tell the whole world what I've decided to study in 2022. So without
In this chapter, we will cover the different ways changes happen in our system. In general, there are two ways: * Edit and Pray * Cover and Modify Unfortunately,Edit and Pray is industry standard. The process of Edit and Pray goes like this: 1. Carefully plan the changes you are going
As I was studying Operating Systems, I learned about multithreaded applications and how they work. I was pleasantly surprised to see that they got their own design patterns. As the guy with around 9 articles on different design patterns, I just had to write something about it. Well here goes
> “Legacy Code is code without tests” That's pretty much the premise of the whole book. Thanks for reading... Just kidding, there's a lot more to this. Testing is one of those things that I've ignored for a good portion of my career but
In our last article, I introduced the concepts of threads. We learned what threads are and how do they speed up our code. You can check out the previous article here: What are threads?Most, if not all modern operating systems support multiprocessing and at the same time processes can
Most, if not all modern operating systems support multiprocessing and at the same time processes can be run in multiple threads hence the word multithreading. This will give you a significant increase in performance and scalability but it comes with a price. The overall complexity of the code increases and
I've been programming professionally for almost 3 years. But I'm gonna be honest with you. My computer science (CS) skills are pretty lacking. That's why I've dedicated 2022 to finally learn some core computer science concepts. But where do I start? That&
Got slow python code? Don't want to refactor to some other "low-level" language? Want to impress your peers? We got all that here!! -------------------------------------------------------------------------------- Now that you are actually here, today we will cover ways to optimize our Python code specifically using Multithreading and asyncio. In
One of my goals in 2022 was to dive deeper into core computer science subjects. The first subject in the list is Operating Systems. This is a very wide subject but for simplicity sake, we will cover the basics. Today you will learn: * What is an operating system? * Different kinds
In October of 2020, I've published my first blog post about SOLID principles. This was the first written content I've ever put out on the internet. At the time, I and many of my friends thought it was a pretty stupid thing. There are already dozens,
This past week I've dropped all the typical backend engineering I usually do and did some game development. It was a fascinating experience, it's like I've gotten back the joy of programming. Ever since I've started working professionally programming became more of
As API developers it's easy for us to fall into the trap of routine. I'm not saying it's a bad thing but it gets boring real quick. To break through this routine it's up to us to do interesting and new things.
This is an awkward post. Most of my last articles have been directly correlated with Python and Django. But it may surprise you that I am NOT a "python" developer per see. I didn't pick Python, it chose me. God, that sounds cringe, but anyways I&
A couple of days ago I've started to see the word "web3" a lot. It started on Twitter but eventually spread to YouTube and I've succumbed to it. I've fallen down the web3 rabbit hole. Thankfully I'm out of it
Cacheing is one of those things that are simple at first but can get really messy quick. There's even a quote about it. > There are only two hard things in Computer Science: cache invalidation and naming things – Phil Karlton The story goes like this. 1. You start
Deployment is hard. You have to make sure that you are in the correct environment, with the correct variables, and finally, run the correct commands in order. Other things are hard too, like keeping code quality high with consistent testing, and linting. These kinds of things should be done automatically.
A couple of months I started my first project with Auth0. We had a RESTful application, and my team lead went and told me to integrate our authentication system with Auth0. I was confused because most of the work was done in the front end, and I just didn'
I've read a good amount of books this year. There were some that I enjoyed and others that I didn't. But the biggest mistake is that I didn't drop the books I didn't enjoy. For example, I've read Code Complete
> This article will go over the basics of testing and how to write tests for our Django APIs. I'm gonna be honest, I only started writing tests 3 months ago. It was the start of my new project and I've decided to develop the habit
In this article, you will learn how to create a simple search API using Elasticsearch and Django-Rest-Framework (DRF) Elasticsearch is the leading search engine in the world. Many companies use it such as Uber and Slack, but to leverage this technology in Django is pretty confusing. There are
A couple of months ago I joined my new company. I was excited, I got to work on new tech. I was finally assigned a project where our infrastructure was on Amazon Web Services (AWS). I was frustrated with how little I knew about AWS. I worked on it, but
A couple of weeks ago I joined a Discord server, where a bunch of programmers hang out and do projects together. One of these projects was a Youtube GUI player. I started working on the project and realized it's a lot harder than I thought it would be.