programming

Golang Tutorial for Beginners (Hands-On)

Free Golang tutorial for beginners: 200+ runnable lessons on modules, structs, errors, goroutines, HTTP and gRPC APIs, databases, testing, and Docker.

Deepak Prasad1 min read
programming

Java Tutorial for Beginners (with examples)

Free Java tutorial for beginners: 100+ lessons on OOP, collections, lambdas, file I/O, exceptions, and multithreading, with examples run on OpenJDK 17.

Deepak Prasad1 min read
programming

Modern JavaScript Tutorial (ES6+ Hands-On)

Free JavaScript tutorial for beginners: 120+ runnable lessons on ES6+ syntax, arrays, objects, classes, async/await, the DOM, and common error fixes.

Deepak Prasad1 min read
programming

Node.js Tutorial for Beginners (Hands-On)

Free Node.js tutorial for beginners: 60 hands-on lessons on files, async code, HTTPS servers, Express, MongoDB, MySQL, Passport login, and deployment.

Deepak Prasad1 min read
programming

Python Tutorial for Beginners (Hands-On)

Free Python tutorial for beginners: 160+ hands-on lessons on data types, loops, OOP, file I/O, regex, concurrency, and Flask, tested on Python 3.13.

Deepak Prasad1 min read
programming

Bash Shell Scripting Tutorial (Free Course)

Free Bash shell scripting course: quoting, loops, arrays, pipelines, strict mode, traps, and real admin scripts, each lesson tested on Bash 5.2 on RHEL 10.

Deepak Prasad1 min read
programming

Laravel Tutorial for Beginners (Step by Step)

Free Laravel tutorial with 60+ hands-on lessons: install, routing, Blade, Eloquent, auth with Sanctum and Passport, REST APIs, queues, and Docker deploys.

Deepak Prasad1 min read
programming

Pandas Tutorial for Data Analysis (with examples)

Free pandas tutorial for Python data analysis: read CSV files, select, clean, merge, group, pivot, and plot DataFrames with runnable examples you can copy.

Deepak Prasad1 min read
programming

SQL Tutorial for Beginners (Hands-On with Real Examples)

Free SQL tutorial with 80+ lessons on SELECT, JOINs, GROUP BY, window functions, CTEs, and transactions, with examples for MySQL, PostgreSQL, SQL Server.

Deepak Prasad1 min read
programming

Build a Bash CLI with Arguments, Validation, Tests and CI

Build a Bash command-line tool with short and long options, argument validation and predictable exit codes, then test it with Bats and automate checks in CI.

Deepak Prasad16 min read
programming

Create Linux Users from a File with Bash

Build a safe Bash bulk user creation script that reads colon-delimited records, validates usernames shells and groups, skips existing accounts, supports dry-run, and creates locked or one-time-password users without …

Deepak Prasad17 min read
programming

Bash Log Analyzer Script

Build a Bash log analyzer for Nginx Combined Log Format with one gawk pass, top IP and path reports, top user agents, 4xx and 5xx sections, byte totals, CSV export, malformed-line handling, and a sample log you can diff …

Deepak Prasad21 min read
programming

Bash Backup Script with rsync: Incremental Backups, Logging and Cron

Create an automated Bash backup script with rsync incremental snapshots, logging, retention and cron scheduling, then test that your files can be restored.

Deepak Prasad13 min read
programming

Linux System Health Check Script in Bash

Build a Bash system health check script that scores host-level CPU utilization, load averages, available memory, swap, disk space, inodes, and failed systemd units against thresholds, returns a clear exit code, and …

Deepak Prasad23 min read
programming

Bash Disk Usage Alert Script

Build a Bash disk usage alert script with df -P parsing, warning and critical thresholds, logging, state-file deduplication, recovery notifications, email and webhook hooks, synthetic fixture tests, flock overlap …

Deepak Prasad21 min read
programming

Run SSH Commands on Multiple Servers with Bash

Run SSH commands on multiple Linux servers from a Bash hosts-file loop with BatchMode, ConnectTimeout, ssh -n, exit codes, bounded parallelism, and bash -s for local scripts.

Deepak Prasad17 min read
programming

Bash as a Docker Entrypoint: PID 1, Signals and exec

Write a Bash Docker entrypoint with exec form ENTRYPOINT, exec "$@" for PID 1 handoff, test SIGTERM with podman stop, compare shell vs exec form, and know when --init or a minimal wrapper beats a Bash supervisor.

Deepak Prasad11 min read
programming

Call REST APIs from Bash with curl and jq

Call REST APIs from Bash with curl and jq: GET/POST/PUT/PATCH/DELETE, -sS and --fail-with-body, timeouts and retries, Bearer and API-key auth, safe query encoding, jq JSON bodies, pagination, and separating curl …

Deepak Prasad17 min read
programming

Parse JSON in Bash with jq

Parse JSON in Bash with jq: read scalars with -r, walk nested keys, filter arrays with select, pass shell values via --arg, build request bodies with jq -n, loop records with jq -c, and handle missing keys, null, and …

Deepak Prasad13 min read
programming

Linux Text Processing with grep, sed and awk

Learn Linux text processing with grep, sed, and awk on one access log: filter lines, transform text, read fields, then use cut, sort, and uniq as supporting pipeline tools in Bash pipelines.

Deepak Prasad17 min read
programming

Schedule Bash Scripts with Cron and systemd Timers

Schedule Bash scripts with user cron and systemd timers: common crontab schedules, scheduler-ready scripts, PATH and WorkingDirectory, logs, flock overlap locks, and debugging when a script works manually but fails under …

Deepak Prasad15 min read
programming

How to Measure Bash Script Execution Time

Check Bash script execution time with time ./script.sh, SECONDS, EPOCHREALTIME, and date +%s; compare Bash time vs GNU /usr/bin/time; save timing output to a file; briefly cap runtime with timeout.

Deepak Prasad9 min read
programming

Run Multiple Bash Commands in Parallel and Capture Exit Codes

Run multiple Bash commands in parallel with ampersand and wait, capture each exit code, cap concurrency with wait -n and wait -n -p worker pools, and compare xargs -P and GNU Parallel for larger batches.

Deepak Prasad13 min read
programming

Prevent a Bash Script from Running Twice with flock

Prevent a Bash script from running twice with flock: wrapper and in-script file-descriptor locks, -n and -w, conflict exit codes, cron wrappers, NFS caveats, and when PID files still help.

Deepak Prasad14 min read
programming

Run Bash Commands in Background: &, $! and wait

Learn Bash background execution with ampersand, capture child PIDs with dollar-exclamation, wait for one or many children, use wait -n and wait -p for racing tasks, handle stdin and exit codes, and clean up children on …

Deepak Prasad13 min read
programming

How to Test Bash Scripts with Bats (Bash Unit Testing)

Learn how to unit test Bash scripts with Bats: run, exit status, separate stderr, setup and teardown, fixtures, bats-assert, parallel jobs, debugging flags, and CI JUnit reports using one check-config CLI.

Deepak Prasad12 min read
programming

Bash Best Practices for Production Scripts

Production Bash best practices as a decision checklist: when to use Bash, quoting, arrays, strict mode caveats, traps, mktemp, idempotency, secrets, locks, timeouts, ShellCheck, and when to move to another language.

Deepak Prasad15 min read
programming

Lint and Format Bash with ShellCheck and shfmt

Learn how to lint Bash scripts with ShellCheck, format them with shfmt, configure project rules, fix common warnings, and enforce both tools in CI.

Deepak Prasad11 min read
programming

Debug Bash Scripts with bash -x, PS4 and LINENO

Learn how to debug Bash scripts with bash -x, set -x, bash -n, PS4 line numbers, ShellCheck, and BASH_XTRACEFD, with practical examples and trace output.

Deepak Prasad10 min read
programming

Bash trap: Signals, EXIT and Cleanup

Learn Bash trap for EXIT cleanup, SIGINT and SIGTERM handling, reading exit status in EXIT traps, ERR traps with set -E, signal forwarding to children, and what signals cannot be caught.

Deepak Prasad15 min read