# Ivan Morgillo

Ivan Morgillo makes mobile apps, AI agents, and developer tools. Speaker, author, Code with the Italians host, father in the Italian countryside.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Claude Code statusline: model name and context usage at a glance

DevFeed: [Claude Code statusline: model name and context usage at a glance](<https://devfeed.tech/articles/claude-code-statusline-model-name-and-context-usage-at-a-glance-25180.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/08/11/claude-code-statusline-model-and-context-usage/>)

Author: Ivan Morgillo

Published: 2026-08-11T10:00:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [context window](<https://devfeed.tech/topics/context-window.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [claude-code](<https://devfeed.tech/tags/claude-code.md>), [code](<https://devfeed.tech/tags/code.md>), [context-window](<https://devfeed.tech/tags/context-window.md>), [json](<https://devfeed.tech/tags/json.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

A tutorial on configuring a Claude Code terminal statusline that reads the JSON payload supplied to a statusline script. The resulting bar displays the project and branch, current model, and color-coded context usage with token counts.

### Source excerpt

Claude Code pipes a JSON payload into your statusline script. Read it, and the bar shows the project and branch you are on, the model, and color-coded context usage with token counts.

## OpenAI sells a $230 keypad to run AI agents. I built one for $28 on Linux.

DevFeed: [OpenAI sells a $230 keypad to run AI agents. I built one for $28 on Linux.](<https://devfeed.tech/articles/openai-sells-a-230-keypad-to-run-ai-agents-i-built-one-for-28-on-linux-25179.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/07/29/openai-codex-micro-28-dollar-linux-macropad/>)

Author: Ivan Morgillo

Published: 2026-07-29T10:00:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [codex](<https://devfeed.tech/topics/codex.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [asr](<https://devfeed.tech/topics/asr.md>), [Nemotron](<https://devfeed.tech/topics/nemotron.md>)

Tags: [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [ai-coding-agents](<https://devfeed.tech/tags/ai-coding-agents.md>), [asr](<https://devfeed.tech/tags/asr.md>), [codex](<https://devfeed.tech/tags/codex.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [linux](<https://devfeed.tech/tags/linux.md>), [nemotron](<https://devfeed.tech/tags/nemotron.md>), [openai](<https://devfeed.tech/tags/openai.md>)

### AI overview

The article explains how the author recreated the core workflow of OpenAI's Codex Micro for $28 on Linux using a low-cost macropad. The setup supports voice dictation through a local speech-to-text server and one-press commands for interacting with coding agents.

### Source excerpt

OpenAI's first hardware is a $230 keypad for driving AI coding agents. I rebuilt the part that matters -- voice dictation and one-press agent commands -- for $28, on Linux, with a cheap Chinese macropad.

## Walking Pad, Controlled by Code: BLE, FTMS, and a Phone Button That Tracks Every Step

DevFeed: [Walking Pad, Controlled by Code: BLE, FTMS, and a Phone Button That Tracks Every Step](<https://devfeed.tech/articles/walking-pad-controlled-by-code-ble-ftms-and-a-phone-button-that-tracks-every-step-25178.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/06/24/walking-pad-ble-ftms-home-assistant/>)

Author: Ivan Morgillo

Published: 2026-06-24T08:00:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Home Assistant](<https://devfeed.tech/topics/home-assistant.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [Python](<https://devfeed.tech/topics/python.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [ble](<https://devfeed.tech/tags/ble.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [code](<https://devfeed.tech/tags/code.md>), [home-assistant](<https://devfeed.tech/tags/home-assistant.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A developer connects a Mobvoi Home walking pad to Home Assistant using Bluetooth Low Energy and the Fitness Machine Service standard. A Python-based setup uses the device's control point and notifications to start and stop the pad and record session data, while the article also documents challenges with rolling-code remotes, BLE scanning, and BlueZ connections.

### Source excerpt

I have a Mobvoi Home walking pad under my standing desk. BLE, FTMS, Python, and a Home Assistant button: one tap to start, one to stop, every session logged.

## iPhone Screenshots on Linux, on a Stream Deck Button

DevFeed: [iPhone Screenshots on Linux, on a Stream Deck Button](<https://devfeed.tech/articles/iphone-screenshots-on-linux-on-a-stream-deck-button-25177.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/06/22/iphone-screenshots-on-linux-stream-deck/>)

Author: Ivan Morgillo

Published: 2026-06-22T09:30:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [iphone](<https://devfeed.tech/topics/iphone.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [systemd](<https://devfeed.tech/topics/systemd.md>)

Tags: [capture](<https://devfeed.tech/tags/capture.md>), [command](<https://devfeed.tech/tags/command.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [linux](<https://devfeed.tech/tags/linux.md>), [root](<https://devfeed.tech/tags/root.md>), [screenshots](<https://devfeed.tech/tags/screenshots.md>), [stream](<https://devfeed.tech/tags/stream.md>), [systemd](<https://devfeed.tech/tags/systemd.md>)

### AI overview

A tutorial on capturing iPhone screenshots directly to the Linux clipboard with a Stream Deck button. On iOS 17 and later, it uses pymobiledevice3, Developer Mode, a mounted Developer Disk Image, and a root-run systemd tunnel service instead of the classic idevicescreenshot workflow.

### Source excerpt

How I screenshot my iPhone straight to the Linux clipboard with one Stream Deck button -- iOS 17+ needs pymobiledevice3 and a root tunnel, not the classic idevicescreenshot. No Mac required.

## Give Your Screenshots a Sound -- a Stream Deck Button That Dings When the Image Is on the Clipboard

DevFeed: [Give Your Screenshots a Sound -- a Stream Deck Button That Dings When the Image Is on the Clipboard](<https://devfeed.tech/articles/give-your-screenshots-a-sound-a-stream-deck-button-that-dings-when-the-image-is-on-the-clipboard-25176.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/06/17/stream-deck-screenshot-ding-clipboard/>)

Author: Ivan Morgillo

Published: 2026-06-17T12:30:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Large Screen](<https://devfeed.tech/topics/large-screen.md>), [Wireless Debugging](<https://devfeed.tech/topics/wireless-debugging.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [display](<https://devfeed.tech/tags/display.md>), [screenshot](<https://devfeed.tech/tags/screenshot.md>), [sound](<https://devfeed.tech/tags/sound.md>)

### AI overview

The article describes a Stream Deck workflow that captures Android phone screenshots to the clipboard and plays a sound when the pipeline completes. It explains that foldable phones can emit display-selection warnings into the image stream, corrupting the PNG, and discusses capturing the active display instead of hardcoding a display ID.

### Source excerpt

A Stream Deck button that plays a ding the instant a phone screenshot lands in the clipboard -- no more counting to three. Plus a foldable multi-display gotcha (and the fix), with a hat tip to Roberto Orgiu.

## How I Let My AI Coding Agent Run sudo on My Linux Box Without Pasting Into a Terminal

DevFeed: [How I Let My AI Coding Agent Run sudo on My Linux Box Without Pasting Into a Terminal](<https://devfeed.tech/articles/how-i-let-my-ai-coding-agent-run-sudo-on-my-linux-box-without-pasting-into-a-terminal-25174.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/06/16/ai-coding-agent-sudo-pkexec-asroot-linux/>)

Author: Ivan Morgillo

Published: 2026-06-16T14:30:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [coding](<https://devfeed.tech/tags/coding.md>), [commands](<https://devfeed.tech/tags/commands.md>), [linux](<https://devfeed.tech/tags/linux.md>), [password](<https://devfeed.tech/tags/password.md>), [security](<https://devfeed.tech/tags/security.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

This tutorial describes a reusable asroot helper that lets an AI coding agent run root commands on Linux through pkexec and polkit's graphical password dialog. The user approves each elevation in the native OS prompt, keeping the password out of the agent's chat and avoiding temporary scripts or pasted sudo commands.

### Source excerpt

Letting an AI coding agent run root commands on Linux without pasting sudo into a terminal -- a tiny reusable asroot helper built on pkexec and polkit's graphical password dialog.

## How I Gave the Claude App Access to My Self-Hosted Second Brain

DevFeed: [How I Gave the Claude App Access to My Self-Hosted Second Brain](<https://devfeed.tech/articles/how-i-gave-the-claude-app-access-to-my-self-hosted-second-brain-25173.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/06/13/claude-app-self-hosted-second-brain/>)

Author: Ivan Morgillo

Published: 2026-06-13T06:45:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Claude](<https://devfeed.tech/topics/claude.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [tailscale](<https://devfeed.tech/topics/tailscale.md>), [Qdrant](<https://devfeed.tech/topics/qdrant.md>)

Tags: [claude](<https://devfeed.tech/tags/claude.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [phone-app](<https://devfeed.tech/tags/phone-app.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [solar](<https://devfeed.tech/tags/solar.md>), [tailscale](<https://devfeed.tech/tags/tailscale.md>)

### AI overview

The author describes extending a self-hosted memory service to the Claude app through a remote MCP server. The design keeps the data at home while exposing an HTTPS endpoint through Tailscale Funnel and protecting it with OAuth 2.1, including PKCE and refresh tokens; Qdrant is also part of the setup.

### Source excerpt

I gave the Claude phone app access to my self-hosted memory -- a remote MCP server over Tailscale Funnel, OAuth and Qdrant, running on a solar-powered PC at home.

## Google Drive on Linux: A Fast rclone Mount (and Why Your Thumbnails Are Missing)

DevFeed: [Google Drive on Linux: A Fast rclone Mount (and Why Your Thumbnails Are Missing)](<https://devfeed.tech/articles/google-drive-on-linux-a-fast-rclone-mount-and-why-your-thumbnails-are-missing-25172.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/06/12/google-drive-on-linux-rclone-mount-and-thumbnails/>)

Author: Ivan Morgillo

Published: 2026-06-12T10:00:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Google](<https://devfeed.tech/topics/google.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [mount](<https://devfeed.tech/topics/mount.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [systemd](<https://devfeed.tech/topics/systemd.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [xfce](<https://devfeed.tech/topics/xfce.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [caching](<https://devfeed.tech/tags/caching.md>), [google](<https://devfeed.tech/tags/google.md>), [image](<https://devfeed.tech/tags/image.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mount](<https://devfeed.tech/tags/mount.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [systemd](<https://devfeed.tech/tags/systemd.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [xfce](<https://devfeed.tech/tags/xfce.md>)

### AI overview

A tutorial describing a personal setup for mounting Google Drive as a browsable folder on Ubuntu with XFCE using rclone. It covers OAuth authorization, a systemd user service, aggressive caching for faster browsing, and the problem of missing image thumbnails on the mount.

### Source excerpt

How I finally got Google Drive working as a fast, normal folder on Linux with rclone -- and fixed the non-obvious problem of missing image thumbnails on FUSE mounts.

## How to Build, Theme, and Audit Material Design 3 UIs with AI Agents

DevFeed: [How to Build, Theme, and Audit Material Design 3 UIs with AI Agents](<https://devfeed.tech/articles/how-to-build-theme-and-audit-material-design-3-uis-with-ai-agents-25171.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/06/02/how-to-build-theme-audit-material-design-3-claude-code/>)

Author: Ivan Morgillo

Published: 2026-06-02T17:00:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Material Design](<https://devfeed.tech/topics/material-design.md>), [Agent Skill](<https://devfeed.tech/topics/agent-skill.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [agent-skill](<https://devfeed.tech/tags/agent-skill.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [audit](<https://devfeed.tech/tags/audit.md>), [compose](<https://devfeed.tech/tags/compose.md>), [css](<https://devfeed.tech/tags/css.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [material-design](<https://devfeed.tech/tags/material-design.md>)

### AI overview

A practical guide to an MIT-licensed agent skill for building and auditing Material Design 3 interfaces. It covers component generation, seed-color theme creation for light and dark modes, responsive app shells, accessibility checks, and support for Compose, Flutter, CSS, and JSON outputs.

### Source excerpt

A practical guide to material-3-skill -- components, theme generation, the 10-category MD3 audit, and the real Compose bugs it catches in production code.

## Your AI Coding Rules Should Not Live in Cursor Rules

DevFeed: [Your AI Coding Rules Should Not Live in Cursor Rules](<https://devfeed.tech/articles/your-ai-coding-rules-should-not-live-in-cursor-rules-25170.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/05/29/ai-coding-rules-should-not-live-in-cursor-rules/>)

Author: Ivan Morgillo

Published: 2026-05-29T16:42:19Z

Content type: opinion

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [rails](<https://devfeed.tech/tags/rails.md>)

### AI overview

The author argues that AI coding instructions should not be maintained separately in editor-specific files. Instead, shared development standards for Rails and Flutter projects should live in versioned Markdown files, while tool-specific files act as adapters and local project rules handle exceptions.

### Source excerpt

I stopped treating editor-specific AI rule files as the source of truth and moved my Rails and Flutter standards into plain Markdown that Cursor, Claude, Codex, Copilot, and future agents can all discover.

## A 10 GB Memory Leak Killed My Bluetooth Trackpad: bluetoothd -experimental on Ubuntu

DevFeed: [A 10 GB Memory Leak Killed My Bluetooth Trackpad: bluetoothd -experimental on Ubuntu](<https://devfeed.tech/articles/a-10-gb-memory-leak-killed-my-bluetooth-trackpad-bluetoothd-experimental-on-ubuntu-25168.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/05/27/bluetoothd-memory-leak-experimental-flag-ubuntu/>)

Author: Ivan Morgillo

Published: 2026-05-27T10:09:00Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [Memory Leaks](<https://devfeed.tech/topics/memory-leaks.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [apple-magic-trackpad](<https://devfeed.tech/tags/apple-magic-trackpad.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [memory-leak](<https://devfeed.tech/tags/memory-leak.md>), [process](<https://devfeed.tech/tags/process.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

The article investigates a bluetoothd memory leak on Ubuntu 25.10 associated with the -experimental flag. It describes a Bluetooth trackpad failure after three days of uptime, reports bluetoothd using 10.3 GB of RAM, and presents diagnostic commands and a one-line fix.

### Source excerpt

How a runaway bluetoothd process -- silently leaking memory for three days under the -experimental flag -- quietly killed my Apple Magic Trackpad on Ubuntu 25.10, what the symptoms looked like, and the one-line fix that brought everything back.

## How I Run My Daily Standup on a Local LLM: Git, Gemma 4, llama.cpp and Telegram

DevFeed: [How I Run My Daily Standup on a Local LLM: Git, Gemma 4, llama.cpp and Telegram](<https://devfeed.tech/articles/how-i-run-my-daily-standup-on-a-local-llm-git-gemma-4-llama-cpp-and-telegram-25169.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/05/27/daily-standup-pipeline-local-gemma-llama-cpp-telegram/>)

Author: Ivan Morgillo

Published: 2026-05-27T09:51:06Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [gemma4](<https://devfeed.tech/topics/gemma4.md>), [llama.cpp](<https://devfeed.tech/topics/llama-cpp.md>), [Git](<https://devfeed.tech/topics/git.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [API](<https://devfeed.tech/topics/api.md>), [Claude](<https://devfeed.tech/topics/claude.md>)

Tags: [anthropic](<https://devfeed.tech/tags/anthropic.md>), [api](<https://devfeed.tech/tags/api.md>), [claude](<https://devfeed.tech/tags/claude.md>), [gemma](<https://devfeed.tech/tags/gemma.md>), [gemma-4](<https://devfeed.tech/tags/gemma-4.md>), [git](<https://devfeed.tech/tags/git.md>), [llama-cpp](<https://devfeed.tech/tags/llama-cpp.md>), [llm](<https://devfeed.tech/tags/llm.md>), [local](<https://devfeed.tech/tags/local.md>), [local-llm](<https://devfeed.tech/tags/local-llm.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [telegram](<https://devfeed.tech/tags/telegram.md>)

### AI overview

A developer describes replacing a cloud-based daily standup pipeline with a local Gemma 4 E4B model running on llama.cpp. The pipeline reads Git commits, formats them, and posts the summary to Telegram. The article also explains how empty API-key settings caused several automations to use personal Claude subscription authentication instead of the Anthropic API.

### Source excerpt

A real-world pipeline that scans my Git repos every morning, formats the day's commits with a local Gemma 4 E4B on llama.cpp, and posts the summary to Telegram -- no cloud, no API key, no AUP warnings.

## Hacking a $15 LED Matrix with an AI Agent, Python, and a Webcam Feedback Loop

DevFeed: [Hacking a $15 LED Matrix with an AI Agent, Python, and a Webcam Feedback Loop](<https://devfeed.tech/articles/hacking-a-15-led-matrix-with-an-ai-agent-python-and-a-webcam-feedback-loop-25167.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/04/27/hacking-a-15-led-matrix-with-an-ai-agent-python-and-a-webcam-feedback-loop/>)

Author: Ivan Morgillo

Published: 2026-04-27T09:24:54Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Matrix](<https://devfeed.tech/topics/matrix-org.md>), [Python](<https://devfeed.tech/topics/python.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [Hacking](<https://devfeed.tech/topics/hacking.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Three.js webcam](<https://devfeed.tech/topics/three-js-webcam.md>), [Home Assistant](<https://devfeed.tech/topics/home-assistant.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [api](<https://devfeed.tech/tags/api.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [claude](<https://devfeed.tech/tags/claude.md>), [cli](<https://devfeed.tech/tags/cli.md>), [coding](<https://devfeed.tech/tags/coding.md>), [home-assistant](<https://devfeed.tech/tags/home-assistant.md>), [led](<https://devfeed.tech/tags/led.md>), [python](<https://devfeed.tech/tags/python.md>), [webcam](<https://devfeed.tech/tags/webcam.md>)

### AI overview

A hands-on account of controlling a 32x32 Bluetooth RGB LED matrix from Python. The author moves from the Android app and Home Assistant to the pypixelcolor library, then uses Pillow-generated images and orientation adjustments to render text correctly. The article also introduces Claude as an AI coding agent operating through the terminal.

### Source excerpt

I was at Action (the European equivalent of a dollar store for nerds) when I spotted a B.K. Light LED Pixel Board -- a 32x32 RGB LED matrix with Bluetooth, for about 15 euros. The kind of thing you buy first and figure out later. The official Android app works fine. You type text, pick [...]

## Claude Code Persistent Memory: How I Wired Mempalace Into My Telegram Bot

DevFeed: [Claude Code Persistent Memory: How I Wired Mempalace Into My Telegram Bot](<https://devfeed.tech/articles/claude-code-persistent-memory-how-i-wired-mempalace-into-my-telegram-bot-25166.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/04/07/how-i-added-persistent-memory-to-my-claude-code-telegram-bot-in-20-minutes/>)

Author: Ivan Morgillo

Published: 2026-04-07T14:53:59Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [context](<https://devfeed.tech/topics/context.md>), [Bot](<https://devfeed.tech/topics/bot.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [memory](<https://devfeed.tech/tags/memory.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [telegram](<https://devfeed.tech/tags/telegram.md>), [telegram-bot](<https://devfeed.tech/tags/telegram-bot.md>)

### AI overview

The article explains how the author added persistent, searchable memory to a Telegram bot wrapping Claude Code by integrating MemPalace. The approach stores conversation information outside expiring sessions and uses semantic search to retrieve relevant context, avoiding reliance on lossy session summaries.

### Source excerpt

Claude Code forgets everything between sessions. Here's how I added persistent memory across conversations with Mempalace, wired into a Telegram bot.

## Apple Magic Trackpad on Linux: How I Made It Work on Ubuntu XFCE

DevFeed: [Apple Magic Trackpad on Linux: How I Made It Work on Ubuntu XFCE](<https://devfeed.tech/articles/apple-magic-trackpad-on-linux-how-i-made-it-work-on-ubuntu-xfce-25165.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2026/01/17/i-made-apples-magic-trackpad-work-on-ubuntu-xfce/>)

Author: Ivan Morgillo

Published: 2026-01-17T10:53:57Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [xfce](<https://devfeed.tech/topics/xfce.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [apple-magic-trackpad](<https://devfeed.tech/tags/apple-magic-trackpad.md>), [bluez](<https://devfeed.tech/tags/bluez.md>), [ergonomics](<https://devfeed.tech/tags/ergonomics.md>), [guide](<https://devfeed.tech/tags/guide.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [libinput](<https://devfeed.tech/tags/libinput.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [troubleshooting](<https://devfeed.tech/tags/troubleshooting.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [xfce](<https://devfeed.tech/tags/xfce.md>)

### AI overview

A practical guide to using Apple's Magic Trackpad as the main pointing device on Ubuntu XFCE. It covers BlueZ configuration, libinput tuning, persistent settings, scrolling and right-click behavior, battery monitoring, and troubleshooting, including a kernel 6.17 battery regression.

### Source excerpt

Get the Apple Magic Trackpad working on Linux: a guide for Ubuntu XFCE with BlueZ fixes, libinput tuning, autostart, battery indicator, and troubleshooting.

## Fixing black screens after suspend on Ubuntu 25.10 with NVIDIA 580 drivers

DevFeed: [Fixing black screens after suspend on Ubuntu 25.10 with NVIDIA 580 drivers](<https://devfeed.tech/articles/when-ubuntu-updates-break-nvidia-again-25164.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2025/12/11/when-ubuntu-updates-break-nvidia-again/>)

Author: Ivan Morgillo

Published: 2025-12-11T09:18:40Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Nvidia](<https://devfeed.tech/topics/nvidia.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [boot](<https://devfeed.tech/topics/boot.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [xfce](<https://devfeed.tech/topics/xfce.md>)

Tags: [black-screen](<https://devfeed.tech/tags/black-screen.md>), [config](<https://devfeed.tech/tags/config.md>), [driver-fix](<https://devfeed.tech/tags/driver-fix.md>), [drivers](<https://devfeed.tech/tags/drivers.md>), [grub](<https://devfeed.tech/tags/grub.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [nvidia](<https://devfeed.tech/tags/nvidia.md>), [suspend](<https://devfeed.tech/tags/suspend.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [updates](<https://devfeed.tech/tags/updates.md>), [xfce](<https://devfeed.tech/tags/xfce.md>)

### AI overview

This tutorial describes a black screen occurring when an Ubuntu system resumes from suspend with NVIDIA drivers. For Ubuntu 25.10 and NVIDIA 580 drivers, it reports that disabling NVIDIA DRM modesetting in the GRUB configuration resolved the issue and preserved the XFCE session after wake-up.

### Source excerpt

Every now and then I update Ubuntu, sip my coffee, install all-the-things... and everything looks fine. Until I suspend. Because of course the moment the PC suspends, NVIDIA decides to have an existential crisis. I start the machine again and black screen. GODDAMMIT! This happened again today, and because Future Me will not remember any [...]

## How to Add "Convert to GIF" to Thunar on Linux (XFCE)

DevFeed: [How to Add "Convert to GIF" to Thunar on Linux (XFCE)](<https://devfeed.tech/articles/how-to-add-convert-to-gif-to-thunar-on-linux-xfce-25163.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2025/11/12/how-to-add-convert-to-gif-to-thunar-on-linux-xfce/>)

Author: Ivan Morgillo

Published: 2025-11-12T09:05:34Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [xfce](<https://devfeed.tech/topics/xfce.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>)

Tags: [custom-action](<https://devfeed.tech/tags/custom-action.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [gif](<https://devfeed.tech/tags/gif.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>), [script](<https://devfeed.tech/tags/script.md>), [shell](<https://devfeed.tech/tags/shell.md>), [shell-script](<https://devfeed.tech/tags/shell-script.md>), [thunar](<https://devfeed.tech/tags/thunar.md>), [video](<https://devfeed.tech/tags/video.md>), [xfce](<https://devfeed.tech/tags/xfce.md>)

### AI overview

A tutorial for adding a right-click Convert to GIF action to the Thunar file manager on Linux XFCE. It uses FFmpeg, Zenity, libnotify-bin, and a shell script to convert video files to GIFs.

### Source excerpt

Add a right-click Convert to GIF action to the Thunar file manager on Linux XFCE using FFmpeg and a shell script -- turn any video into a GIF in two clicks.

## Run GitHub Actions Workflows Locally with Self-Hosted Runners

DevFeed: [Run GitHub Actions Workflows Locally with Self-Hosted Runners](<https://devfeed.tech/articles/run-github-actions-on-your-own-machine-no-cloud-required-kinda-25162.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2025/08/26/run-github-actions-on-your-own-machine-no-cloud-required-kinda/>)

Author: Ivan Morgillo

Published: 2025-08-26T13:34:43Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [ci](<https://devfeed.tech/tags/ci.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [developer-tooling](<https://devfeed.tech/tags/developer-tooling.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [local-ci](<https://devfeed.tech/tags/local-ci.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [self-hosted-runner](<https://devfeed.tech/tags/self-hosted-runner.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

A tutorial on running GitHub Actions workflows locally with self-hosted runners to reduce cloud queue wait times and CI costs for Android and mobile projects.

### Source excerpt

How to run GitHub Actions workflows locally using self-hosted runners, cutting cloud queue wait times and CI costs for Android and mobile projects.

## Bringing DHH's Omakub to WSL2?

DevFeed: [Bringing DHH's Omakub to WSL2?](<https://devfeed.tech/articles/bringing-dhh-s-omakub-to-wsl2-25161.md>)

Original publisher: [Read original article](<https://www.ivanmorgillo.com/2024/11/05/bringing-dhhs-omakub-to-wsl2/>)

Author: Ivan Morgillo

Published: 2024-11-05T18:15:59Z

Content type: tutorial

Language: en

Sources: [Ivan Morgillo](<https://devfeed.tech/sources/ivan-morgillo.md>)

Topics: [Windows Subsystem for Linux](<https://devfeed.tech/topics/wsl.md>), [WSL2](<https://devfeed.tech/topics/wsl2.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [PowerShell](<https://devfeed.tech/topics/powershell.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [alacritty](<https://devfeed.tech/tags/alacritty.md>), [developer-setup](<https://devfeed.tech/tags/developer-setup.md>), [linux](<https://devfeed.tech/tags/linux.md>), [omakub](<https://devfeed.tech/tags/omakub.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [rust](<https://devfeed.tech/tags/rust.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [windows](<https://devfeed.tech/tags/windows.md>), [wsl](<https://devfeed.tech/tags/wsl.md>), [wsl2](<https://devfeed.tech/tags/wsl2.md>), [zellij](<https://devfeed.tech/tags/zellij.md>)

### AI overview

A tutorial on setting up a WSL2 developer environment inspired by DHH's Omakub, including Alacritty, Zellij, Cargo, Ubuntu, and the Tokyo Night theme.

### Source excerpt

Setting up a developer environment on WSL2 with Alacritty, Zellij, Cargo and the Tokyo Night theme inspired by DHH's Omakub.