Containers, Explained for Engineers Who've Quietly Avoided Them
A practical, jargon-light walkthrough of what containers actually are, what Docker adds on top, and where Kubernetes enters the picture — distilled from Module 9 of the IBM DevOps Professional Certificate on Coursera.
IBM DevOps & Software Engineering Professional Certificate — Honest Review (2026)
A hands-on, module-by-module review of IBM's 15-course DevOps & Software Engineering Professional Certificate on Coursera — what you actually build where it shines, where it falls short, and who should (or shouldn't) take it.
Affiliate Disclosure
Affiliate Disclosure
Disclosure of affiliate relationships for products and services mentioned on this site.
What and Why in JavaScript — Advanced Reference
What and Why in JavaScript — Advanced Reference
A topic-organised reference for the deeper JavaScript questions that surface in code review and interviews — duck typing, host environments, property descriptors revisited, Symbol and WeakMap, iterators and generators, the event loop, and the rules behind value vs reference semantics.
JavaScript Modules — ES Modules, CommonJS, and the Modern Module Ecosystem
JavaScript Modules — ES Modules, CommonJS, and the Modern Module Ecosystem
A complete tour of JavaScript modules — the historical landscape (IIFE, AMD, UMD, CommonJS), modern ES modules (export/import, default vs named, re-exports, dynamic import), interop between ESM and CJS in Node, package.json exports, and how TypeScript and bundlers fit in.
How to Understand Functional Programming in JavaScript
How to Understand Functional Programming in JavaScript
A practical introduction to functional programming in JavaScript — pure functions, immutability, first-class and higher-order functions, composition, currying, the standard-library toolkit, and where the discipline ends and pragmatism begins.
Modern JavaScript Object Features — Descriptors, Immutability, Symbols, and Iterators
A reference tour of the modern object surface — property descriptors, Object.freeze / seal / preventExtensions, Symbol-keyed properties and well-known symbols, the iterable protocol, structuredClone, Object.groupBy, and proxies.
JavaScript Classes — Syntax, Inheritance, and Modern Features
A complete tour of ES6 classes — constructors, instance and static members, inheritance with extends and super, private fields and methods, getters and setters, and how every class still sits on top of the prototype chain.
JavaScript Prototypes and the Prototype Chain
A deep, practical explanation of JavaScript prototypes — what [[Prototype]] really is, how the prototype chain is searched, the difference between `__proto__` and `prototype`, Object.create, and how prototypes power inheritance under the surface of every class.
JavaScript Objects — The Basics
JavaScript Objects — The Basics
A practical introduction to JavaScript objects — literals, property access, shorthand syntax, computed keys, methods, mutation by reference, and the difference between value semantics and reference semantics.
Modern JavaScript Functions — Destructured Parameters, async/await, Generators
Modern JavaScript function features — destructured parameters with defaults, async / await, generators, iterators, tagged template literals, and the patterns that make production code readable.
JavaScript Functions in Depth — Closures, this, and Higher-Order Patterns
A deep dive into the parts of JavaScript functions that everyone has to learn the hard way — closures, the `this` binding, `call` / `apply` / `bind`, higher-order functions, and the patterns built on top of them.
JavaScript Functions — The Basics
JavaScript Functions — The Basics
Introduction to JavaScript functions — function declarations, function expressions, arrow functions, parameters, default values, rest/spread, return values, and the difference between calling and referencing.
JavaScript Conditionals and Control Flow — if, switch, Ternary, and the Modern Nullish Toolkit
A practical guide to branching in modern JavaScript — truthy and falsy rules, if / else if / else, switch, the ternary operator, short-circuit evaluation, optional chaining (?.), and nullish coalescing (??).
JavaScript Arrays — Creation, Iteration, and the Modern Method Toolkit
JavaScript Arrays — Creation, Iteration, and the Modern Method Toolkit
A modern, practical tour of JavaScript arrays — literal vs constructor creation, sparse-array gotchas, the full iteration toolkit (forEach, map, filter, reduce, flat, find, some, every), destructuring and spread, and when to reach for typed arrays.
JavaScript Variables — let, const, var, Scope, and Hoisting
JavaScript Variables — let, const, var, Scope, and Hoisting
A modern, ES6+ first guide to declaring variables in JavaScript — when to use const, when to use let, why var still exists, and how scope, hoisting, and the temporal dead zone actually work.
How to Use Prompts with OpenManus
How to Use Prompts with OpenManus
Practical prompt patterns for OpenManus — from web research and code generation to file operations and multi-step agent workflows.
A Concise History of JavaScript — From LiveScript to ES2024
How JavaScript went from a 10-day prototype in 1995 to the modern, standardised ECMAScript language powering the web, Node.js, and edge runtimes in 2024.
Open WebUI - A Browser Interface for Ollama Local LLMs
Open WebUI - A Browser Interface for Ollama Local LLMs
Install and configure Open WebUI on Ubuntu 24.04 — a ChatGPT-like browser interface for Ollama with document upload, multi-model support, and RAG.
OpenManus for Local LLMs
OpenManus for Local LLMs
Install and configure OpenManus on Ubuntu — an open-source AI agent framework that connects to local LLMs via Ollama for automated task execution.
How to Install Ollama and Run Local LLMs on Linux
How to Install Ollama and Run Local LLMs on Linux
Step-by-step guide to installing Ollama on Ubuntu 24.04, pulling open-source models, and running them locally on your own hardware for privacy.
Hyper Parameters
Hyper Parameters
Understanding Hyper Parameters in AI and Machine Learning
AVX Technology Explained
AVX Technology Explained
Understanding AVX and its importance for AI and LLM runtimes
Setting Up Text Generation WebUI (No AVX Required)
Setting Up Text Generation WebUI (No AVX Required)
Step-by-step guide to installing Text Generation WebUI on systems without AVX2 support, with setup for non-AVX CPUs.
The Local LLM Ecosystem - Ollama vs LM Studio vs LocalAI
The Local LLM Ecosystem - Ollama vs LM Studio vs LocalAI
A comparison of local LLM inference engines — Ollama, LM Studio, LocalAI, Text Generation WebUI — covering interfaces, model formats, and when to use each.
About Me
About Me
This document includes my interests and activities.
About This site
About This site
Some information about this site.
Credits