My Writing

Dive into my musings on life and tech in my latest posts; a blend of introspection and innovation. Keep an eye out for fresh insights and updates!

Introduction to Linux eBook: A Comprehensive Guide for Beginners

Introduction Hello to all passionate learners, tech enthusiasts, and budding system administrators! I'm thrilled to announce the release of my latest eBook: "Introduction to Linux". After mo...

Posted on October 01, 2023

Introduction to Terraform: From Zero to Hero eBook

Introduction Hey folks, I'm super stoked to announce my brand-new eBook: "Introduction to Terraform: From Zero to Hero". This project is something I'm genuinely excited about, born from coun...

Posted on July 24, 2023

How to use DigitalOcean Spaces with Laravel Voyager?

Introduction DigitalOcean Spaces is an object storage service that allows you to store and serve large amounts of data. It is a reliable and flexible solution for developers, especially when integrate...

Posted on May 31, 2023

Difference between scaling horizontally and vertically for databases?

Introduction When your application or website starts to receive more traffic, you'll need to think about how to scale your database to handle the additional load. There are two main ways to scale a da...

Posted on May 14, 2023

How to Create a Sticky NavBar using Tailwind CSS

Introduction When building a modern, responsive website, navigation plays a crucial role in user experience. A sticky or affix navigation bar remains visible at the top of the screen as users scroll, ...

Posted on April 23, 2023

7 Best VS Code Extensions for Python Developers

Introduction Visual Studio Code (VS Code) has become a popular choice for Python developers due to its flexibility, extensibility, and user-friendly interface. One of the key features of VS Code is it...

Posted on April 10, 2023

Introduction to Structs and Implementations in Rust

Introduction Structs in Rust are a way to create custom data types that group together related pieces of data. This tutorial will introduce you to the basics of structs in Rust, including defining, in...

Posted on April 10, 2023

8 Awesome VS Code Extensions for JavaScript Developers

Introduction Visual Studio Code (VS Code) is a popular, lightweight, and powerful source code editor developed by Microsoft. It has extensive support for JavaScript and TypeScript, making it the go-to...

Posted on April 03, 2023

Simulating Streaming Data for Fraud Detection with Datagen CLI

Introduction Building and testing a real-time fraud detection application requires a continuous stream of realistic data. But generating that data can be a challenge. That's why we recently created th...

Posted on April 03, 2023

Reset Local Repository Branch to be Just Like Remote Repository HEAD: A Step-by-Step Guide

Introduction In the world of Git, it's not uncommon for developers to find themselves in a situation where their local repository has diverged from the remote repository. This can happen due to accide...

Posted on March 30, 2023

Introduction to Rust

What is Rust? Rust is a systems programming language. It is designed to be fast, reliable, and maintainable. Rust was started in 2006 by Graydon Hoare at Mozilla Research. It was originally designed t...

Posted on March 24, 2023

How to increase the size of the file upload in Laravel Voyager Media Manager?

Introduction Laravel Voyager is a great open-source admin panel for Laravel. It is also the admin panel currently used in Laravel Wave which is a Laravel SaaS starter kit. In this article, you will le...

Posted on January 05, 2023

How to find a process locking port 3000 on Mac?

Introduction Are you having trouble with a process locking port 3000 (or essentially any other port) on your Mac? Here's how you can find and kill the process! Finding the process To find the process,...

Posted on December 21, 2022

How to setup Laravel Wave on Windows using Laragon?

Introduction Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pat...

Posted on December 10, 2022

How to show all tables in PostgreSQL?

Introduction PostgreSQL is a powerful, open-source database system. It is a relational database management system (RDBMS) based on the SQL language. PostgreSQL is one of the most popular database syst...

Posted on November 07, 2022

How to flatten JSON array in SQL using jsonb_array_elements?

Introduction The jsonb_array_elements function returns a set of rows, one for each element of the input array. The input array can be a top-level array or a nested array. In this tutorial, we will lea...

Posted on October 19, 2022

9 Open Source Projects to Contribute to - Hacktoberfest 2022

Introduction Hacktoberfest is a month-long event where people are awarded for contributing to open source projects 🙌. In order to participate you need to sign up here and then Submit four pull request...

Posted on October 02, 2022

How to find the version of an installed npm package?

Introduction npm is a package manager for Node.js. It is used to install and manage packages for your JavaScript projects. npm is open source and was initially released in 2009. The npm repository is ...

Posted on August 09, 2022

How to pass command line arguments to a Node.js app?

Introduction Similar to a Bash script where you can pass arguments to a script using the $1 syntax, you can also pass arguments to a Node.js app. In this quick tutorial, you will learn how to pass arg...

Posted on July 23, 2022

Quick introduction to WebSockets with Node.js

Introduction WebSockets allow you to send and receive data over a network without having to use a traditional HTTP protocol. Using WebSockets, you can build a real-time application. For example, you c...

Posted on July 23, 2022

Building a live chart with Deno, WebSockets, Chart.js and Materialize

Introduction This is a self-contained example of a real-time chart powered by Deno, Web Sockets, Chart.js, and Materialize. Deno is a simple and secure runtime for JavaScript and TypeScript that uses ...

Posted on June 09, 2022

How to use Materialize with DigitalOcean Serverless Functions

Introduction Materialize is a streaming database for real-time analytics. It was launched in 2019 to address the growing need for the ability to build real-time applications easily and efficiently on ...

Posted on May 27, 2022

Python Script to Copy The Content of a Materialized View to S3

Introduction Materialize is a streaming database for real-time analytics. It was launched in 2019 to address the growing need for the ability to build real-time applications easily and efficiently on ...

Posted on May 27, 2022

Using Deno and Materialize to send notifications in real-time

Introduction This is a self-contained example of a real-time notification app with Deno, Materialize and Discord. Deno is a simple and secure runtime for JavaScript and TypeScript that uses V8. Deno, ...

Posted on May 13, 2022

Scaling Laravel with Serverless Redis

Introduction Laravel is a popular PHP framework for building scalable, high-performance web applications. In this article, we will learn how to use serverless Redis to scale Laravel applications by st...

Posted on May 09, 2022

Using LogicLoop and Materialize with dbt and Redpanda/Kafka

Introduction LogicLoop allows you to write rules in SQL and then run them against your data and trigger different actions based on the results. LogicLoop also allows you to create and share dashboards...

Posted on May 06, 2022

Building an Order Tracking Demo App using AdonisJS Materialize and Redpanda

Introduction This is a self-contained demo using Materialize to process orders and display the delivery status and coordinates in real-time. Prerequisites Before you get started, you need to make sure...

Posted on April 27, 2022

Serverless Node.js URL Shortener App powered by Upstash Kafka and Materialize

This is a simple Node.js URL shortener app that uses Cloudflare Workers. The app is powered by Cloudflare Workers and Upstash Redis for storing data and Kafka for storing the click events along with M...

Posted on April 15, 2022

Using Materialize and Airbyte with MySQL and Redpanda/Kafka

Introduction This is a self-contained demo using Materialize. This demo would show you how to use Materialize with Airbyte to create a live dashboard. For this demo, we are going to monitor the orders...

Posted on April 04, 2022

How to manage your Materialize migrations with Laravel Zero?

Introduction ❗️ This demo includes examples for an unsupported version of Materialize (0.26.x). ❗️ Managing your schema migrations is essential for any application. In this tutorial, we will show yo...

Posted on March 16, 2022

Blue-green deployments with Materialize

Introduction Minimizing downtime during any deployment is a key part of any successful deployment strategy. There are many ways to achieve this, and blue-green deployments are one of them. Using blue-...

Posted on March 09, 2022

How to use 'IF' in 'SELECT' SQL statements?

Introduction In some cases, you might want to choose the output value based on column values directly in your SQL statement. In this article, we will explain how to use the CASE expression in SELECT S...

Posted on March 07, 2022

How to use Laravel WebSockets 🛰

Introduction In this guide, we will walk you through how to use Laravel WebSockets. We will be using the Laravel WebSockets package which is a great replacement for Pusher. The Laravel WebSockets pack...

Posted on March 02, 2022

How to use server-sent events (SSE) with FastAPI?

Introduction Server-sent events (SSE) is a way to send data to the browser without reloading the page. This allows you to use streaming data and build real-time applications that can be used in a vari...

Posted on February 22, 2022

How to use FastAPI with Materialize for real-time data processing

Introduction This is a self-contained demo of FastAPI and Materialize. This demo project contains the following components: FastAPI: A fast, modern, and feature-rich framework for building APIs with...

Posted on February 13, 2022

How to produce records to a topic in Redpanda from a shell script?

Introduction Redpanda is a Kafka-compatible event stream platform written in C++. It comes with a simple command-line interface called rpk that lets you interact with the platform. In this tutorial, w...

Posted on February 09, 2022

What is new in Laravel 9

Introduction Laravel is a PHP framework for web development. It was created by Taylor Otwell and was initially released as an open-source project in June 2011. Since its initial release, Laravel has g...

Posted on February 09, 2022

10 simple tips for optimizing your Laravel application

Introduction Laravel was created by Taylor Otwell and was initially released in June 2011. It is an open-source PHP framework that is used to build web applications. It is without a doubt the most pop...

Posted on February 08, 2022

Decoupled Microservices Architecture with Materialize

Introduction There are several ways to handle data in a microservice architecture, in this article we will cover the approach of having a separate database for each microservice. Prerequisites This ar...

Posted on January 31, 2022

How to connect Laravel to Materialize and build a live dashboard?

Introduction Materialize is a streaming database that takes data coming from different sources like Kafka, PostgreSQL, S3 buckets, and more and allows users to write views that aggregate/materialize t...

Posted on January 17, 2022

How to create a simple event streaming in Laravel?

Introduction Event streams provide you with a way to send events to the client without having to reload the page. This is useful for things like updating the user interface in real-time changes are ma...

Posted on January 14, 2022

Using Materialize and Redpanda to Analyze Raspberry Pi Temperature Data

Introduction This is a self-contained demo using Materialize to process data IoT devices data directly from a PostgreSQL server. The demo builds up on the How to build AdonisJS API to store your Raspb...

Posted on January 11, 2022

How to use dbt with Materialize and Redpanda

Introduction This is a self-contained demo using Materialize. This demo shows you how to use dbt together with Materialize. For this demo, we are going to monitor the reviews left by users on a demo w...

Posted on January 10, 2022

How to build AdonisJS API to store your Raspberry Pi Temperature

Introduction I have a few Raspberry Pi devices at home and I wanted to be able to collect the data from their temperature sensors on a regular interval and store that data in a Postgres database. Late...

Posted on December 18, 2021

How to join MySQL and Postgres in a live materialized view

Introduction This is a self-contained demo using Materialize. This demo would show you how to use Materialize to join MySQL and Postgres in a live materialized view. For this demo, we are going to mon...

Posted on December 07, 2021

What is the difference between DATETIME and TIMESTAMP data type in MySQL?

Introduction If you have ever worked with MySQL and had to create your table structure, you have probably noticed that the DATETIME and TIMESTAMP data types are quite similar at a first glance as they...

Posted on December 04, 2021

Building a real-time web application with Materialize and AdonisJS

Introduction In this tutorial, we are going to build a web application using AdonisJS and integrate it with Materialize to create a real-time dashboard based on streaming data using standard SQL. Mate...

Posted on November 26, 2021

How to Find Duplicate Values in a SQL Table?

Introduction In this quick tutorial, you will learn how to find the duplicate values in a SQL table with a single SQL query. Let's say that we have a table called users with the following data: SELECT...

Posted on November 19, 2021

What is the difference between UNION and UNION ALL in SQL?

Introduction If you've ever used SQL, you probably know that UNIONs can be quite confusing at first. In this quick post we are going to learn what the difference between UNION and UNION ALL is! Differ...

Posted on November 17, 2021

Learn Materialize by running streaming SQL on your nginx logs

Introduction In this tutorial, I will show you how Materialize works by using it to run SQL queries on continuously produced nginx logs. By the end of the tutorial, you will have a better idea of what...

Posted on November 12, 2021

What is the difference between JOIN and INNER JOIN in SQL?

Introduction If you've ever used SQL, you probably know that JOINs can be very confusing. In this quick post we are going to learn what the difference between JOIN and INNER JOIN is! Difference betwee...

Posted on November 11, 2021

How to import an SQL file using the command line in MySQL?

Introduction In some cases if you have a really large .sql file, it is best to import it via the command line. You might need to do this in case that you are using a tool like PHPmyAdmin, which more o...

Posted on November 10, 2021

How to Add a Default Value to an Existing Column in MySQL

Introduction In this quick tutorial, you will learn how to add a default value to an existing column in MySQL. Prerequisites You always need to be careful, when changing the structure of an existing c...

Posted on November 08, 2021

The top 10 Linux Commands that Every Data Engineer Should Know

Introduction No matter if you are a data analyst or a system administrator when working with unstructured files in Linux there are a set of commands that would help you a lot in your daily tasks. In t...

Posted on November 07, 2021

💡 Free Introduction to Docker eBook

💡 Introduction to Docker This is an open-source introduction to Docker guide that will help you learn the basics of Docker and how to start using containers for your SysOps, DevOps, and Dev projects. ...

Posted on October 27, 2021

Automatically display your latest posts on your GitHub Profile README

Introduction By creating a repository with the same name as your GitHub username (eg. bobbyiliev/bobbyiliev) you actually create a special repository. Its README.md will appear on your public profile....

Posted on October 21, 2021

The Data Engineer Roadmap 🗺

Introduction With the ever growing data volumes and demands, the data engineering career has been one of the fastest growing jobs for the past few years. According to the 2021 Stack Overflow survey, d...

Posted on October 19, 2021

The Only Bash Scripting Cheat Sheet That You Will Ever Need

Introduction No matter if you are a DevOps/SysOps engineer, developer, or just a Linux enthusiast, you can use Bash scripts to combine different Linux commands and automate boring and repetitive daily...

Posted on October 19, 2021

How to Connect Metabase to Materialize?

Introduction Materialize is a streaming database for real-time analytics and applications. In this tutorial I will show you how to connect Metabase to your Materialize instance in order to quickly visualize our data.

Posted on October 11, 2021

🚀 The Missing Docker Crash Course for Developers

Introduction to Docker It is more likely than not that Docker and containers are going to be part of your IT career in one way or another. In this blog post series I'll cover the following: What are...

Posted on October 05, 2021

8 Open Source Projects to Contribute to - Hacktoberfest 2021

Introduction Hacktoberfest is a month-long event where people are awarded for contributing to open source projects 🙌. In order to participate you need to sign up here and then Submit four pull request...

Posted on September 30, 2021

🚀 The Missing SQL Basics Crash Course

Introduction No matter if you are a DevOps/SysOps engineer, developer, or just a Linux enthusiast, you will most likely have to use SQL at some point in your career. The guide is suitable for anyone w...

Posted on September 28, 2021

How to Automatically Run Your Laravel PestPHP Tests on Each GitHub Pull Request?

Introduction PestPHP was created by Nuno Maduro who is also one of the Laravel core team members. PestPHP is an open-source PHP Testing framework created with simplicity in mind. PestPHP is being real...

Posted on September 17, 2021

How to optimize MySQL to speed up your Laravel application with Releem?

Introduction Optimizing your MySQL service is a great way to improve your Laravel application's overall performance. Of course, it is important to follow Laravel Eloquent's best performance practices ...

Posted on September 06, 2021

How to keep a process running even after closing SSH connection?

Introduction There are many reasons why you would like to keep a process running even if you close your SSH session. Here are a few examples: Your working day is going to be over soon and you are run...

Posted on September 02, 2021

💡 Free Laravel Tips and Tricks eBook

This is an open-source Laravel Tips and Tricks eBook that is a collection of my own notes that I've put together for myself throughout the years. You would more likely than not need many of those tips...

Posted on July 26, 2021

How to limit the result with Laravel Eloquent?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on June 28, 2021

How to get the current date and time in Laravel?

Introduction Working with date and time could be pretty challenging. Luckily we have the Carbon package that makes this super easy! Carbon is a simple PHP API extension for DateTime. You can find more...

Posted on June 25, 2021

How to Delete All Entries in a Table Using Laravel Eloquent?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on June 24, 2021

How to Get the Base URL in Laravel?

Introduction Hardcoding the domain name in your Blade files or in your controllers is not a good practice. If you ever decided to change your website's domain name, you would have to manually go over ...

Posted on June 23, 2021

How to Order the Results of all() in Laravel Eloquent?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on June 22, 2021

How to Count and Detect Empty Laravel Eloquent Collections?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on June 21, 2021

How to Set a Variable in Laravel Blade Template?

Introduction The Blade templating engine has been a real game-changer for me. Blade makes it working with PHP and HTML a breeze. It allows you to use plain PHP code directly in your template. In most ...

Posted on June 18, 2021

How to Remove a Migration in Laravel?

Introduction Adding columns or tables to your database manually could be an intimidating process and would more often than not lead to database inconsistencies between your different environments. The...

Posted on June 17, 2021

How to fix Laravel Unknown Column 'updated_at'?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on June 16, 2021

How to Select Specific Columns in Laravel Eloquent?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on June 15, 2021

What is a Fork Bomb in Linux and how to stop it?

Introduction A fork bomb (also known as a rabbit virus) is a denial-of-service attack that consists of a process that constantly replicates itself to exhaust all available system resources, slowing do...

Posted on June 09, 2021

Work with me - a 25 Minutes Pomodoro Video Session

Need to get some work done? Let's be productive together! You can use this video as a timer for your Pomodoro sessions. The idea behind the Pomodoro sessions is to separate your tasks into small 25 m...

Posted on June 09, 2021

17 Special Characters in the Shell That You Should Know

Introduction In Unix systems, the shell is a command-line interpreter. It provides a command-line user interface (CLI). The shell is a scripting language that you could use to write scripts like any o...

Posted on May 26, 2021

Opensource Introduction to SQL eBook 💡

This is an open-source introduction to SQL guide that will help you learn the basics of SQL and start using relational databases for your SysOps, DevOps, and Dev projects. No matter if you are a DevOp...

Posted on May 18, 2021

Introduction to Git and GitHub Crash Course + Giveaway ⭐

Introduction Hello everybody! Welcome to this Introduction to Git and GitHub video series, where you will learn the basics of Git and start using it for your day-to-day tasks. My name is Bobby and I'v...

Posted on May 14, 2021

How to fix 'Please provide a valid cache path' error in Laravel?

Introduction The other day, I was setting up a local development environment for an existing project when I encountered the 'Please provide a valid cache path' error. As the error itself is not very d...

Posted on May 05, 2021

How to Define Custom ENV Variables in Laravel?

Introduction If you have some experience with Linux, you are probably quite familiar with environment variables. In Linux, you could check the available environment variables with the printenv command...

Posted on April 29, 2021

Use Composer like a Pro - the Dependency Manager for PHP

Introduction Composer is without the go to dependency manager for PHP. Composer is a command line tool that you can use to install packages to your projects and also update and manage existing package...

Posted on April 21, 2021

10 SaaS Startups Ideas to Build in 2021

Introduction Software-as-a-Service, or SaaS for short, in most cases, is a platform that provides a specific service on a monthly or yearly subscription plan. Popular SaaS products are Netflix, Spotif...

Posted on April 13, 2021

What are signed routes in Laravel and how to use them?

Introduction Signed routes allow you to create routes accessible only when a signature is passed as a GET parameter. This could be used for sharing a preview of a draft article or any other route that...

Posted on April 05, 2021

How to Create Response Macros in Laravel?

Introduction Response macros allow you to create a custom response which you could later on re-use in different routes and controllers. This is quite beneficial in order to reduce code duplication. Yo...

Posted on March 28, 2021

Custom Namespaces to Organize Your Controllers

Introduction In some cases, when you have too many Controllers in your Laravel project, your app/Http/Controllers directory might get cluttered with too many Controllers. To keep things more organized...

Posted on March 25, 2021

Open-source Introduction to Git and GitHub eBook 💡

💡 Introduction to Git and GitHub This is an open-source introduction to Git and GitHub guide that will help you learn the basics of version control and start using Git for your SysOps, DevOps, and Dev...

Posted on March 22, 2021

The 10 Most Popular PHP Frameworks and Their Creators

Introduction It would be really intimidating if you had to start from scratch and reinvent the wheel every time you were to start a new project. Luckily in 2021 there is a vast number of brilliant PHP...

Posted on March 14, 2021

How to Rollback Database Migrations in Laravel?

Introduction Laravel comes with many convenient tools out of the box, which makes your life as a developer much more enjoyable. One of the best Laravel features is the database migrations which essent...

Posted on March 12, 2021

9 Basic Docker Commands with Examples

I would be running the commands on a Digital Ocean droplet running Ubuntu 18.04. Prerequisites If you don't have a DigitalOcean account yet, you can sign up for DigitalOcean and get $100 free credit v...

Posted on March 09, 2021

5 Project Ideas for Junior Linux System Administrators

Introduction If you are getting started with programming, there are countless articles with ideas for projects that you could build, but not that many project ideas for purely Ops-related roles. For a...

Posted on March 01, 2021

How to get the Laravel Query Builder to Output the Raw SQL Query?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on February 26, 2021

How to Quickly Change the Password for a User in Laravel?

Introduction In some cases, you might want to reset the password for your Laravel user quickly. Another reason might be that you could be having problems with your emails, and the reset password email...

Posted on February 23, 2021

Top 18 Git commands that you should know

Introduction Git is without a doubt the most popular version control system for tracking changes in source code out there. The original author of git is Linus Torvalds who is also the creator of Linux...

Posted on February 13, 2021

How to build a blog with Laravel and Wink?

Introduction In 2021 with great blogging platforms like the Developer Blog, you can save yourself the hassle of building your own blog from scratch. However, if you are planning to build a Laravel blo...

Posted on February 11, 2021

[Video] Bash Scripting Crash Course + Giveaway ⭐

Introduction Hello everybody! Welcome to this Introduction to bash scripting video series, where you will learn the basics of bash scripting and start creating some awesome scripts! My name is Bobby a...

Posted on February 09, 2021

How to create an eBook from Markdown using Ibis?

Introduction A few months ago I wrote an open-source eBook on how to get started with Bash Scripting. This is when I came across a tool called Ibis created by Mohamed Said who is a Developer at Larave...

Posted on February 04, 2021

How to squash multiple commits into one with Git?

Introduction Git is a huge reason why the web dev community is so awesome. You can join an open-source project and add some amazing stuff to it. By committing your code and pushing it, you can share y...

Posted on January 29, 2021

Here is why you should not be too quick at judging people by their GitHub activity stats

Introduction I am a supporter of the opensource movement and I truly admire people like Eddie Jaoude, Matt Cowley and all other open-source maintainers who work hard every day so that we could have aw...

Posted on January 25, 2021

The best way of Recording and Sharing your Terminal with Asciinema

Introduction Many times, I've been in a situation where I want to share a recording of my screen with a colleague. Still, then the video size would be too large to share over email, or if you send it ...

Posted on January 22, 2021

How to Build a Simple Reviews and Rating System with Livewire and Jetstream?

Introduction Laravel Livewire, created by Caleb Porzio, is a full-stack framework that allows you to add reactivity to your Laravel applications. If you are just getting started with Laravel Livewire,...

Posted on January 18, 2021

Quick Introduction to PHP OOP Basics Crash Course

Introduction OOP stands for Object-Oriented Programming and it is used by almost all of the major programming languages. For example, PHP, Phyton, Java, C#, and many more. If you don't know what OOP i...

Posted on January 15, 2021

What is Laravel Enlightn and how to use it?

Introduction The Laravel Enlightn was developed by Miguel Piedrafita and Paras Malhotra . It is an artisan command-line tool that checks your code and provides you with actionable recommendations on i...

Posted on January 14, 2021

How to automatically publish your DevDojo posts to DEV.to?

Introduction In case that you are posting content on DevDojo or if you are using the DevBlog feature on the DevDojo site, you might want to cross-post your content on other platforms like DEV.to. Havi...

Posted on January 13, 2021

11 Nano shortcuts that you should know

Introduction Probably everyone that uses a Linux OS is familiar with what nano is. But if you aren't aware, don't worry. Nano is a Unix and Linux operating system command line text editor. What this m...

Posted on January 12, 2021

What is the $this keyword and how to use it in PHP

Introduction The $this keyword is one of the most important and helpful things in PHP OOP(Object Oriented Programming). And unfortunately, it's one of those things that get overlooked. Many people may...

Posted on January 10, 2021

How to consume an external API with Laravel and Guzzle

Introduction Laravel provides a wrapper for the Guzzle HTTP client. It allows you to quickly make HTTP requests to communicate with external APIs. In this tutorial, you will learn how to use the Larav...

Posted on January 09, 2021

What I learned during 2020

Introduction 2020 was an extraordinary year. For some, it was a terrible year, for others, it was a fantastic year. Personally, for me, it was a bit of both. The stuff I learned this year about myself...

Posted on December 24, 2020

How to Add a New Column to an Existing Table in a Laravel Migration?

Introduction The Laravel Migrations allow you to manage your database structure by creating new tables and columns. The Laravel migrations are like version control for your database. In this tutorial,...

Posted on December 23, 2020

12 Must Have Browser Extensions for Developers

Introduction One of the cool things about using Chrome as your default browser is all the extensions you can use. Google Chrome extensions are programs created by different developers that change your...

Posted on December 19, 2020

How to Get the Last Inserted Id Using Laravel Eloquent?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on December 17, 2020

How to Add Multiple Where Clauses Using Laravel Eloquent?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on December 13, 2020

What is Laravel Sail and how to get started?

Introduction Laravel is a fantastic open-source PHP framework that is designed to develop web applications following the model-view-controller scheme. And now here comes Laravel Sail. Laravel Sail was...

Posted on December 09, 2020

Why you should become a web developer

Introduction These days there are so many career choices to take in the programmer world. But one of the most successful and important ones is Web Development. There are so many companies out there th...

Posted on December 08, 2020

How to check “if not null” with Laravel Eloquent?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on December 05, 2020

Getting started with Git

Introduction Whether you are a newcomer to programming, or an experienced one, you have to know how to use Git. Most of the projects that a small or big group of developers work on are done through Gi...

Posted on December 04, 2020

How to check if a record exists with Laravel Eloquent?

Introduction The Eloquent ORM included with Laravel provides you with an easy way of interacting with your database. This simplifies all CRUD (Create, read, update, and delete) operations and any othe...

Posted on November 30, 2020

Open-Source Introduction to Bash Scripting Ebook/Guide

💡 Introduction to Bash Scripting Ebook/Guide I have just released an open-source introduction to Bash scripting ebook/guide that will help you learn the basics of Bash scripting and start writing awes...

Posted on November 23, 2020

7 Tips on How to Manage Stress as a Developer

Introduction Stress is a natural reaction of our body when we face situations we can't cope with (for example, that one piece of code you can't figure out). Unfortunately, it can be a little overwhelm...

Posted on November 19, 2020

How To Display HTML Tags In Blade With Laravel 8

Introduction Laravel is a great PHP framework that allows you to use Blade Templates for your frontend. Blade is a very powerful templating engine provided with Laravel that does not restrict users fr...

Posted on November 19, 2020

How to remove a package from Laravel using composer?

Introduction Every PHP developer should be familiar with how to use frameworks. Frameworks help make the process of development easier by simplifying common practices used in developing major web proj...

Posted on November 14, 2020

What is Laravel Breeze and how to get started?

Introduction Laravel 8 was released on September 8th along with Laravel Jetstream. If you are not familiar with Jetstream, you should check out this introduction tutorial here: What is Laravel Jetstre...

Posted on November 13, 2020

Popular Non-technical Interview Questions For Developers

INTRODUCTION No matter how old you are and what job experience you have, job interviews are always stressful. If you are looking for your dream job during COVID-19, you may find this article useful. I...

Posted on November 10, 2020

How to Get Current Route Name in Laravel?

Introduction Laravel routes allow you to map your URLs to specific functionality, for example, a method in a controller or directly to a specific Blade view. For example, if you visit yourdomain.com/c...

Posted on November 08, 2020

How to encrypt and decrypt a string in Laravel?

Introduction Encryption is the process of encoding information so that it can not be understood or intercepted. Encryption has been used long ago before computers were invented; actually, the first kn...

Posted on November 06, 2020

How to send Discord notifications with Laravel?

Introduction Discord is a messaging platform, and its popularity has been growing exponentially! It is a great alternative to Slack. Webhooks is one of the awesome features of Discord that allows you ...

Posted on November 04, 2020

How To Stop Procrastination As A Developer

Introduction Have you ever procrastinated? If you say "No", you are totally a liar! But most important, do you know what procrastination is? This is a (un)aware process of postponing somethi...

Posted on October 28, 2020

Top 10 VScode Shortcuts For Mac and Windows to Help You be More Productive

Introduction I have been using VScode for a while now, and I can say that it is my favorite IDE so far! In this post, I will show you my top 10 VSCode shortcuts, which could help you be more productiv...

Posted on October 28, 2020

8 Awesome VS Code Extensions for Laravel Developers

Introduction While I'm still a sublime fan for quite some time, I've been mainly using VS Code. For anyone who is just getting started with Laravel, I would recommend going through this Laravel basics...

Posted on October 24, 2020

10 Tips for Being an Awesome Developer

Introduction It is no secret that it is about constancy and devotion! Find your niche and don't stop DEVeloping yourself! If you would like to continue growing as a developer, here are some tips for b...

Posted on October 22, 2020

How to generate title slugs in Laravel?

Introduction If you are not sure what a slug exactly is, you should go through this post here first: https://devdojo.com/devdojo/what-is-a-slug There are many reasons why you would want to have a nice...

Posted on October 15, 2020

How to add a simple RSS feed to Laravel without using a package?

Introduction RSS stands for Really Simple Syndication and is a feed that returns information in XML format. Having an RSS feed would allow your users to track the latest posts on your website easily....

Posted on October 11, 2020

What is Laravel Zero and how to get started?

Introduction Laravel Zero is an open-source PHP framework that can be used for creating console applications. Laravel Zero is not an official Laravel package but was created by Nuno Maduro, who is als...

Posted on October 05, 2020

How to create a contact form with Laravel Livewire?

Introduction Laravel Livewire was created by Caleb Porzio that allows you to add reactivity to your Laravel applications. If you are not familiar with Laravel Livewire, I would recommend reading this ...

Posted on September 27, 2020

How to Add a Simple Infinite Scroll Pagination to Laravel?

Introduction In order to optimize your website load time, you should not load too many resources on one page as it could result in longer page load times. That is why it is good to use pagination to l...

Posted on September 25, 2020

What is GitHub CLI and how to get started?

Introduction The GitHub CLI or gh is basically GitHub on command-line. You can interact with your GitHub account directly through your command line and manage things like pull requests, issues, and ot...

Posted on September 18, 2020

What is Laravel Blade UI Kit and how to get started?

Introduction The Blade UI Kit is a collection of components that you could use in your Laravel Blade. The package was created by Dries Vints who is also a developer at Laravel. If you are not familiar...

Posted on September 17, 2020

How to speed up your Laravel application with PHP OPcache?

Introduction Using PHP OPcache is a great way to improve your overall performance. OPcache stores pre-compiled script bytecode in memory, which eliminates the need for PHP to load and parse scripts on...

Posted on September 12, 2020

What is Laravel Jetstream and how to get started?

Introduction Laravel 8 was released on September 8th along with Laravel Jetstream. Laravel Jetstream is a new application scaffolding for Laravel. Laravel Jetstream replaces the legacy Laravel authent...

Posted on September 11, 2020

What is new in Laravel 8?

Introduction As of writing this post, Laravel 8 is still not officially out, but it was just announced at Laracon Online. Here is a list with some of the new excellent features that you will get with ...

Posted on September 04, 2020

The Top 5 Apps I Use Every Day

Introduction There is a huge number of useful apps you can download. They could make your day more organized, better planed, less stressful. Besides, they would save you time. Here are my TOP 5 appli...

Posted on August 27, 2020

How to check Laravel Blade View Syntax using artisan?

Introduction The Laravel community has been growing exponentially, and there are a lot of fantastic packages out there. I recently came across a Laravel package that provides an artisan command to che...

Posted on August 26, 2020

How to exclude files from your Git project using .gitignore?

Introduction If you are using git along with Github, Gitlab for example, you need to make sure that you do not include any sensitive information to your repositories like passwords or secrets. To do t...

Posted on August 22, 2020

5 Morning Habits That Will Help You Be More Productive

Introduction Have you ever had that kind of a day in which you have no desire for doing anything productive even though you have a lot of work and various tasks for the day but the only thing you do i...

Posted on August 14, 2020

How to create an interactive menu in Bash?

Introduction No matter if you are a DevOps/SysOps engineer, developer, or just a Linux enthusiast, you can use Bash scripts to combine different Linux commands and automate boring and repetitive daily...

Posted on August 14, 2020

How to get a free domain name for your Laravel project?

Introduction There could be various reasons why you would need a free domain for your project. For example, having multiple side projects could be quite costly in case that your projects are not gener...

Posted on August 14, 2020

3 Useful Hacks for Working from Home

Introduction Many people have been working from home for the last few months. The world lockdown had inflicted different changes in the daily life of everyone. In order to work effectively, you will n...

Posted on August 07, 2020

How to Install Laravel on DigitalOcean with 1-Click?

Introduction Laravel is an amazing PHP framework that makes working with PHP great. As of the time of writing this tutorial, Laravel has more than 105 million installs according to Packagis, so as you...

Posted on August 06, 2020

How to use Forelse loop in Laravel Blade?

Introduction If you have ever done any coding you are most likely well familiar with the foreach loops. Without any doubt, a foreach loop is one of the best ways to iterate over the elements of the co...

Posted on August 05, 2020

How to add simple search to your Laravel blog/website?

Introduction There are many ways of adding search functionality to your Laravel website. For example, you could use Laravel Scout which is an official Laravel package, you can take a look at this tuto...

Posted on August 04, 2020

How to copy or move records from one table to another in Laravel?

Introduction In some cases when a particular table grows too much it might slow down your Laravel website. You might want to clear old records or archive them to another table so that you could keep y...

Posted on August 04, 2020

How to limit the length of a string in Laravel?

Introduction There are many different ways to limit the length of a string. For example, you could use CSS, JavaScript, or do it through PHP. Laravel also provides a nice helper to make this easy! We...

Posted on July 30, 2020

How to Transfer Files from One Linux Server to Another Using rsync?

Introduction The rsync command is probably one of the most used commands out there. It is used to securely copy files from one server to another over SSH. Compared to the scp command, which does a sim...

Posted on July 15, 2020

How to convert markdown to HTML in Laravel and Voyager?

Introduction Markdown was created by John Gruber and Aaron Swartz who contributed on the syntax. Nowadays Markdown is everywhere, from readme files and writing messages in online discussion forums. I'...

Posted on July 10, 2020

How to Create Custom Laravel Maintenance Page?

Introduction More often than not you would need to perform some maintenance for your Laravel website. Luckily Laravel makes it super easy to put your application in maintenance mode! In this tutorial,...

Posted on July 09, 2020

Cool way of sharing your Linux terminal session with named pipe/FIFO

Introduction In Linux and other Unix systems, a pipe is a way of redirecting the output of one command or a process to another. This is also known as an unnamed pipe. For example, you could combine th...

Posted on July 05, 2020

How to change the Docker ps output format?

Introduction Docker is an open platform for developing, shipping, and running applications. If you are new to Docker I would recommend going through this Introduction to Docker tutorial! In this tutor...

Posted on July 03, 2020

How to check your exact Laravel version?

Introduction Laravel is an open-source PHP framework. It was created by Taylor Otwell and it is based on Symfony. As of Laravel 6.x, it now follows Semantic Versioning, which essentially means that th...

Posted on June 30, 2020

How to securely login to MySQL without providing password each time?

Introduction Using a long and secure MySQL password is necessary, however having to type that long password every time you run mysql -u root -p could be a bit frustrating especially if you want to run...

Posted on June 30, 2020

List of Useful Exim Commands

Introduction Exim is one of the most popular message transfer agent (MTA). It is widely used on different systems and is the goto message transfer agent for most cPanel servers. Exim was developed at ...

Posted on June 29, 2020

How to write your first Bash script?

Introduction Bash scripting lets you automate a lot of your tasks on Linux and UNIX systems. Bash combines the power of the Linux commands and tools with a powerful and robust scripting language. Bash...

Posted on June 23, 2020

Bash Script to Automatically Enable Cloudflare DDoS Protection

Introduction I host all of my websites on DigitalOcean Droplets and I also use Cloudflare as my CDN provider. One of the benefits of using Cloudflare is that it reduces the overall traffic to your use...

Posted on June 19, 2020

How to create custom bash commands?

Introduction As a developer or system administrator, you might have to spend a lot of time in your terminal. I always try to look for ways to optimize any repetitive tasks. One way to do that is to ei...

Posted on June 11, 2020

Fun tech quiz questions directly in your terminal

Introduction Quizzes are a great way to test your knowledge on a specific topic. So I decided to create a tool called the Quiz API! Quiz API is a simple HTTP REST API for technical quizzes including ...

Posted on June 08, 2020

BASH Script to Summarize Your NGINX and Apache Access Logs

IntroductionOne of the first things that I would usually do in case I notice a high CPU usage on some of my Linux servers would be to check the process list with either top or htop and in case that I ...

Posted on June 04, 2020

SSL Checker Linux Command Line Tool

IntroductionThe SSL Checker tool allows you to quickly diagnose problems with your SSL certificate installation and also gives you some useful information like when your SSL certificate woul...

Posted on June 04, 2020

How to work with JSON in BASH using jq?

IntroductionThe jq command-line tool is is a lightweight and flexible command-line JSON processor. It is great for parsing JSON output in BASH.One of the great things about jq is that it is writt...

Posted on April 25, 2020

How to install Docker and Docker Compose on Raspberry Pi

IntroductionDocker is the de facto standard to build and share containerized apps - from desktop to the cloud. You can basically run Docker virtually anywhere from your DigitalOcean Droplet or your La...

Posted on April 06, 2020

How to export/backup a MySQL/MariaDB database with mysqldump

IntroductionThere are many ways and tools on how to export or backup your MySQL databases. In my opinion, mysqldump is a great tool to accomplish this task.The mysqldump tool can be used to dump ...

Posted on March 29, 2020

The good and the bad of using Vapor

Last year Tylor Otwell, the creator of the Laravel PHP framework, made an announcement about the new deployment platform named Laravel Vapor. It was a huge game-changer for the whole PH...

Posted on March 18, 2020

How to install Docker Web UI on Ubuntu 18.04

IntroductionRecently I had to setup a Docker Web Interface for one of my Docker hosts so that it could be easier for the rest of my team to check the status of our Docker Containers, restart them in c...

Posted on March 13, 2020

Scaling Laravel App with Multiple Databases

In this tutorial I'll show you how you could horizontally scale up your Laravel application by adding multiple database instances.In case you are not familiar with the term 'horizontal scaling', it si...

Posted on June 30, 2019

Executing BASH script on Multiple Remote Servers

Bash is a Unix shell, which is a command line interface (CLI) for interacting with an operating system. Any command that you can run from the command line can be used in a bash script. Scripts are use...

Posted on June 21, 2019

NOIA Network - Programmable Internet

NOIA is a great project that I've been following up on for the past one year. NOIA is the future of internet.NOIA Network utilizes Segment Routing, IPv6 and Distributed Ledger technologies to cre...

Posted on June 15, 2019

Contact Form with Voyager and Laravel

This is an easy step by step guide on how to add a contact from to your Voyager application.PrerequisitesBefore you begin you need to make sure that you have Laravel and Voyager up and running and tha...

Posted on June 14, 2019

Introduction to Load Balancing with HAProxy

HAProxy is great solution for load balancing as it does not require lots of resources, it is scalable, easy to setup and fairly simple to manage. In this guide I'll show you how to install and configu...

Posted on June 12, 2019

Laravel App on Digital Ocean Ubuntu 19.04 droplet (Step by Step Guide)

This is a step by step guide on how to create a new droplet via your Digital Ocean control panel, manually install and configure your LAMP stack, deploy Laravel and then install Voyager.We will go tho...

Posted on June 12, 2019
Bobby

© 2023 Bobby Iliev - Personal Blog

Facebook 𝕏 GitHub YouTube Instagram