systemd-lsp 🦀; oh-my-logo; Mercure
First day back at $WORK in a week and an inordinate number of little grey cells have been required to get back into the swing of things. Hence, yet-another Drop with no theme, but three useful resources in their own individual right.
TL;DR
(This is an LLM/GPT-generated summary of today’s Drop using Ollama + Qwen 3 and a custom prompt.)
- A Rust-based LSP tool for systemd unit files offering syntax analysis, diagnostics, autocompletion, and formatting (https://github.com/JFryy/systemd-lsp)
- A Node.js CLI tool for generating colorful ASCII art logos with customizable gradients and fonts (https://www.npmjs.com/package/oh-my-logo)
- An open protocol for real-time data updates using HTTP and Server-Sent Events, suitable for web and mobile apps (https://mercure.rocks/docs)
systemd-lsp 🦀

I compose more systemd unit files than I care to disclose and caught wind of this new Rust-based one the other day. It looks like a big improvement on attempts by others, and provides comprehensive support for working with systemd configuration files. It offers full syntax analysis through complete parsing of unit file structure, and includes robust diagnostics capabilities that detect errors, validate configurations, and provide helpful warnings to prevent common mistakes.
It also features context-aware autocompletion that suggests appropriate sections and directives based on the current editing context. Rich documentation support (🙏) is available through hover information and go-to-definition functionality, making it easier to understand and navigate complex configurations. The tool also includes automated code formatting to maintain consistent styling across systemd unit files.
James designed it so it works for Linux, macOS, and Windows folks. Being Rust-based, itt comes as a single, self-contained binary with no external dependencies. While it is fully LSP compliant (and I verified it works in neovim), Zed requires one to write an extension to use such beasts, which I may be trying to vibe code later this week.
oh-my-logo

oh-my-logo (GH) is a Node.js CLI and library tool for generating vibrant ASCII art logos with gradient colors directly in your terminal. It makes some bonkers cool banners/header.
There are two distinct rendering modes: outlined ASCII art or filled block characters, and comes with thirteen built-in color palettes, including gradients like sunset, ocean, matrix, and gold, each of which were very obviously carefully crafted. You can customize the gradient direction with support for vertical, horizontal, and diagonal orientations, and the tool handles multi-line text effortlessly for creating complex logos. Fonts and color schemes are also hihgly customizable.
It is also the rare gem of an CLI JS utility with zero dependencies, making it runnable via npx without any build or installation steps. You can even use it as a library in JavaScript and TypeScript projects.
Make. Banners. Great. Again!
Mercure

I’m just getting to wrap my noggin around this (RFC) (GH), as the MCP craze has re-upped my interest in [Server Sent Events](https://en.wikipedia.org/wiki/Server-sent_events, and I found Mercure intriguing. So, you get my lightly edit Joplin notes until I get some time to use it (or abandon it). The power efficiency is what intrigued me the most as there are a number of low-power, mobile-tech projects I’m monitoring in case the need truly arises for alternate comms channels in the U.S.
Mercure is an open protocol designed for pushing real-time data updates from servers to web browsers and other HTTP clients. Its primary goal is to enable fast, reliable, and battery-efficient delivery of updates, making it especially suitable for modern web and mobile applications that require real-time interactivity—such as live dashboards, collaborative editing, notifications, and chat systems.
It is positioned as a modern alternative to WebSockets and polling, and leverages standard HTTP and Server-Sent Events (SSE). It seems particularly effective for streaming and asynchronous updates in REST and GraphQL APIs.
Protocol features include:
- Built on HTTP and SSE: No special libraries or SDKs are required for clients; modern browsers support SSE natively.
- Real-time Updates: Efficiently broadcasts updates to all subscribed clients as soon as server-side data changes.
- JWT-based Authorization: Securely dispatches updates to selected subscribers using JSON Web Tokens.
- Automatic Reconnection: Handles network interruptions gracefully, allowing clients to refetch missed messages.
- Multiplexing and Performance: Designed to take advantage of HTTP/2 and HTTP/3 for high performance and low latency.
- Encryption and Security: Supports message encryption and robust authorization mechanisms.
- Compatibility: Works with a wide range of environments, including serverless architectures and legacy systems.
- Open Source and Commercial Options: Free reference server (written in Go), commercial high-availability versions, and managed services are available.
How Mercure works:
- Publishing Updates: The server (or any authorized publisher) sends updates to a Mercure hub using HTTP POST requests.
- Subscription: Clients subscribe to topics via SSE by connecting to the hub and specifying the topics they are interested in.
- Broadcast: The hub pushes updates to all connected clients subscribed to the relevant topics in real time.
Mercure is often used alongside frameworks which provide built-in support for detecting data changes and dispatching updates through the Mercure hub.
Use cases include:
- Live content updates (news feeds, dashboards)
- Collaborative editing (documents, code)
- Real-time notifications and alerts
- Chat and messaging applications
- IoT device updates
Unfortunately, it never became an official internet standard, but the linked Go implementation does work, and the protocol is feature complete.
FIN
Remember, you can follow and interact with the full text of The Daily Drop’s free posts on:
- 🐘 Mastodon via
@dailydrop.hrbrmstr.dev@dailydrop.hrbrmstr.dev - 🦋 Bluesky via
https://bsky.app/profile/dailydrop.hrbrmstr.dev.web.brid.gy
☮️
Leave a comment