Free Scheduled VMs: Run Periodic Jobs on GitHub Actions (No Server Required)

You probably think of GitHub Actions as a CI tool: push code, run tests, deploy. But strip away the CI framing and what’s left is something more interesting — a free virtual machine that boots on a cron schedule, runs whatever you want, and shuts down. No VPS bill. No Raspberry Pi humming in a closet. No “did my home server lose power again?” Every scheduled run gets a fresh Ubuntu VM with 4 vCPUs, 16 GB of RAM, Python, Node, Docker, and internet access....

June 12, 2026 · 5 min · joor0x

Give Your Local LLM Eyes: SearXNG Behind a VPN for Private Web Search

Running models locally with Ollama is great for privacy: nothing leaves your machine. But it comes with a hard ceiling — your model only knows what it was trained on. Ask it about something that happened last week and it confidently makes things up. The usual fix is to plug in a web search API (Tavily, Serper, Brave). The problem? You’re back to shipping every query to a third party with an API key tied to your name....

May 30, 2026 · 2 min · joor0x

Disposable Kali in Docker: Recover a Forgotten ZIP Password

Why Run Kali in a Container? Let’s be honest: modern workflows — especially if you’re experimenting with AI agents like Agent-Zero or automated LLM pipelines — demand environments that are programmatic and ephemeral. An AI agent isn’t going to navigate a GUI-heavy VM; it’s going to spin up a container, execute its task, and vanish. The container approach offers: Isolation — your host OS stays clean. No rogue binaries, no broken dependencies....

May 10, 2026 · 4 min · joor0x

I Was Going to Write About Immich. Then Google Signed With the Pentagon.

I had a different post queued up for this week. It was going to be a practical post about Immich: how I finally moved my photo library away from Google Photos, how the timeline view works, how face recognition feels, how “on this day” memories hit differently when they are not attached to an advertising profile. That was the plan. Then Google signed a classified AI deal with the Pentagon....

April 30, 2026 · 10 min · joor0x

10 Git One-Liners Worth Keeping

Ally Piechowski recently shared five Git commands she runs before reading any unfamiliar codebase. Some were already in my toolkit, some were new to me, and all of them were useful. I liked the idea enough that I added my own five, so this became a practical top 10: five from Ally, five I keep reaching for myself. None of these commands tells the whole story. But together they give you a fast read on churn, ownership, risk, history, and maintenance patterns before you open a single file....

April 12, 2026 · 4 min · joor0x

Aisuite: One Client, Any Model

When I’m in AI Studio mode (rapid prototyping, lots of experiments), I want to spend my time on prompts, evals and breaking the code — not on re-learning yet another SDK. That’s why I use aisuite for most of my AI projects: One client API across providers Switching models is usually just changing a string like openai:gpt-5-mini → minimax:MiniMax-M2.1-lightning or even local ollama It stays close to the OpenAI-style shape, so it’s easy to adopt Lately I use quite a bit Minimax for coding tasks because it hits a great ratio of price vs quality....

February 9, 2026 · 1 min · Joor0x

Using Obsidian as a Chess Game Database

The Trading Parallel Chess and trading share a fun truth: you can spend hundreds of hours practicing and still lose. In trading, it’s capital. In chess, it’s ELO. Both require deliberate review of past mistakes to improve. Traders keep journals. Chess players should too. I’ve found that Obsidian—a tool I already use for notes—works perfectly as a chess game database. With the Web Clipper extension and a couple of templates, every game and blunders becomes a searchable, annotated note with an embedded board....

January 9, 2026 · 3 min · joor0x

Your .gitignore Won't Protect You From AI Agents

We often assume that adding files to .gitignore or .geminiignore is enough to keep them private. When it comes to local AI agents, that assumption is dangerously wrong. These ignore files are for version control and file search indexing, not a security shield. An AI assistant with access to your local environment can easily read any file, regardless of your ignore settings. A Simple, Scary Test Let’s prove it. Imagine you have a project with a simple ....

December 30, 2025 · 3 min · Joor0x

Look‑Ahead Traps in Backtesting (Backtrader, MQL, PineScript)

Why This Matters If a backtest seems to “forecast” the future without any explanatory edge, it probably does. The culprit is usually look‑ahead bias: using information you could not have known at the time of the decision. Below are the most common categories, each with a tiny example and a safe fix. These patterns appear in Backtrader, MQL (MetaTrader), PineScript—really in every language and engine. 1) Using Future Bar Values Symptom: The strategy decides using the current bar’s final values (like Close) and assumes an execution that benefits from that same bar’s information....

December 19, 2025 · 4 min · joor0x

The Traveling Salesman Problem: From 19th Century Puzzles to Genetic Algorithms

A salesman must visit a set of cities exactly once and return home, minimizing total travel distance. This deceptively simple puzzle—the Traveling Salesman Problem (TSP)—has haunted mathematicians, computer scientists, and logistics planners for nearly two centuries. It remains one of the most studied problems in computational optimization. Historical Origins The TSP’s roots trace to the 1830s, when Irish mathematician William Rowan Hamilton and British mathematician Thomas Kirkman studied related mathematical problems involving traversing graph vertices....

December 10, 2025 · 5 min · Joor0x