The way tagpages of topic (top:) tags are displayed is pretty much complete and the way I intended it to look when I first thought of splitting blog entry tags into two tag types. Basically, categories (cat: tags) are like classic tags in blogs: a way to add keywords to entries and list all entries that are tagged with that keyword. Topic tags on the other hand are meant to tag entries that talk about a certain topic about which a visitor might want to read up regardless of when individual entries on the topic have been posted. A topic tapage represents an index on a topic. It lists all the entries that are relevant to the topic in a structured way. You could write a book, one chapter per blog entry and have it simultaniously presented as a weblog (with category tags) and as a orderly indexed book in which visitors up a certain chapter. I still have to make up my mind on how I want to structure my own blog entries. But the fuctionality in the software is there. I will very likely also add another feature that enables structuring entries and pages into custom menues. So the options for web site builders will be grand with this weird took.
SBWG 0.8.6-wip Entry created on 2021-03-22 author:steeph (372) cat:Bash (31) cat:Code (31) cat:Computer (78) cat:Linux (36) cat:Projects (41) cat:SBWG (18) cat:Scripts (28) cat:Software (53) lang:en (254) top:Projects:Code:Bash Scripts:SBWG (16)
By now the initial introduction of SBWG that I've written in the first entry in this category is not only incomplete but in its details largely obsolete. SBWG matured a great deal in the last months and I feel like publishing a new version. I have started documenting stuff properly in the README and other files included in the package since I have a set goal for version 1.0. I will likely add no new features until I have made something that I can satidfyingly call version 1.0. Right now I'm in between versions 0.8.6 and 0.8.7. I call in-between version wip (work in progress). I feel like publishing what I have so far right now. So here is a wip version: 0.8.6-wip.
Bash Dotfiles Entry created on 2020-11-01 (edited 2021-03-22) author:steeph (372) cat:Bash (31) cat:Code (31) cat:Computer (78) cat:Dotfiles (2) cat:Linux (36) cat:Scripts (28) cat:Software (53) lang:en (254) top:Projects (59) top:Projects:Code:Bash Scripts (23)
I've finally taken some time to overhaul my dotfiles. I took a lot from git repositories and reddit posts that I've found and added some functions and aliases myself. I'm using Bash 4 and haven't tested any of this with any other shell. I've removed and redacted personal lines.
There are a lot of dotfiles that other's have shared that would be worth sharing here. But it's easy to find those and I don't know what you'd like or not. So I'll point out just one simple project, "Sensible Bash by Mattia Tezzele, that attempts to set saner Bash defaults.
moviefy.sh - Make Bash Output like It's The 80s And We're In Hollywood Entry created on 2020-09-27 author:steeph (372) cat:Bash (31) cat:Code (31) cat:Computer (78) cat:Linux (36) cat:Scripts (28) cat:Software (53) lang:en (254) top:Projects:Code:Bash Scripts (23)
Source this script in Bash to make unformatted output of commands appear on screen slowly, accompanied by beeping galore.
source moviefy.sh or . moviefy.sh. Every command executed after that will be moviefied. There is no way to turn it off again. (Just exit.) Please note that formatted output may be mangled or it may crash the script. Curses stuff won't work.
#!/bin/bash
export LC_ALL=C
exec > >\
(while IFS= read -d '' -r line; do
if [[ -n $line ]]; then
echo
for (( i=0; i<${#line}; i++ )); do
char="${line:$i:1}"
printf '%c' "$char"
case $char in
[" "]) sleep 0.04
;;
[$'\t']) sleep 0.08
;;
[$'\v']) sleep 0.7
;;
[$'\n'$'\r'$'\f']) sleep 0.25
;;
*) beep -f $(shuf -i 3000-3200 -n 1) -l 5
sleep 0.015
;;
esac
done
printf "${PS1@P}"
printf ""
fi
done)
PROMPT_COMMAND='printf "\0"'
Backup Shell Script Entry created on 2020-09-11 (edited 2020-09-27) author:steeph (372) cat:Backups (4) cat:Bash (31) cat:Code (31) cat:Computer (78) cat:Linux (36) cat:Projects (41) cat:Scripts (28) cat:Software (53) lang:en (254) top:Projects:Code (26)
This is an outdated version of my backup script. I've posted a newer version here.
Here is an updated, more versatile version of the simple backup script I posted before. It takes arguments now (wow)! So now you need only one backup.sh and in your cron tab or similar you can pass it the directory you would like to back up.
For example backup.sh /home/user UsersHomeDir will back up the home directory of user to the predefined location.
In preperation you only need to mount the drive you would like to back up to and enter the mount point (or a path inside it) at the top of the script (variable $BUDIR). In this destination folder (which can be an external drive or a NAS) backups are organised in directories named by the host name of the machine the script was executed on and the name of the backup job (the second argument). By default it will keep 8 incremental backups per backup name. This can be changed with the variable $NUM.
If you give the script only one argument it will interpret it as a name of a file that contains the directories that you want to back up.
If you pass no argument to the script it will look for such a file in the location that is pre-defined at the top of the script (variable $LIST).