programming

JavaScript double question mark (??): nullish coalescing

JavaScript double question mark (??) is nullish coalescing: defaults only for null or undefined, unlike ||. Covers chaining, mixing with ||/&& (parentheses), and examples where 0 and empty string must be preserved. …

Olorunfemi Akinlua5 min read
programming

Cannot use import statement outside a module

Fix SyntaxError cannot use import statement outside a module in Node.js, browsers, and AWS Lambda. Use type module, .mjs, script type=module, and avoid ERR_MODULE_NOT_FOUND confusion—with Node-tested output.

Deepak Prasad8 min read
programming

JavaScript findIndex: array findIndex and objects by property

findIndex javascript and js findIndex: predicate scan with Array.prototype.findIndex, return index or -1, optional thisArg, javascript find index of object in array by property, and how findIndex differs from find and …

Olorunfemi Akinlua4 min read
programming

Compare strings in JavaScript: ===, localeCompare, and case-insensitive matches

JavaScript string compare and string equals with === vs ==, localeCompare and Intl.Collator for locale-aware sorting, case-insensitive patterns, trim and Unicode normalize—with example console output.

Olorunfemi Akinlua7 min read
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 Akinlua5 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 Alila9 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 Akinlua6 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 Akinlua5 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 Akinlua7 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 Akinlua4 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 Akinlua6 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 Akinlua6 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 Prasad9 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 Alila6 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 Shikubu5 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 Nguyen14 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 Nguyen10 min read
programming

Golang function vs method: declaration syntax, receivers, when to use which

Golang function vs method and go method vs function: golang function declaration syntax without a receiver, method golang syntax with value or pointer receiver, function vs method call style, golang methods vs functions …

Deepak Prasad4 min read
programming

Bash unshift: prepend to arrays, shift, and pop (with examples)

Bash unshift: prepend to an array or positional parameters, bash shift array / bash array shift, shift vs unshift, and bash pop argument / remove last element. No built-in unshift—use assignment or set --.

Deepak Prasad3 min read
programming

Bash while loop timeout: run until a time (sleep, date, GNU timeout)

Bash while loop timeout and while loop until a deadline: sleep in Linux/Bash, wall-clock end time with date or EPOCHSECONDS, counter + break, and GNU timeout around background jobs.

Deepak Prasad3 min read
programming

Linux convert tabs to spaces; spaces to tabs in shell scripts (Bash)

Linux convert tabs to spaces with expand; convert runs of spaces to tabs with unexpand; tab in bash with $'\t' and printf; unix shell scripts conversion for tab- vs space-delimited text and aligned columns.

Deepak Prasad3 min read
programming

JavaScript Exponentiation: ** Operator vs Math.pow (BigInt, precedence, edge cases)

Exponentiation in JavaScript with the ** power operator and Math.pow: numbers, BigInt, right-associativity, unary minus precedence, NaN ** 0, **= compound assignment, and when to prefer Math.pow on older engines. Each …

Olorunfemi Akinlua6 min read
programming

Linux login history: view SSH logins, auth logs, and check attempts

Linux login history: view and check login history, login logs, and Linux SSH login history via last, wtmp, auth.log or /var/log/secure, and journalctl. Optional script to summarize successful and failed SSH attempts.

Deepak Prasad6 min read
programming

Grep word after match; awk print after match (Linux)

Grep word after match, grep everything after match, grep characters after match, grep next line after match, and awk print after match on Linux (GNU grep -P with \K, -A, match/substr). Brief patterns for the word before …

Deepak Prasad4 min read
programming

Linux: find duplicate files by hash, list them and remove duplicates safely

Use find with sha256sum (or md5sum) to list identical files on Linux, group by hash, then delete duplicate copies interactively or after a dry-run—plus how “duplicate by name” differs from same content.

Deepak Prasad4 min read
programming

Bash remove from array: one element, first item, duplicates and subtract another array

Bash patterns to remove an element from an array, drop the first item, dedupe (bash array remove duplicates), and subtract all values of one array from another using loops or an associative map.

Deepak Prasad3 min read
programming

Bash progress bar: text bar, script implementation, pv and dialog

Build a bash progress bar and bash loading bar in the terminal with carriage return redraws, reusable functions, multi-step jobs, plus pv for pipe byte counts and dialog for a gauge widget.

Deepak Prasad4 min read
programming

Bash counter: loop counters, increment patterns and script counters (for, while)

Bash counter patterns: C-style for loop counter, bash while loop counter, increment with (( )) and let, bash for count over a list, and a small script counter over files—plus links to deeper increment and loop guides.

Omer Cakmak3 min read
programming

Bash / Linux: count string or word occurrences in a file (grep, wc, awk)

Count how many times a word or substring appears in a file, count lines and words with wc, whole-word matches with grep -E, and build a frequency table with awk or sort/uniq.

Deepak Prasad5 min read