Increasing Disk Size in VirtualBox Using GParted

In this guide, I’ll walk you through the process of increasing the disk size of a VirtualBox virtual machine (VM) and allocating the additional space using GParted. Step-by-Step Guide 1. Access the Virtual Media Manager Go to the Virtual Media Manager of the VM you want to resize. You can find this under File > Virtual Media Manager. 2. Select the Disk to Resize Find the disk you want to increase in size and double-click it. ...

January 16, 2025 · 2 min

Protocols (HTTP, HTTPS, SSL and TLS)

Understanding HTTP, HTTPS, SSL, and TLS HTTP (Hypertext Transfer Protocol) HTTP is the most widely used protocol on the web. It is the foundation for accessing and displaying web pages. Key Features: Purpose: Used for viewing web pages on the internet. Data Transmission: All information is sent in clear text. This means the data is transferred over the public internet without encryption. Vulnerability: Since the data is not encrypted, it is vulnerable to interception by malicious actors. HTTP is suitable for regular websites where no sensitive information, such as passwords or credit card details, is involved. ...

January 15, 2025 · 2 min

Protocols (TCP, UDP, FTP, SFTP, TFTP)

File and Transmission Protocols TCP (Transmission Control Protocol) TCP a core protocol of TCP/IP suite, used for reliable communication between devices. It’s a connection oriented protocol. So, before data transmission begins, a connection is established through a three-way handshake, the image below shows it. TCP ensures data integrity by retransmitting lost packets, ordering packets, and confirming successful delivery. Ideal for applications where accuracy and reliability are critical, such as web browsing (HTTP/HTTPS), email (SMTP/IMAP/POP3) and file transfer (FTP/SFTP). ...

January 14, 2025 · 2 min

Git-repair for broken Git Repositories

My Repository Suddenly Broke! Here’s How I Fixed It Yesterday, I was mildly working on one of my GitHub repositories, making solid progress, when disaster struck. Just as I was about to git push my hard-working changes, my repository… broke. Completely. At first, I thought, “Oh no, what did I mess up this time?” Cue the classic facepalm of frustration. After all the crying I turned to AI for a solution. ...

January 6, 2025 · 2 min

Azure FinOps Hub

What is Azure FinOps Hub? The Azure FinOps Hub is a community-driven template designed to consolidate Azure financial management tools as ‘Cost Management + Billing, Azure Advisor, Azure Policy’ etc. into a single interface. Simple as that. (Why is it so hard to find straightforward concepts on internet these days?) Even though the template is community-made, it’s recognized by Microsoft Azure itself, and has a Azure Learn page dedicated for it. Read it here. ...

January 6, 2025 · 1 min

Docker, Linux Server, Shell Scripting.

Diving into DevOps I already have a solid foundation in DevOps tools through my professional experience and studies, I believe there’s always room to deepen my understanding. To strengthen my knowledge further, I decided to revisit the basics and embark on a Starter DevOps course offered by Alura, one of Brazil’s premier tech education platforms. This course spanned 32 hours and was divided into three modules: Linux CLI, Secure Traffic, and Docker. Each module built upon the fundamentals and provided hands-on experience, ensuring a well-rounded grasp of essential DevOps concepts. ...

January 3, 2025 · 4 min

Building this blog with Hugo, Github Actions and a Custom Domain.

This post provides a step-by-step guide on how you can create this blog powered by Hugo, configure Github Actions to publish to Github Pages, and link custom domain to your Github Pages. Set up Hugo Install Hugo and Create a New Site brew install hugo hugo new site theplaybook -f yml Install Hugo with Homebrew Run hugo new site <site_name>. This will create a directory <site_name> containing the hugo templates. Pass in the optional -f yml option to override the default toml files used for configuration. Refer to the hugo doc baseurl: Leave the baseurl in config.yml empty for now Create a new page hugo new docs/test.md Create a new page with hugo new <filename> Open the test.md file and set draft: false; otherwise the page will not render Add random content in the test.md file You can run hugo server to run the application locally on localhost:1313 but it might throw a layout error at the moment without any theme Install theme git init git clone https://github.com/adityatelange/hugo-PaperMod themes/PaperMod --depth=1 git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod Run git init on the root of the project to initialize a Git repository We will install the PaperMod theme. Use the two commands above from the instructions here Or choose a theme from the hugo themes theme: PaperMod Add theme: PaperMod to your config.yml Configure Github Actions to Publish to the Github Pages Create a Git repository and initialize Git echo "# README" >> README.md git add README.md git commit -m "first commit" git branch -M main git remote add origin <path_to_your_git_repo> git push -u origin main Create a repository on Github, create a readme file, add the remote address, and push your first commit Manually Add the gh-pages Branch Manually add the gh-pages branch to the repository; otherwise the github actions will throw an error Allow Read and Write Permissions on the Workflow Allow read and write permissions under Settings > Actions > General > Workflow permissions Add a .github/workflows/deploy.yml file under the project root directory name: Publish to GH Pages on: push: branches: - main pull_request: jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout source uses: actions/checkout@v3 with: submodules: true - name: Checkout destination uses: actions/checkout@v3 if: github.ref == 'refs/heads/main' with: ref: gh-pages path: built-site - name: Setup Hugo run: | curl -L -o /tmp/hugo.tar.gz 'https://github.com/gohugoio/hugo/releases/download/v0.140.2/hugo_extended_0.140.2_linux-amd64.tar.gz' tar -C ${RUNNER_TEMP} -zxvf /tmp/hugo.tar.gz hugo - name: Build run: ${RUNNER_TEMP}/hugo - name: Deploy if: github.ref == 'refs/heads/main' run: | cp -R public/* ${GITHUB_WORKSPACE}/built-site/ cd ${GITHUB_WORKSPACE}/built-site git add . git config user.name '[Your GitHub username]' git config user.email '[Your e-mail]' git commit -m '[Commit message]' git push The first step checks out my repository under $GITHUB_WORKSPACE and submodules:true ensures that our submodule for the theme repository is fetched as well The second step allows us to reference the gh-pages branch via the $GITHUB_WORKSPACE/built-site directory, where our static sites will be stored in (Refer to the Deploy step) The third and fourth steps involve installing hugo and building the static pages in the public directory with the hugo command The last step copies the static sites into ${GITHUB_WORKSPACE}/built-site and pushes the changes to the referenced branch gh-pages, which is a special branch that Github recognizes and uses to publish to your Github Pages site Note: the content will be deployed to https://<username>.github.io/<repository_name>/ by default if not configured otherwise. Update the base_url in config.yml to "https://<username>.github.io/<repository_name>/" ...

January 2, 2025 · 4 min