Author Archives: ronaldpringadi

Creating MCP Server for LM Studio and Open WebUI

Understanding the Three-Layer Architecture When integrating AI applications with existing hardware or services, you don’t need to modify your device code. Instead, you introduce an MCP Server as middleware—a translator between the AI world and your real-world devices. 🤖 The … Continue reading

Posted in Uncategorized | Tagged , | Comments Off on Creating MCP Server for LM Studio and Open WebUI

Breaking Free from the Cloud: A Guide to Free Local AI Tools and Agents in 2026

The landscape of Artificial Intelligence shifted dramatically heading into 2026. While cloud-based subscriptions were once the default for accessing capable large language models (LLMs), the open-source community and consumer hardware have caught up. 💡 Today, individuals can run highly capable … Continue reading

Posted in Uncategorized | Tagged | Comments Off on Breaking Free from the Cloud: A Guide to Free Local AI Tools and Agents in 2026

Reviewing Next.js as a Java Programmer

I came to Next.js from years of Java, and my first reaction was frustration. Java is verbose and has to be compiled, but in the end it’s predictable. Next.js is verbose and syntactically strange and hides an enormous amount of … Continue reading

Posted in java, javascript | Tagged , , , | Comments Off on Reviewing Next.js as a Java Programmer

Profiling a Dockerized Moodle with Xdebug and QCachegrind on macOS

If you run Moodle under moodle-docker on a Mac and a page feels slow, eyeballing the code only gets you so far. The honest answer is a profiler. 🐳 Here’s how I wired up Xdebug for both step-debugging and on-demand … Continue reading

Posted in Moodle | Tagged , , , , | Comments Off on Profiling a Dockerized Moodle with Xdebug and QCachegrind on macOS

Setting Up a Moodle REST API Webservice in Five Steps

Moodle ships with a full web-services layer, but the admin flow for handing out a single API token is spread across half a dozen settings pages. The first time you do it, you’ll click around for twenty minutes wondering why … Continue reading

Posted in Moodle | Tagged , | Comments Off on Setting Up a Moodle REST API Webservice in Five Steps

Enabling Vite Hot Reload for Moodle SCSS

🐳 I spent an afternoon chasing a deceptively simple goal: edit a stylesheet in a custom Moodle theme, hit refresh, and see the change — without running a full production build every time. The tool that promises exactly this is … Continue reading

Posted in DevOps | Tagged , , | Comments Off on Enabling Vite Hot Reload for Moodle SCSS

A Quick Tour of Mustache Templating in PHP (and Everywhere Else)

If you’ve worked in a large PHP codebase like Moodle, you’ve bumped into files ending in .mustache and wondered what those double curly braces are doing. 🐘 The short version: Mustache is a logic-less templating language, and the syntax you … Continue reading

Posted in PHP, Web Development | Tagged , , | Comments Off on A Quick Tour of Mustache Templating in PHP (and Everywhere Else)

Adding a Moodle cron sidecar to moodle-docker via local.yml

The moodle-docker stack is designed primarily for automated testing — Behat, PHPUnit, and so on — which is why it doesn’t ship a cron container. A background scheduler would interfere with deterministic test runs, so the README’s only nod to … Continue reading

Posted in Moodle | Tagged , , | Comments Off on Adding a Moodle cron sidecar to moodle-docker via local.yml

Creating a new theme and changing font on Moodle 5

I wanted to swap the default font in a Moodle 5 install. Specifically: keep Boost, the stock Moodle theme, but use Inter from Google Fonts instead of the Bootstrap system stack. The official path is “make a child theme of … Continue reading

Posted in Moodle | Tagged , , , , | Comments Off on Creating a new theme and changing font on Moodle 5

Local HTTPS for dev sites with Caddy, mkcert, and a reverse-proxy gotcha

Running a local web app over plain HTTP is fine until something forces your hand — a third-party SDK that refuses to load on http://, a cookie that needs the Secure flag, or an app like Moodle that nags you … Continue reading

Posted in DevOps | Tagged , , , | Comments Off on Local HTTPS for dev sites with Caddy, mkcert, and a reverse-proxy gotcha