Working some more on the upcoming micropub support feature for Lamb and a side-effect is a nice test suite for other developers to use. #lamb
Sander van Dragt's Notes
-
-
Simple file sharing in 2026
The other day, it took me half an hour to share an HTML file of a blog design from my phone with Claude Code, which was running in an isolated environment. Now I’m not inexperienced when it comes to computers but file sharing on iOS is just needlessly complicated.
Claude code can’t read files shared using iCloud and all the services it suggested like Pastee allow sharing of text but it’s not possible to view the source of an .html file stored in Files on iOS without third party apps. Ultimate I had to push the file into a temporary git repository.
Anyway, what I needed was a simple file share so I whipped up FileShare. Login with an account you setup and create temporary or permanent private and public files
-
Micropub and Lamb sitting in a tree
I'm currently working on adding #Micropub support to #Lamb. This makes posting to Lamb accessible from phones and laptops/desktops, terminal and other places using any client that supports this open standard. This includes photos!
The Micropub protocol is used to create, update and delete posts on one's own domain using third-party clients. Web apps and native apps (e.g., iPhone, Android) can use Micropub to post and edit articles, short notes, comments, likes, photos, events or other kinds of posts on your own website.
It's still work in progress, but it's all very exciting. This post was posted from unicyclic.com for example.
-
lnk - Easy link creator
Today I was thinking about how I am never sure what format to use when creating links to files and directories. Is it symbolic or hard link, should I use absolute or relative paths? So I spent a little time and created link that will guide you through the process or use heuristics, in a standardized
lnk from toformat.lnk is an interactive wrapper around ln that helps you create symbolic and hard links safely. It asks a small set of plain-English questions, explains the decision it makes, shows the equivalent shell command, and only proceeds after confirmation.
Try it out on GitHub. Fun fact: it can be installed by using itself!
-
#TIL
fuser -k 8747/tcpreturns the process that can be killed in its output. -
Lamb 0.7.0
Barrier free super simple blogging, self-hosted.
New Features
- Draft post support — posts can now be saved as drafts before publishing
- Per-tag and home Atom feeds — dedicated Atom feeds for individual tags and the home feed (closes #31)
- Preload entry form — the new post textarea can be pre-filled via a ?text= query string parameter
- Feed ingestion as drafts — incoming feed items are now ingested as drafts by default
- Preconnect hints — support for external origins to improve load times
- Safari Reader View fix — compatibility with Safari's Reader View
Originally written on lamb-releases #lamb #projects
Via lamb-releases -
Lamb 0.6.0
Originally written on lamb-releases:
The goal for a new feature release for Lamb is 3-5 new features.
What's Changed
- Web-Based Configuration Implementation Developed a web-based settings page to replace the existing
config.ini. - Emoji Search Functionality Enhanced the search and tag functionality to support emoji-based URLs.
- Fix Slug/Navigation Bug Resolved the issue with slugs in the navigation menu.
- Pagination Feature Implemented pagination on the website to enhance content accessibility.
- Feed Styles Enhancement. This feature is no longer planned, see #10.
Full Changelog: https://github.com/svandragt/lamb/compare/0.5.4...0.6.0
Via lamb-releases - Web-Based Configuration Implementation Developed a web-based settings page to replace the existing
-
Setting Up Zero Configuration Networking with Avahi on OpenSUSE
Setting up Bonjour / Zero configuration networking using #OpenSUSE Tumbleweed is a little bit more involved than with some other #linux distros such as Ubuntu. It consists of setting up the avahi service, followed by configuring the firewall.
Avahi is a free zero-configuration networking implementation, including a system for multicast DNS and DNS Service Discovery.
It can be installed and setup as follows:
sudo zypper install avahi avahi-autoipd libavahi-client3 libavahi-common3 sudo systemctl start avahi-daemon sudo systemctl enable avahi-daemon sudo systemctl status avahi-daemonHowever I noticed that I still couldn't ping any other devices on the network. This is because the default firewall blocks unconfigured services, which makes sense from a security point of view.
For this we start Yast Firewall
YaST Firewall is a configuration tool in openSUSE and SUSE Linux that allows users to manage firewall settings, including opening ports and defining security zones. It has transitioned to using firewalld as the default firewall management system, which provides a more user-friendly interface for configuring network security.
Step 1: List Networking Interfaces
To begin configuring your firewall, you first need to identify the network interface you wish to work with. Run the following command in the terminal:
ip link showThis command will display a list of all available network interfaces on your system. Look for the interface name associated with your active network connection; it may look something like wlp3s0 or eth0. Make a note of the correct interface name, as you’ll need it in the subsequent steps to configure the firewall settings effectively.
Step 2: Configuring the firewall
Open YaST Firewall, under Interfaces, click custom, then select a zone such as
homeif you're on a home network, and under Interfaces: type the networking interface name from step 1. Then check that under the networking zonemdnsis listed under the allowed column. Accept the configuration changes.You should now be able to ping your other devices!
-
Vertical dock on elementaryOS 8
I prefer my dock on the left side of the screen and the new elementaryOS 8 Wayland compatible dock's design is to explicitly not support that. This is because the dock is visible in the workspace switcher and allows the user to drag windows to other workspaces using the dock.
If you're happy to lose that functionality and are using the Classic login session then you can reinstate Plank as follows:
Disable the Elementary Dock (Correct Way)
Create a user override:
cp /etc/xdg/io.elementary.desktop.wm.shell ~/.config/Edit the file:
nano ~/.config/io.elementary.desktop.wm.shellRemove or comment out the dock block:
[io.elementary.dock] launch-on-x=true args=io.elementary.dockLog out and log back in.
Result: the elementary dock is never started and does not respawn.
Start Plank
Use standard XDG autostart. File: ~/.config/autostart/plank.desktop
[Desktop Entry] Type=Application Name=Plank Exec=plank OnlyShowIn=Pantheon; X-GNOME-Autostart-enabled=true(Optional) Add a small delay if you ever see geometry issues:
Exec=sh -c "sleep 2 && plank"Verification
pgrep -a io.elementary.dock # should produce no output pgrep -a plank # should be running -
Lamb 0.5.4
Lamb is Literally Another Micro Blog – Barrier free super simple blogging, self-hosted.
Originally written on lamb-releases:
Via lamb-releases- The default pagination size was increased so lists show 10 posts per page unless overridden by configuration.
- Pagination was refactored into a single helper that can paginate either an in-memory list or a database query (including optional filtering + bound parameters), and callers were simplified to rely on it for reading the page number and per-page setting.
- Result-building metadata was normalized (naming like total_posts/total_pages, offsets, prev/next page), reducing duplicated counting/offset logic in search and tag flows.
- The UI pagination rendering was enhanced to show a condensed page range with ellipses and to style the current page consistently with links.