1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
---
title: Pastebin
date: 2023-05-19
url: pastebin.html
draft: false
---
*No additional explanation provided here. Use blog for more detailed stuff.*
**▒ Change permissions of all files matching a pattern recursively**
```sh
find . -type f -name "*.xml" -exec chmod -x {} +
```
**▒ Previews how man page written in Troff will look like**
```sh
# On Linux system.
groff -man -Tascii filename
# On Plan9 system.
man 1 filename
```
**▒ Convert all MKV files into WebM format**
```sh
find ./ -name '*.mkv' -exec bash -c 'ffmpeg -i "$0" -vcodec libvpx -acodec libvorbis -cpu-used 5 -threads 8 "${0%%.mp4}.webm"' {} \;
```
**▒ Convert all MKV files into MP4 format**
```sh
find ./ -name '*.mkv' -exec bash -c 'ffmpeg -i "$0" c:a copy -c:v copy -cpu-used 5 -threads 8 "${0%%.mp4}.mp4"' {} \;
```
**▒ Download list of YouTube files**
```js
// Used to get list of raw URL's from YouTube's video tab'.
// Copy them into videos.txt.
document.querySelectorAll('#contents a.ytd-thumbnail.style-scope.ytd-thumbnail').forEach(el => console.log(el.href))
```
Download and install https://github.com/yt-dlp/yt-dlp.
```sh
yt-dlp --batch-file videos.txt -N `nproc` -f webm
```
**▒ Install Plan9port on Linux**
```sh
sudo apt-get install gcc libx11-dev libxt-dev libxext-dev libfontconfig1-dev
git clone https://github.com/9fans/plan9port $HOME/plan9
cd $HOME/plan9/plan9port
./INSTALL -r $HOME/plan9
```
**▒ Fix bootloader not being written in Plan9**
If the bootloader is not being written to a disk when installing 9front on
real harware try clearing first sector of the disk with the following command.
```sh
dd if=/dev/zero of=/dev/sdX bs=512 count=1
# If command above doesn't work try this one, wait couple of seconds and
# press delete key to stop the command.
cat </dev/zero >/dev/sd*/data
```
**▒ Take a screenshot in Plan9**
```sh
cat /dev/screen | topng > screen.png
```
**▒ #cat-v on weechat configuration**
```sh
# Install weechat and launch it and execute the following commands.
/server add oftc irc.oftc.net -tls
/set irc.server.oftc.autoconnect on
/set irc.server.oftc.autojoin "#cat-v"
/set irc.server.oftc.nicks "nick1,nick2,nick3"
```
**▒ Write ISO to USB Key**
```sh
sudo dd if=iso_file.iso of=/dev/sdX bs=4M status=progress conv=fdatasync
```
**▒ Mount Plan9 over network**
- First install `libfuse` with `sudo apt install libfuse-dev`.
- Then clone https://github.com/ftrvxmtrx/9pfs and compile it with `make`.
- Copy `9pfs` to your path.
```sh
# On Plan9 side
ip/ipconfig # enables network
aux/listen1 -tv tcp!*!9999 /bin/exportfs -r tmp # export tmp folder
# On Linux side
9pfs 172.18.0.1 -p 9999 local_folder # mount
umount local_folder # unmount
```
**▒ Push to multiple origins at once in Git**
```sh
git config --global alias.pushall '!sh -c "git remote | xargs -L1 git push --all"'
```
**▒ Run 9front in Qemu**
Download from here http://9front.org/iso/.
```sh
# Create a qcow2 image.
qemu-img create -f qcow2 $HOME/VM/9front.qcow2.img 30G
# Run the VM.
qemu-system-x86_64 -cpu host -enable-kvm -m 1024 \
-net nic,model=virtio,macaddr=52:54:00:00:EE:03 -net user \
-device virtio-scsi-pci,id=scsi \
-drive if=none,id=vd0,file=$HOME/VM/9front.qcow2.img \
-device scsi-hd,drive=vd0 \
-drive if=none,id=vd1,file=$HOME/VM/ISO/9front.386.iso \
-device scsi-cd,drive=vd1,bootindex=0
```
|