Blog

Latest Articles

Browse the latest tutorials, guides, and practical examples across Linux, DevOps, security, databases, and programming on GoLinuxCloud.

Explore the latest tutorials and guides across Linux, DevOps, programming, and more.

You can also browse content by category below:

  • Linux: Commands, administration, troubleshooting, and system operations
  • DevOps: CI/CD, Kubernetes, containers, and automation
  • Cloud: AWS, Azure, OpenStack, and hybrid cloud administration
  • Programming: Coding tutorials, scripting, and development concepts
  • Security: Ethical hacking, system security, and best practices
  • Databases: MySQL, MariaDB, PostgreSQL, and database management
  • Networking: Network setup, troubleshooting, and protocols
  • Storage: Disk management, file systems, and storage solutions
  • Tools: Useful tools and utilities for productivity

2342 articles

Blog illustration with latest articles, tutorials, guides, and how-to content across Linux and DevOps topics
programming

Convert an array to a string in JavaScript (join, toString, JSON)

Convert array to string in JavaScript with join, toString, String(), toLocaleString, JSON.stringify, reduce, or loops—with example output and common pitfalls (objects, BigInt, null/undefined).

Olorunfemi Akinlua4 min read
programming

Cannot set headers after they are sent to the client (Express & Node.js)

Fix Error [ERR_HTTP_HEADERS_SENT] and cannot set headers after they are sent in Express/Node: double res.send, async races, middleware next(), error handlers, and res.headersSent—with tested client and log lines.

Steve Alila8 min read
programming

JavaScript appendChild() — add and move DOM nodes

Use Node.appendChild in JavaScript to add or move elements. Includes append vs appendChild, DocumentFragment batching, insertBefore, cloneNode, and jsdom-tested console output.

Olorunfemi Akinlua4 min read
programming

Convert SRT subtitles to plain text in JavaScript with regex

Convert srt to text or srt to txt in JavaScript: regex to remove index and timestamp lines, line-skip variant, block split for multi-line cues, Node readFileSync/writeFileSync with utf8—no npm install fs. Includes …

Olorunfemi Akinlua4 min read
programming

JavaScript date formatting with Intl.DateTimeFormat

Format dates in JavaScript with Intl.DateTimeFormat: locales, dateStyle and timeStyle, time zones, formatRange, formatToParts, and common TypeErrors. Includes tested sample output from Node.js (V8).

Olorunfemi Akinlua6 min read
programming

Parse a string to a boolean in JavaScript

Coerce strings with Boolean() and !!, or parse canonical values like 'true'/'false'. Learn the difference and avoid common mistakes.

Olorunfemi Akinlua2 min read
programming

Calling vs invoking functions in JavaScript: what actually happens to this

Call vs invoke and invoke vs call in JavaScript: both usually mean run a function. Clarify this binding, method calls vs free calls, Function.prototype.call naming, and library methods named invoke—with example console …

Olorunfemi Akinlua3 min read
programming

Detect ad blockers in JavaScript: bait DOM, heuristics, and what not to break

How to detect adblock in JavaScript: bait DOM patterns, getComputedStyle and offsetWidth checks, BlockAdBlock (blockadblock js) global guard, common API mistakes, limitations and false positives—with example branch logic …

Olorunfemi Akinlua5 min read
programming

Clear timeouts in JavaScript: clearTimeout and patterns that scale

Use clearTimeout (cleartimeout in search terms) to cancel one or many setTimeout timers. JavaScript has no built-in clear-all—track handles in a Set or array, including in Node.js. Includes Node-tested console output, …

Olorunfemi Akinlua5 min read
programming

Check if a key exists in a JavaScript object: 7 reliable patterns

Check if key exists in object JavaScript: Object.hasOwn, in, hasOwnProperty, Object.keys, getOwnPropertyNames, symbols, Reflect.ownKeys—with example console output and own vs inherited rules.

Deepak Prasad7 min read
programming

Check if an array is empty in JavaScript

Check if array is empty in JavaScript with length, Array.isArray, optional chaining, and loop patterns—plus pitfalls (array-like objects, sparse arrays). Includes Node-tested console output.

Steve Alila4 min read
programming

Golang goroutines: go routine examples, the go keyword, and waiting for work

Golang goroutine and golang goroutines: goroutine in golang with the go keyword, go goroutines and go routine spelling, minimal goroutine example, waiting with channels or sync.WaitGroup, and links to threads vs …

Antony Shikubu4 min read
programming

Go json.Unmarshal: Structs, Maps, Slices, null, RawMessage, and Errors

Deep guide to json.Unmarshal in Go: []byte and pointer rules, structs with tags, maps and float64 numbers, slices, nested JSON, any decoding, null, json.RawMessage, unknown fields vs Decoder.DisallowUnknownFields, …

Tuan Nguyen13 min read
devops

Kubernetes Operator Tutorial - Build Production-Ready Operators

Free Kubernetes Operator course with hands-on lessons from core concepts through production Go, Helm, and hybrid operators—plus observability, security, CI/CD, and OLM packaging. Built on controller-runtime, Kubebuilder, …

Deepak Prasad1 min read
devops

Unit Testing Operator Reconcile Logic with Ginkgo and Gomega

Structure reconciler unit tests with Ginkgo and Gomega: table-driven vs Describe/Context/It, testing pure desired-state builders vs full Reconcile with the fake client, asserting ctrl.Result and errors, when to stop and …

Deepak Prasad8 min read
programming

Golang Parse JSON: String, File, Struct, Map, and Decoder Examples

Learn how to parse JSON in Go using encoding/json: JSON strings, files, HTTP bodies, structs, maps, nested data, json.Unmarshal, json.Decoder, and common errors.

Tuan Nguyen9 min read
devops

CI/CD for Kubernetes Operator Projects with GitHub Actions

Create a production-ready GitHub Actions CI/CD workflow for Go Kubernetes Operators: gofmt, go vet, unit tests, envtest, Makefile targets, image builds, GHCR publishing, OLM bundle validation, kind jobs, caching, …

Deepak Prasad15 min read
devops

OLM Bundles Explained: Package, Ship, and List on OperatorHub

Learn OLM bundles for Kubernetes Operators: bundle layout, CSV fields, replaces and skips, operator-sdk bundle generate validate scorecard, catalog images with opm, testing on kind with OLM, and how CSV claims map to …

Deepak Prasad11 min read
devops

OpenTelemetry Tracing for controller-runtime Operators

Add OpenTelemetry tracing to Go operators on controller-runtime: why trace reconcile, wiring TracerProvider and OTLP, propagating context into client-go and outbound HTTP, span naming and log correlation via trace id, …

Deepak Prasad11 min read
devops

Kubernetes Operator Metrics with Prometheus and controller-runtime

Expose Kubernetes Operator metrics from controller-runtime, scrape them with prometheus-operator ServiceMonitor, secure the endpoint, add custom Prometheus metrics, build useful Grafana panels, alert on reconcile errors, …

Deepak Prasad14 min read
devops

Pause and Resume Patterns for Kubernetes Operators

Design pause and resume for Kubernetes Operators: spec.paused vs annotations, what still runs when paused, skipping child updates vs deletes, finalizers and upgrades, Helm operator limits, user-facing docs, and GitOps …

Deepak Prasad8 min read
devops

From Commit to Cluster: End-to-End Operator Release Pipeline

Release a Kubernetes Operator from Git tag to cluster: build the manager image, pin digests, render Helm or Kustomize manifests, validate CRDs and OLM bundles, smoke-test with a sample CustomResource, promote through …

Deepak Prasad11 min read
devops

Configuration for Operators: Flags, Environment Variables, and Live Reload

Configure Kubernetes Operators for real clusters: cmd flags vs env vars, WATCH_NAMESPACE and common conventions, ConfigMap and Secret mounts, live reload with watches, Downward API, secret rotation, and 12-factor style …

Deepak Prasad7 min read
devops

CEL Validation in CRDs: Practical Rules for Operator APIs

Practical CEL rules in CRDs for operator APIs: x-kubernetes-validations basics, immutability with oldSelf and oldObject, when to combine OpenAPI and CEL, replicas bounds and mutual exclusions, user-facing error messages, …

Deepak Prasad8 min read
devops

Kubernetes Operator Hardening Beyond RBAC: Pod Security and Supply Chain

After RBAC, harden Kubernetes operators with non-root pods, read-only root filesystem, dropped capabilities and seccomp, projected ServiceAccount tokens, image digest pinning and signing, NetworkPolicy egress allowlists …

Deepak Prasad5 min read
devops

Migrate a Helm Chart to a Helm-Based Kubernetes Operator

Brownfield guide for teams with a production Helm chart: when plain Helm is enough vs a Helm-based operator, mapping values.yaml into a CRD spec, watches.yaml and overrideValues precedence, chart semver vs operator image …

Deepak Prasad8 min read
devops

Performance Tuning for controller-runtime: Concurrency, Client QPS, and Cache

Tune Go operators on controller-runtime for large clusters: MaxConcurrentReconciles and goroutine-safe reconcile, REST client QPS and burst, cached vs APIReader uncached reads, predicates to cut apiserver load, field …

Deepak Prasad8 min read
devops

Testing Kubernetes Operators with envtest, Fake Client, and kind

Part 3 of 3: test a Go Operator SDK operator with unit tests, fake client, envtest (CRD + status + webhooks), kind smoke tests, Kustomize packaging, safe CRD upgrades, and a troubleshooting lab.

Deepak Prasad17 min read
devops

Controller-Runtime Architecture: Manager, Cache, Informer, Workqueue Explained

controller-runtime is the Go library that powers every Kubebuilder and Operator-SDK project. This guide walks the full architecture - Manager, Cache, Informer, SharedInformerFactory, Workqueue, and the Builder DSL (For / …

Deepak Prasad12 min read
devops

Kubernetes Custom Resource Definitions (CRDs) Explained: A Complete Guide

A Custom Resource Definition (CRD) is a Kubernetes resource that registers a new object type with the API server, so kubectl, RBAC, watches, and Operators can treat your custom kind the same as a built-in Deployment or …

Deepak Prasad13 min read