What are Makefiles and Why should anyone use them?

Makefiles are one of the most useful tools I’ve been working with. I can say that it can be useful for lots of projects (with any language). What is Makefile? Makefiles are essentially a place where you can store your most frequently used commands in one place. They make repetitive tasks easier by creating short commands. Let’s take a look at sample file: install_packages: pip install -r requirements.txt generate_deps: pip-compile requirements....

July 19, 2024 · 5 min · 907 words · Amir

Setting Up Caddy for Reverse Proxy is dead simple

I’ve recently found Caddy as a tool to assign urls to my docker services and I’m quite happy with it. I’ve done other reverse proxies like Nginx and Traefik in the past but they are too complicated for my needs. Let’s start. Let’s say that you want to assign your url like newservice.amirpourmand.ir to a service in a VM with a public IP address. I’ll go you through it. Also, It has multiple benefits....

July 3, 2024 · 3 min · 533 words · Amir

How to Automatically Send Azure Alerts into Slack Channels

Recently, I wanted to have an easy way to send azure Application Insights notifications into Slack. Actually I am writing this tutorial two month after setting up this workflow and I hope I don’t forget anything. This method has been working pretty good in the last couple of months. Note that this is mostly free and I am just using Azure Services (App Logic and Applications Insights) and Slack Incoming Webhook app (which is free)....

June 28, 2024 · 5 min · 977 words · Amir

How to Record Google Meet Session With OBS Studio

Some days ago, I wanted to record a Google Meet session as a podcast and I didn’t want to pay for just recording the call, neither to google nor third party services. Here’s how you can do it step by step. First, install OBS Studio (which is available on all OSes) and open it up. Before recording anything, you should set your Base Canvas Resolution. Otherwise, you may end up with odd resolutions which are hard to edit....

May 19, 2024 · 2 min · 367 words · Amir

Browser Extensions I use

Here are some most important chrome extensions I use almost on a daily basis. All of them can be installed on chromium browsers. But, they may not be available on Firefox or other browsers. Bitwarden Bitwarden is the first thing I install on every browser. It saves all my passwords on all my devices. I rather not depend on Google to save my passwords since It limits my options to just use same-old Chrome....

March 12, 2024 · 3 min · 438 words · Amir

How to Install GPU Driver on Ubuntu

There are lots of tutorials on the internet on how to install a GPU driver on Linux. However, I end up searching again every time I want to install a GPU drivers and I get frustrated when there are multiple ways of doing the same thing and I don’t know which one is the best. Also, there are some things I’ve learned which I’d like to share it. I’ve tested this on 3090 GPU and Ubuntu 22....

March 2, 2024 · 6 min · 1091 words · Amir

A Great Combination of Jupyter + Conda + Docker

I’ve always wanted a clean local environment to install python packages in it. To me, it should have multiple requirements: 1- Installing packages should be easy enough. I mean I just want to use pip install that and not worry about anything else. 2- Switching between python environments should be easy. If I happen to need multiple environments in my system, I want to be able to easily switch between them....

December 8, 2023 · 3 min · 588 words · Amir

Useful Linux Commands and Scripts

I’ve been working for some time with Linux and I feel that sharing some scripts and also tools I frequently use can be helpful. Search History history | grep seach_string or Ctrl+R. Search Log files In order to search a folder to see if a string exists in the whole folder: grep -ir "string to search" . Show File and Folder Size To analyze file size, there are several ways....

December 5, 2023 · 4 min · 739 words · Amir

Elements of a Deep Learning Method

I’ve been thinking for some time about this and I want to share my thoughts about it. What are the elements of a deep learning method? If I read a paper in DL world, what questions I should ask to see if I understand the paper properly? This may seem trivial for some people as they intuitively understand it by reading some papers. Specifically, I’ve been reading YOLO-series papers and I always had a question in mind....

November 27, 2023 · 4 min · 821 words · Amir

How to Host your static website on Netlify and Use Cloudflare CDN

I host my hugo website on Netlify but since Netlify services are limited in my country, I have to use cloudflare CDN. Here’s how I do it. Step 1 Configure your website on Netlify like normal. Step 2 Go to Cloudflare Dashboard| Web Performance & Security and Login. Then Click on Add a site. You can then enter your domain name. Choose Free Plan Review your DNS records and just press Continue!...

August 9, 2023 · 2 min · 288 words · Amir