Sign in

cavo789 🐳

@avonture.be
40 followers 71 following 224 posts

Markdown, WSL and Docker lover ~ PHP developer ~ Insatiable curious. 👉 www.avonture.be

PostsRepliesMedia
cavo789 🐳 @avonture.be · 01/10/2026
Following up on my #SSH article about #ProxyJump, I built a local browser-based config generator (saved in localStorage). It creates a custom .ssh/config allowing you to seamlessly code via #VSCode from your local PC through a VM jump host to internal servers. 12/10 UX!
avonture.be
SSH Config Generator: Wildcard Stanzas, Aliases, and Automated Logins | Christophe Avonture
Generate your SSH config in seconds — then understand how it works: one wildcard eliminates every repeated ProxyJump and IdentityFile, domain stanzas set usernames for FQDNs, short aliases need their ...
000
cavo789 🐳 @avonture.be · 28/09/2026
A few weeks ago, I created an FAQ page on my #Docusaurus blog that contains more than 2,100 questions, such as “How do I install a Joomla site?” Did I write these questions by hand? Find out the answer in this new post. (I'm using #Ollama #IA) www.avonture.be/blog/docusau...
avonture.be
Ask My Blog: Turning 259 Articles Into 2,160 Searchable Questions | Christophe Avonture
A local LLM reads every article on your blog and writes the questions a developer would actually type into a search bar, each one mapped to the exact heading that answers it. The result is a build-tim...
010
cavo789 🐳 @avonture.be · 26/09/2026
You're right since removing things has to be done in the same layer otherwise it's too late. We'll are writing things then come back do small changes and at the end, we've introduced error. Tools like Dive are there to alert us (and do the optimization too). Should be part of a good CI/CD workflow.
000
cavo789 🐳 @avonture.be · 24/09/2026
My new article is about #Docker #Dive—specifically, how to analyze the size of a Docker image and how to reduce it by choosing a smaller base image, removing layers here, temporary files there, and so on... From a 2.5 GB image to just over 735 MB—a 70% reduction www.avonture.be/blog/docker-...
avonture.be
Docker Dive — X-Ray Your Images and Kill the Waste | Christophe Avonture
Use dive to inspect every layer of a Docker image, spot wasted megabytes hidden by deleted files, and walk step by step from a 1 GB bloated image down to a tight, efficient build.
100
cavo789 🐳 @avonture.be · 22/09/2026
I haven’t tried the tool you mentioned; my goal—my use case—was 100% local. To not send possible confidential files elsewhere.
000
cavo789 🐳 @avonture.be · 22/09/2026
Docling converts Office, HTML, and PDF files to Markdown format and strives to produce the best possible result (it strives, but makes no guarantees). For PDFs, I had to tinker with some GPU settings. I've given ready to use dockerfile and script, give it a try ? No GPU required (except for pdf)
100
cavo789 🐳 @avonture.be · 21/09/2026
Last Thursday I discussed #Docling for converting files to Markdown. Today, "ai-translate" and "ai-summarize" add translation and summarization. E.g., "ai-translate file.docx French" converts a Dutch doc to French Markdown, and "ai-summarize file.xlsx" outputs a text summary of a spreadsheet.
avonture.be
ai-translate & ai-summarize: Confidential Documents, Handled 100% Locally | Christophe Avonture
Two zsh functions that translate or summarize a Word, PDF, PowerPoint or Excel document without a single byte leaving your machine — Docling extracts the text locally, a local Ollama model does the tr...
110
cavo789 🐳 @avonture.be · 17/09/2026
A Docker batteries-included setup for #Docling, IBM's document-conversion library: PDF, Word, PowerPoint, Excel and HTML files converted into clean Markdown, with GPU acceleration for machines with spare VRAM. A companion to my Markitdown article — same idea, a heavier engine underneath.
avonture.be
Docling - Convert PDF, Word, PowerPoint, Excel and HTML to Markdown, GPU-Accelerated | Christophe Avonture
A Docker batteries-included setup for Docling, IBM's document-conversion library: PDF, Word, PowerPoint, Excel and HTML files converted into clean Markdown, with GPU acceleration for machines with spa...
101
cavo789 🐳 @avonture.be · 14/09/2026
Today's #Linux and Windows tip: CTRL-R to view your terminal history, along with a host of features such as fuzzy search. #atuin
avonture.be
Atuin — Supercharge Your Shell History With a Searchable, Timestamped Database | Christophe Avonture
Tired of losing commands in the default CTRL+R maze? Atuin replaces your shell history with a full-featured TUI backed by SQLite — timestamps, context, multi-machine sync, and a clean comparison with ...
120
cavo789 🐳 @avonture.be · 10/09/2026
The “Copy as Markdown” or “View raw” feature has been added to my #Docusaurus blog. Idea: to (re)convert the page’s HTML code into a Markdown file so that, you can grab the article’s content and… (paste it into one of your documents, paste it into an online translator, etc.). One word: sharing.
avonture.be
Add a "Copy as Markdown" Button to Your Docusaurus Blog | Christophe Avonture
Build a "Copy as Markdown" button and a "View raw" link for your Docusaurus blog posts — a build-time plugin that writes a plain-Markdown mirror next to every article, plus the tiny React component th...
100
cavo789 🐳 @avonture.be · 07/09/2026
Here is a treasure map for developers: code inside a remote Linux #DevContainer and access an isolated #SFTP server—straight from your laptop, bypassing firewall restrictions and intermediate VMs without entering passwords. This article details the full setup step-by-step.
avonture.be
Open a DevContainer on a Remote Server with VSCode Remote SSH and ProxyJump | Christophe Avonture
Chain VSCode Remote SSH, ProxyJump and Dev Containers to open a devcontainer that runs directly on a remote Linux server — so your scripts can reach services that are only accessible from that server'...
000
cavo789 🐳 @avonture.be · 03/09/2026
New article on a TUI (Terminal User Interface): lazydocker. A Linux interface that replaces a large portion of Docker Desktop's features (list of images, volumes, containers, networks, etc., as well as actions such as starting, deleting, and viewing).
avonture.be
lazydocker: A Terminal Dashboard for Docker, Containerized | Christophe Avonture
lazydocker is a single-binary terminal UI that shows every container, image, volume and network at a glance, with live stats and logs. This article containerizes it — no host install — and adds a glob...
000
cavo789 🐳 @avonture.be · 30/08/2026
In my new post, I tested #Ollama (a local AI) and #Docusaurus to analyze my 250 articles and suggest tags for each. I then identified common tags—a tag in 25 articles is relevant, but far less so in just two. This allowed AI to validate my initial choices and highlight better tag opportunities.
avonture.be
Playing with Ollama - Create a blog post analyzer with a local LLM | Christophe Avonture
A Dockerized devcontainer with two Python scripts: the first sends each Markdown blog post to a local Ollama model to generate tags, the second compares those tags across posts to suggest which articl...
000
cavo789 🐳 @avonture.be · 28/08/2026
It was a long time ago—maybe even last century—when I was working in my Docker container and wanted to push my changes to GitLab, but, well, Git wasn't configured properly. This article shows how to share your credentials between your host and your container.
avonture.be
Docker - Install and use Git in a container just like you do on your host | Christophe Avonture
Improve your dev workflow! Learn to install and set up Git inside your Docker container by sharing your host's configuration and SSH key, allowing you to run all Git commands without exiting the conta...
000
cavo789 🐳 @avonture.be · 28/08/2026
A junior dev is starting with Claude Code, so I wrote about my #Docusaurus blog setup: commands calling agents, skills, hooks, and rules (5 key concepts). I also share how I quality-check posts using a "Time-To-Value" metric: if it takes too long to get the point, it gets rewritten.
avonture.be
Claude Code - From Slash Commands to a Layered Workflow | Christophe Avonture
How this blog's .claude/ folder grew from a handful of slash commands into commands, hooks, skills, agents and rules working together — a practical learning path, including where a deterministic scrip...
000
cavo789 🐳 @avonture.be · 27/08/2026
Here's how the ninth Easter egg was created on my #Docusaurus blog. Shake, shake, shake your Android smartphone ;-) Have you found the other eight?
avonture.be
Shake Your Phone, Startle the Meerkat | Christophe Avonture
A ninth easter egg for this blog, built for readers on a phone: shake it — in Chrome or in the installed PWA — and the meerkat mascot takes over the full screen, startled, for about two seconds. Cover...
000
cavo789 🐳 @avonture.be · 24/08/2026
If you are a webmaster, you know robots.txt—but do you know #llms.txt? It helps make your site AI-bot friendly by describing its structure in Markdown. For my #docusaurus blog, it acts as a curated index. Still experimental, but great as a context file for LLMs! www.avonture.be/blog/docusau...
avonture.be
Your Blog Is Unreadable to an AI. Here Is the Fix. | Christophe Avonture
A growing share of your readers arrive through an AI assistant — and what they get is your HTML, wrapped in navigation, React widgets and collapsed accordions. This article generates a plain-Markdown ...
020
cavo789 🐳 @avonture.be · 17/08/2026
I've also add a "Chat with my blog" window at the bottom right. Click there and start your question to retrieve the right article.
000
cavo789 🐳 @avonture.be · 17/08/2026
An LLM can use your personal files—docs, client data, past projects—as its knowledge base. #AnythingLLM lets you run this locally on your machine to query your own history. Tested on my personal blog, the setup works remarkably well. www.avonture.be/blog/anythin...
avonture.be
AnythingLLM: Chat With All Your Scattered Documentation | Christophe Avonture
AnythingLLM turns a pile of Markdown, Quarto, PDF, DOCX, Excel and PowerPoint files into something you can actually chat with, backed by a local Ollama model. Part 1 sets it up on a single machine; Pa...
000
cavo789 🐳 @avonture.be · 10/08/2026
This week, using local AI with #Ollama, we’re adding `ai-review`, `ai-secrets`, and `ai-commit`. They analyze your `git diff` before you push: code quality, leaked secrets, and an automatically generated commit message.
avonture.be
ai-review, ai-secrets, ai-commit: Three zsh Checks Before Every git Commit | Christophe Avonture
Three zsh functions that together form a local, offline pre-commit quality gate: ai-review catches SOLID violations and naming issues, ai-secrets separates real hardcoded credentials from false positi...
110
cavo789 🐳 @avonture.be · 04/08/2026
How old is Docux ? Nine ? 😉
100
cavo789 🐳 @avonture.be · 04/08/2026
Zéro gain de temps mais d'ego (je parle un langage d'initiés, je suis un hackeur, je comprends le Vulcain 🖖)
010
cavo789 🐳 @avonture.be · 04/08/2026
What a beautiful image and... Hey, are there any meerkats in Scotland ? Amazing, i've to plan a trip.
000
cavo789 🐳 @avonture.be · 03/08/2026
In my Linux terminal, I type “ai-test” followed by the name of a Bash, PHP, or Python file (like “ai-test main.py”), and a connection is established to #Ollama; I provide it with the specified script and ask it to generate unit tests (which everyone knows is mandatory, but who actually writes them?)
avonture.be
ai-test: Generate Missing Unit Tests From Your Terminal With a Local LLM | Christophe Avonture
Turn your local Ollama model into an on-demand unit test generator. A zsh function that reads a Bash, PHP or Python file, detects whether you already have tests for it, prints only the missing Bats/Pe...
010
cavo789 🐳 @avonture.be · 26/07/2026
A few weeks ago, I added a “Helpful / Not really” feature at the bottom of my #docusaurus posts. This is to let visitors let me know when they liked a post or if they ran into a problem. Here's a post that explains in detail how I went about it
avonture.be
Adding Reader Reactions to Your Docusaurus Blog | Christophe Avonture
Build a fully working "Was this article helpful?" widget for your Docusaurus blog. Step-by-step guide covering the PHP backend, React component, CSS module, Docusaurus swizzle, and an admin dashboard ...
010
cavo789 🐳 @avonture.be · 21/07/2026
They are so cute 😘
010
cavo789 🐳 @avonture.be · 21/07/2026
You mentionned the frontmatter.json file with hardcoded tags. I'm using the official tags.json file. Can we reuse or are we forced to do some copy / paste. Same for series, I also use a json file here.
110
cavo789 🐳 @avonture.be · 19/07/2026
What’s the point of a technical #docusaurus blog if the code snippets are too complex? Shouldn’t the article adapt to the reader? I added a 'Explain like I’m 5' feature to my blog: a '?' appears next to less obvious code lines. Hover for a clear, plain-language explanation. Simple and unobtrusive
avonture.be
AI-Powered Code Tooltips in Docusaurus — Explain Like I'm Five | Christophe Avonture
Add hover tooltips to tricky code lines in your Docusaurus blog — powered by Claude, generated at build time, zero browser latency. Covers the remark plugin, the React renderer, and the CLI script.
010
cavo789 🐳 @avonture.be · 19/07/2026
Pour que les djeuns aient les mêmes souvenirs que nous; dans trente ans ?
010
cavo789 🐳 @avonture.be · 17/07/2026
Prochaine étape, les fichiers .qmd (Markdown à la sauce Quarto), c'est tout pareil mais on peut injecter p.ex. des scripts python ou bash et qui vont être exécuté lors du rendu. L'output de ces scripts sera de type markdown ou html. C'est diablement puissant.
020
cavo789 🐳 @avonture.be · 13/07/2026
Indeed, it was stupid screen capture (I'm using ScreenPresso, very good one).
001
cavo789 🐳 @avonture.be · 13/07/2026
I've just asked "Please foresee some Easter eggs". Nothing more. Note that the ASCII Art (egg #1) was already coded (by me) last year. Other ones have been coded (and positioned) by Claude Code.
000
cavo789 🐳 @avonture.be · 13/07/2026
This weekend, while I was devouring my AI quota at top speed, I asked Claude to hide some Easter eggs on my #Docusaurus blog. There are now up to eight of them. I won't say, “Go find them,” since I'm going to explain the trick. One of them—the best-hidden one—pops up if you do the Konami Code.
avonture.be
Meerkat Mischief: Sprinkling Easter Eggs Across my Blog | Christophe Avonture
A tour of eight small, discoverable easter eggs added to this Docusaurus blog — a hidden ASCII-art meerkat in the page source, a Konami-code sprite run, a console.log wink, a tab-away favicon swap, ro...
100
cavo789 🐳 @avonture.be · 06/07/2026
On Linux, grep works well for a file and a precise pattern. Across folders, it’s slower and needs many excludes (.git, node_modules, vendor…). Writing the perfect grep command first try? World-champion stuff. So yes, #ripgrep—rg for friends—is better. Let’s see why.
avonture.be
ripgrep — The Search Tool That Changed My WSL2 Workflow | Christophe Avonture
Discover ripgrep, the blazingly fast grep alternative written in Rust. Installation on Ubuntu/WSL2, ZSH configuration, practical shell functions, and real-world use cases that will transform how you s...
000
cavo789 🐳 @avonture.be · 29/06/2026
A little-known technique: git worktree. It allows you to work on two (or more) #Git branches at the same time. This way, you can develop a new feature and quickly patch the production environment where a bug has been encountered; for example,
avonture.be
git worktree: Work on Two Branches at the Same Time | Christophe Avonture
git worktree: Work on Two Branches at the Same Time
100
cavo789 🐳 @avonture.be · 22/06/2026
Tired of dull CLI blocks instantly popping up in your #Docusaurus posts? My new article introduces a 'typewriter' effect simulating real-time keystrokes. Animation speed scales dynamically based on character count. This visual gadget makes the page more engaging—because why not?
avonture.be
Bring Your CLI Tutorials to Life with a Typewriter Terminal | Christophe Avonture
Add a typewriter animation to your Docusaurus Terminal component — command lines typed character-by-character, output lines appearing in sequence, with a blinking cursor and a click-to-skip escape hat...
000
cavo789 🐳 @avonture.be · 15/06/2026
#Delta is a CLI tool making #git diff highly visual. It replaces +/- lines with red/green color-coding and merges word-level edits into a single line for better readability. As an external utility, you can also use it to compare any two text files! Give it a try if you're a git user!
avonture.be
delta: a Syntax-Highlighted Pager for git diff | Christophe Avonture
Stop squinting at raw git diff outputs. Learn how to install and configure Delta to add syntax highlighting and side-by-side views in under 5 minutes.
000
cavo789 🐳 @avonture.be · 08/06/2026
Ever know a word (e.g. “PASSWORD”) exists somewhere in a script or config file, but not where? Or you changed “John” to “Jane” and need to find every file still using the old value. Grep can do it but who remembers the right flags? An interactive search with live filtering solves that. #fzf #ripgrep
avonture.be
FZF + ripgrep: Interactive Code Search with Live Preview | Christophe Avonture
Combine ripgrep and fzf with a bat syntax-highlighted preview panel to build an interactive code search — then open the result directly in VSCode at the exact matching line.
000
cavo789 🐳 @avonture.be · 01/06/2026
Just read this today, ouch techstartups.com/2026/05/28/c...
techstartups.com
Company accidentally spent $500 million on Claude AI in one month after forgetting usage limits - Tech Startups
One enterprise company reportedly learned the hard way that AI doesn’t just write code and answer prompts. It can torch a budget at a pace most CFOs have never seen before. According to a report from ...
010
cavo789 🐳 @avonture.be · 01/06/2026
Good to know, thanks. I've just switched a few days ago, still have to better manage the notion of daily / weekly restriction (like everyone in fact 😅)
000
cavo789 🐳 @avonture.be · 01/06/2026
Recently switched from #Gemini to #Claude Code—mind blown! Going from endless web UI copy-pasting to an agentic VSCode mode is revolutionary. But yikes, Claude uses tokens and usage quotas. After much reading, here are my notes on understanding tokens and how to reduce consumption...
avonture.be
Claude Code - Optimizing Token Usage | Christophe Avonture
A practical guide to reducing token consumption in Claude Code; CLI commands, optimization of CLAUDE.md, and other context management.
120
cavo789 🐳 @avonture.be · 25/05/2026
A new article discussing a best practice: instead of creating custom functions in your #zsh ~/.zshrc file, place them one by one (which is better for version control) in a dedicated folder. This also improves memory efficiency and reduces terminal startup time. Using a #fzf example
avonture.be
Beyond the Monolith - Organizing Your ZSH Workflow Like a Pro | Christophe Avonture
Stop bloating your shell configuration. Learn why moving ZSH functions to standalone files improves performance and maintainability, featuring a universal project navigator.
010
cavo789 🐳 @avonture.be · 18/05/2026
A colleague asked: "Can we run AI on a private network?" Now I'm building a home client-server setup! My workstation acts as the AI server, my laptop as the client. I access a #Gemini like web UI & #VSCode autocomplete locally. 100% private, zero quotas, zero cost! 💻🚀 #Ollama
avonture.be
Accessing Ollama across your local network | Christophe Avonture
Learn how to set up a dedicated Ollama server on your local network and configure VSCode with the Continue extension for a private, free AI coding assistant.
010
cavo789 🐳 @avonture.be · 11/05/2026
Something completely different this time: the #Belgif standard, which defines the foundation for API standardization at the Belgian federal level. In this new article, after introducing best practices for REST APIs, we’ll look at some linting errors (returned by Belgif) and how to address them.
avonture.be
Validate your OpenAPI schema against the Belgif REST standards | Christophe Avonture
Use VS Code Remote - SSH: connect to production servers, and edit/execute remotely while avoiding common pitfalls.
020
cavo789 🐳 @avonture.be · 04/05/2026
2024 best-in-class approach (optimization, security, simplicity) for #Markitdown: a Microsoft tool to convert numerous formats to Markdown. Convert .docx, .pdf, .xlsx, and many others to .md to extract text and document hierarchy efficiently.
avonture.be
Markitdown - Convert files and MS Office documents to Markdown | Christophe Avonture
Easily convert MS Office documents (Word, Excel) and PDFs into Markdown format with Microsoft's Markitdown tool. Includes step-by-step instructions for installation via Docker.
100
cavo789 🐳 @avonture.be · 27/04/2026
At work, I manage ~50 Linux servers, often connecting via " #ssh my_server. Instead of memorizing names, what if a TUI listed them alongside their installed websites, projects, and other relevant info? That’s all the inspiration I needed to code "sshf" (f for #FuzzyFinder).
avonture.be
Master your ssh command and select the host from a list | Christophe Avonture
Build an interactive, searchable SSH host selector using FZF. Learn to modularize your SSH configurations, add rich documentation, and trigger advanced custom actions via a fast Terminal User Interfac...
000
cavo789 🐳 @avonture.be · 20/04/2026
Let's stop writing documentation... Let's make it generate itself. This week, we'll explore how to generate diagrams, pie charts, mind maps, or any other #mermaid.js diagram using a ready-to-use #Docker image. I'll show you how to do it yourself.
avonture.be
Documentation as Code - Transform Your Infrastructure into Beautiful Diagrams with Python and Mermaid | Christophe Avonture
Automate your Documentation as Code by building a Dockerized Python and Mermaid CLI stack to generate dynamic architecture diagrams directly from your codebase.
000
cavo789 🐳 @avonture.be · 13/04/2026
What if we manually minify #CSS and #JS without heavy frameworks like #Node.js? A simple Bash script, a config file, a #Docker image, and boom! We merge all .css into one "style.min.css" (same for .js). Zero system bloat, no extra dependencies, and no wasted MBs on your drive.
avonture.be
Streamline Your Frontend - Minifying Assets with Docker, Bash, and YAML | Christophe Avonture
Drop the heavy Node toolchains. Build a fast, dependency-free asset minification pipeline using a declarative YAML manifest, Bash, and Docker.
021
cavo789 🐳 @avonture.be · 06/04/2026
There you go; it happened to me again. Coming back to a project several weeks later and realizing I’m working on the wrong #Git branch. It’s silly. Let’s see how we can try to prevent this from happening. We'll use #zsh and his chpwd hook.
avonture.be
Showing the last 3 updated branches when you jump in a git repo | Christophe Avonture
Learn how to configure ZSH to automatically display your most recently updated Git branches whenever you enter a repository or check its status.
000
cavo789 🐳 @avonture.be · 30/03/2026
This week, let's install local #AI with #Ollama. Skip online connections, "Quota exceeded" limits, and handing source code to web companies. Secure your data and boost automation. Even without a GPU, Ollama runs your chosen LLMs if you have enough RAM.
avonture.be
Installing Ollama and get local AI | Christophe Avonture
Learn how to deploy Ollama locally via Docker to run private, free LLMs and enable AI-powered code autocompletion in VSCode.
010