khal; Vdir/vdirsyncer; neofetch
We’ll be digging into more Observable Framework, including working with it and WebR, this weekend, so no WPE today. And, since it’s “Spring Forward”, I thought a time-centric issue was in order (save for the last section).
TL;DR
(This is an AI-generated summary of today’s Drop)
I gave Claude-3 a shot at this today and used the ame prompt I use with Perplexity. Here are the results without any editing at all.
- khal: A standards-based CLI calendar program that aligns with the Vdir storage format. (https://lostpackets.de/khal/, https://github.com/pimutils/khal)
- Vdir/vdirsyncer: A standard (Vdir) and tooling (vdirsyncer) for synchronizing calendars and contacts across platforms and devices. (https://vdirsyncer.readthedocs.io/en/stable/vdir.html, https://github.com/pimutils/vdirsyncer)
- neofetch: A command-line system information tool that displays system details and an ASCII logo/image. (https://github.com/dylanaraps/neofetch)
khal
The khal
(GH) CLI utility is a “standards based CLI (console) calendar program.” By “standards based” it means it aligns with the Vdir storage format, which defines a standard for storing calendars and contacts on a filesystem (tap into the next section for details on that ecosystem…we’re focusing on the basics of khal
in this one).
While Khal can be your calendar event creator, I use it primarily to see my work calendar from the command line (vs. two-way sync). Speaking of the CLI, here are Khal’s options (this will likely look horrible, so make sure to run --help
):
Usage: khal [OPTIONS] COMMAND [ARGS]...
Options:
-v, --verbosity LVL Either CRITICAL, ERROR, WARNING, INFO or DEBUG
-l, --logfile LOGFILE The logfile to use [defaults to stdout]
-c, --config PATH The config file to use.
--color / --no-color Use colored/uncolored output. Default is to only
enable colors when not part of a pipe.
--version Show the version and exit.
--help Show this message and exit.
Commands:
at Print all events at a specific datetime (defaults to now).
calendar Print calendar with agenda.
configure Helper for initial configuration of khal.
edit Interactively edit (or delete) events matching the...
import Import events from an .ics file (or stdin).
interactive Interactive UI.
list List all events between a start (default: today) and...
new Create a new event from arguments.
printcalendars List all calendars.
printformats Print a date in all formats.
printics Print an ics file (or read from stdin) without...
search Search for events matching SEARCH_STRING.
I really like that Khal does not try to be an all-in-one client for everything. It just does calendar ops.
If I want to know what’s in store for today, it’s just khal list today
.
If I want to see when the next Storm⚡️Watch recording session is, I can khal search stormwatch
.
And, if I want to do bit more exploring, I can use the terminal UI that’s shown in the header.
You don’t need to do any syncing to get started with khal
locally.
I’d blather on more, but, this tool is one of those gems that is simple and just works.
Vdir/vdirsyncer
Vdir and vdirsyncer
are a combination of a standard and tooling that caters to a very specific need: the synchronization and management of calendars and contacts across various platforms and devices.
The vdir standard, as outlined in the aforelinked docs, is a format for storing calendars and contacts on a filesystem. Its primary goal is simplicity and ease of implementation. The command-line tool side of the pair serves as a bridge between the vdir standard and various storage backends, including online services like Google Calendar and local filesystems. Its most common use case involves synchronizing a server with a local folder, allowing users to manage their calendars and contacts with their preferred tools and then sync those changes back to the server. This flexibility is foundational to the tool’s design, which prioritizes user choice and control over their data.
If you’re like me and just need to not use the horrible Google Calendar UX, then this link is for you. Follow those directions to the letter, and you should get an oauth screen when you vdirsyncer discover
. Then just vdirsyncer sync
to catch up with the latest entries.
Otherwise, follow the ace instructions to with the services of your choice and keep your agendas and contacts in sync.
neofetch
This tool has nothing to do with “time”, but it’s a nice way to spruce up your login screen.
The neofetch
utility is a delightful command-line information tool written in good ol’ Bash. It displays information about your system next to an image, your OS logo, or any ASCII file of your choice. It’s been around since ~2015 and has a bonkers number of config options to play with.
The user interface is a static display (it can be set to refresh automatically), but it’s far from boring. On the left, you’ll find the ASCII representation of your operating system’s logo (or whatever you chose to display instead), and on the right, a neatly organized list of system details. This configurable information can include your OS, kernel, uptime, packages, shell, resolution, desktop environment, themes, and more. It’s a snapshot that’s meant to be shared, often finding its place in forums and social media where folks show off their setups.
Make sure to run --help
to see all the ways you can customize it.
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
☮️
Leave a comment