136 private links
cbonsai is a bonsai tree generator, written in C using ncurses. It intelligently creates, colors, and positions a bonsai tree, and is entirely configurable via CLI options-- see usage. There are 2 modes of operation: static (see finished bonsai tree), and live (see growth step-by-step).
Welcome to the ⋱Neo⋱-MC project! The goals of it are to:
make the hidden gem – mcedit – shine and grow to be able to compete with Vim and Emacs,
add a scripting language to mcedit and mc to make this possible,
add some meaningful plugins written in the scripting language.
Check out MCEditWishList for a curated list of the planned enhancements.
I check the v4.1 manpage: "Ranges or lists of names are not allowed."
And the crontab entry parsing source sports a familiar phrase:
/ no numbers, look for a string if we have any /
So vixie-cron v4.1 seems to support named weekday & month ranges & lists, same as cronie.
But then I vaguely seemed to remember seeing Paul Vixie's name on #techtwitter somewhere... and sure enough: @paulvixie
.
So... let's DM him. (Why not? Maybe he's as bored as I am.)
The goto shell utility allows users to navigate to aliased directories and also supports autocompletion.
How it works
Before you can use goto, you need to register your directory aliases. For example:
goto -r dev /home/iridakos/development
then change to that directory, e.g.:
goto dev
goto.gif
goto demo
Autocompletion in goto
goto comes with a nice autocompletion script—whenever you press the Tab key after the goto command, Bash or Zsh will prompt you with suggestions of the aliases that are available:
GitHub has just beta-released GitHub CLI, an open-source tool that allows developers to work with issues and pull requests from the command line. Written in Go, GitHub CLI can be installed on Linux, macOS, and Windows.
Using GitHub CLI, developers will be able to list open issues and filter them based on assignee, label, and state; to create pull requests; to check out pull requests locally; to view the status of your work, and more.
I also use a tool called Storm, which helps you add SSH connections to your SSH config, so you don’t have to remember them all. Y
A nice feature I’ve become used to in the last year is a so-called “smart directory changer” that keeps track of the directories you change into, and then lets you jump to popular ones quickly, using fragments of the path to find the right location.
There is quite some prior art in this, such as autojump, fasd or z, but I could not resist building my own implementation of it, optimized for zsh.
For bureaucratic reasons, a colleague of mine had to print, sign, scan and send by email a high number of pages. To save trees, ink, time, and to stick it to the bureaucrats, I wrote this script.
An IT-etymology/linuxguistics page for people wondering "how come the package yasysmand-cling has such a strange name?"
Giving cryptic names to software is a well-established UNIX tradition, and the explanations are often missing from the documentation, either because the developers imagine it's obvious (usually wrongly) or because they think nobody cares (and here they're usually right, or it would turn up as FAQ material).
After RTFM’ing, I realized, under the hood, systemd just runs mount command to mount the specified partition with the specified mount options listed in the mount unit file. Basically, you need to specify the following options in your unit file:
What= a partition name, path or UUID to mount
Where= an absolute path of a directory i.e. path to a mount point. If the mount point is non-existent, it will be created
Type= file system type. In most cases mount command auto-detects the file system
Options= Mount options to use when mounting
In the end, you can convert your typical fstab entry such as this:
UUID=86fef3b2-bdc9-47fa-bbb1-4e528a89d222 /mnt/backups ext4 defaults 0 0
to:
[Mount]
What=/dev/disk/by-uuid/86fef3b2-bdc9-47fa-bbb1-4e528a89d222
Where=/mnt/backups
Type=ext4
Options=defaults
You stuffed command shell with aliases, tools and colors but you lose it all when using ssh. The mission of xxh is to bring your favorite shell wherever you go through ssh without root access and system installations.
If you like the idea of xxh click star on the repo and tweet now.
Blazing fast terminal client for git written in Rust
Features
Fast and intuitive keyboard only control
Context based help (no need to memorize tons of hot-keys)
Inspect, commit, and amend changes (incl. hooks: commit-msg/post-commit)
Stage, unstage, revert and reset files and hunks
Stashing (save, apply, drop, and inspect)
Push to remote
Branch List (create, rename, delete)
Browse commit log, diff committed changes
Scalable terminal UI layout
Async input polling
Async git API for fluid control
The cat (short for concatenate) command is one of the most frequently used flexible commands on Linux and Unix-like operating systems. Say hello to bat Linux command, which is a cat command written in Rust programming language. The bat command comes with syntax highlighting, git integration, and works as is a drop-in cat command replacement. Let us see how to install bat on Linux and Unix system for fun and profit.
Map lets you process each line from stdin with a command of your choice. For example:
Note that the command must be wrapped in single quotes to prevent the variable from being expanded by the shell.
There are many ways to accomplish what you can do with map, including find, xargs, awk, and shell for-loops. The approach taken by map is extremely pragmatic and allows me to express concisely what I want. Given the fact that it's designed as a filter, it can operate on any kind of list, not only lists of files.
The problem that prompted me to think about map was the following: given a list of files, I wanted to execute two commands on each. Here's how you can do it with different tools:
This article will teach you how to create and use these five types of aliases:
Simple Aliases
Suffix Aliases
Functions for Aliases With Parameters
Global Aliases
Operating system specific aliases
Easy to use and install.
Multiple cursors.
Common keybindings (Ctrl-s, Ctrl-c, Ctrl-v, Ctrl-z, …).
Sane defaults.
Splits and tabs.
Extremely good mouse support.
Cross-platform (it should work on all the platforms Go runs on).
Plugin system (plugins are written in Lua).
Built-in diff gutter.
Simple autocompletion.
Persistent undo.
Automatic linting and error notifications.
Syntax highlighting for over 130 languages.
Color scheme support.
True color support (set the MICRO_TRUECOLOR environment variable to 1 to enable it).
Copy and paste with the system clipboard.
Small and simple.
Easily configurable.
Macros.
Common editor features such as undo/redo, line numbers, Unicode support, soft wrapping, …
With DB you can very easily save, restore, and archive snapshots of your database from the command line. It supports connecting to different database servers (for example a local development server and a staging or production server) and allows you to load a database dump from one environment into another environment.
For now, this is for MySQL only, but it could be extended to be used with other database systems as well.
Last month, I wrote an article sharing seven Rust-powered command-line utilities.
Those are modern and fast tools you can use every day with your terminal.
Since publishing that original article, I’ve been searching for more Rust-powered command-line utilities, and I discovered more gems that I’m excited to share with you today.
These tools will help you be productive with your terminal work.
This looks like an interesting vim
plugin: it gives you tips, as you type,
on how to improve/shorten the actions you're doing. It's like the Clippy
helper on Windows, but actually useful!
Would your command read well in a poem?
Ah, bitter chill it was!
The owl, for all his awk, was a-cold;
The gunicorn limp’d trembling through the frozen grass,
And silent was the yacc in woolly fold
—Paraphrased from John Keats, The Eve of St. Agnes
Hey it’s just a rule of thumb, but notice how the command AssetCacheTetheratorUtil (added to macOS in 2017) would never fly here.