summaryrefslogtreecommitdiff
path: root/scripts/unused
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/unused')
-rwxr-xr-xscripts/unused/addressgrep8
-rwxr-xr-xscripts/unused/alg444
-rwxr-xr-xscripts/unused/config-backup28
-rwxr-xr-xscripts/unused/dmenu-mail-aliases29
-rwxr-xr-xscripts/unused/dmenu-websearch8
-rwxr-xr-xscripts/unused/practice170
-rwxr-xr-xscripts/unused/share13
-rwxr-xr-xscripts/unused/translate11
-rwxr-xr-xscripts/unused/websearch11
-rwxr-xr-xscripts/unused/xplumb65
10 files changed, 787 insertions, 0 deletions
diff --git a/scripts/unused/addressgrep b/scripts/unused/addressgrep
new file mode 100755
index 0000000..36b4899
--- /dev/null
+++ b/scripts/unused/addressgrep
@@ -0,0 +1,8 @@
1#!/bin/sh
2
3# Find all email addresses in stdin, print them newline-separated to stdout
4
5reg='[a-z0-9\._\+\-%]+@[a-z0-9\._\+\-%]+\.[a-zA-Z]+'
6
7grep -Pio "$reg"
8
diff --git a/scripts/unused/alg b/scripts/unused/alg
new file mode 100755
index 0000000..cd5d3c8
--- /dev/null
+++ b/scripts/unused/alg
@@ -0,0 +1,444 @@
1#!/bin/sh
2
3# Script to store and access blindsolving algs (speedcubing stuff)
4
5# Example: alg e FG - opens up editor to edit $basedir/edges/$ebuffer/RD/LD
6# Example: alg c UBL E - prints out all first algs for UBL-FDR-*
7
8usage() {
9 echo "Usage:"
10 echo "alg"
11 echo "alg edit (c|e|w|x|t) [buffer] (1 letter|2 letters)"
12 echo "alg export (c|e|w|x|t|all)"
13}
14
15default_editor=vi
16basedir="$HOME/box/speedcubing/bld/algs"
17ebuffer=UR
18cbuffer=UFR
19wbuffer=UFr
20xbuffer=Ubl
21tbuffer=Uf
22
23edge() {
24 [ "$1" = "a" ] && echo FU
25 [ "$1" = "b" ] && echo UF
26 [ "$1" = "c" ] && echo UL
27 [ "$1" = "d" ] && echo UB
28 [ "$1" = "e" ] && echo FD
29 [ "$1" = "f" ] && echo RD
30 [ "$1" = "g" ] && echo LD
31 [ "$1" = "i" ] && echo FR
32 [ "$1" = "j" ] && echo LU
33 [ "$1" = "k" ] && echo RB
34 [ "$1" = "l" ] && echo DF
35 [ "$1" = "m" ] && echo DB
36 [ "$1" = "n" ] && echo DR
37 [ "$1" = "o" ] && echo FL
38 [ "$1" = "p" ] && echo DL
39 [ "$1" = "r" ] && echo BU
40 [ "$1" = "s" ] && echo BD
41 [ "$1" = "t" ] && echo BL
42 [ "$1" = "u" ] && echo BR
43 [ "$1" = "v" ] && echo LF
44 [ "$1" = "w" ] && echo LB
45 [ "$1" = "z" ] && echo RF
46}
47
48corner() {
49 [ "$1" = "a" ] && echo FUL
50 [ "$1" = "b" ] && echo UBL
51 [ "$1" = "c" ] && echo UFL
52 [ "$1" = "d" ] && echo UBR
53 [ "$1" = "e" ] && echo FDR
54 [ "$1" = "f" ] && echo RDB
55 [ "$1" = "g" ] && echo LDF
56 [ "$1" = "j" ] && echo LUF
57 [ "$1" = "k" ] && echo RUB
58 [ "$1" = "l" ] && echo DFR
59 [ "$1" = "m" ] && echo DBR
60 [ "$1" = "n" ] && echo DFL
61 [ "$1" = "o" ] && echo FDL
62 [ "$1" = "p" ] && echo DBL
63 [ "$1" = "r" ] && echo BUR
64 [ "$1" = "s" ] && echo BUL
65 [ "$1" = "t" ] && echo BDL
66 [ "$1" = "u" ] && echo BDR
67 [ "$1" = "v" ] && echo LUB
68 [ "$1" = "w" ] && echo LDB
69 [ "$1" = "z" ] && echo RDF
70}
71
72wing() {
73 [ "$1" = "a" ] && echo FUl
74 [ "$1" = "b" ] && echo URb
75 [ "$1" = "c" ] && echo ULf
76 [ "$1" = "d" ] && echo UBl
77 [ "$1" = "e" ] && echo FDr
78 [ "$1" = "f" ] && echo RDb
79 [ "$1" = "g" ] && echo LDf
80 [ "$1" = "i" ] && echo FRu
81 [ "$1" = "j" ] && echo LUb
82 [ "$1" = "k" ] && echo RBu
83 [ "$1" = "l" ] && echo DFl
84 [ "$1" = "m" ] && echo DBr
85 [ "$1" = "n" ] && echo DRf
86 [ "$1" = "o" ] && echo FLd
87 [ "$1" = "p" ] && echo DLb
88 [ "$1" = "r" ] && echo BUr
89 [ "$1" = "s" ] && echo BDl
90 [ "$1" = "t" ] && echo BLu
91 [ "$1" = "u" ] && echo BRd
92 [ "$1" = "v" ] && echo LFu
93 [ "$1" = "w" ] && echo LBd
94 [ "$1" = "x" ] && echo RUf
95 [ "$1" = "z" ] && echo RFd
96}
97
98xcenter() {
99 [ "$1" = "a" ] && echo Ful
100 [ "$1" = "b" ] && echo Ufr
101 [ "$1" = "c" ] && echo Ufl
102 [ "$1" = "d" ] && echo Ubr
103 [ "$1" = "e" ] && echo Fdr
104 [ "$1" = "f" ] && echo Rdb
105 [ "$1" = "g" ] && echo Ldf
106 [ "$1" = "i" ] && echo Fur
107 [ "$1" = "j" ] && echo Luf
108 [ "$1" = "k" ] && echo Rub
109 [ "$1" = "l" ] && echo Dfr
110 [ "$1" = "m" ] && echo Dbr
111 [ "$1" = "n" ] && echo Dfl
112 [ "$1" = "o" ] && echo Fdl
113 [ "$1" = "p" ] && echo Dbl
114 [ "$1" = "r" ] && echo Bur
115 [ "$1" = "s" ] && echo Bul
116 [ "$1" = "t" ] && echo Bdl
117 [ "$1" = "u" ] && echo Bdr
118 [ "$1" = "v" ] && echo Lub
119 [ "$1" = "w" ] && echo Ldb
120 [ "$1" = "x" ] && echo Ruf
121 [ "$1" = "z" ] && echo Rdf
122}
123
124tcenter() {
125 [ "$1" = "a" ] && echo Fu
126 [ "$1" = "b" ] && echo Ur
127 [ "$1" = "c" ] && echo Ul
128 [ "$1" = "d" ] && echo Ub
129 [ "$1" = "e" ] && echo Fd
130 [ "$1" = "f" ] && echo Rd
131 [ "$1" = "g" ] && echo Ld
132 [ "$1" = "i" ] && echo Fr
133 [ "$1" = "j" ] && echo Lu
134 [ "$1" = "k" ] && echo Rb
135 [ "$1" = "l" ] && echo Df
136 [ "$1" = "m" ] && echo Db
137 [ "$1" = "n" ] && echo Dr
138 [ "$1" = "o" ] && echo Fl
139 [ "$1" = "p" ] && echo Dl
140 [ "$1" = "r" ] && echo Bu
141 [ "$1" = "s" ] && echo Bd
142 [ "$1" = "t" ] && echo Bl
143 [ "$1" = "u" ] && echo Br
144 [ "$1" = "v" ] && echo Lf
145 [ "$1" = "w" ] && echo Lb
146 [ "$1" = "x" ] && echo Ru
147 [ "$1" = "z" ] && echo Rf
148}
149
150edit() {
151 mkdir -p "$basedir/$1/$2/$3"
152 $editor "$basedir/$1/$2/$3/$4"
153}
154
155showall_c() {
156 all_letters="a b c d e f g j k l m n o p r s t u v w z"
157 buffer="$1"
158 firstletter="$2"
159 firsttarget="$(corner $firstletter)"
160 for secondletter in $all_letters; do
161 secondtarget="$(corner $secondletter)"
162 f="$basedir/corners/$buffer/$firsttarget/$secondtarget"
163 [ -f "$f" ] || continue
164 line="$(head -n 1 "$f")"
165 printf '%s %s\n' "$firstletter$secondletter" "$line"
166 done
167}
168
169showall_e() {
170 all_letters="a b c d e f g i j k l m n o p r s t u v w z"
171 buffer="$1"
172 firstletter="$2"
173 firsttarget="$(edge $firstletter)"
174 for secondletter in $all_letters; do
175 secondtarget="$(edge $secondletter)"
176 f="$basedir/edges/$buffer/$firsttarget/$secondtarget"
177 [ -f "$f" ] || continue
178 line="$(head -n 1 "$f")"
179 printf '%s %s\n' "$firstletter$secondletter" "$line"
180 done
181}
182
183showall_w() {
184 all_letters="a b c d e f g i j k l m n o p r s t u v w x z"
185 buffer="$1"
186 firstletter="$2"
187 firsttarget="$(wing $firstletter)"
188 for secondletter in $all_letters; do
189 secondtarget="$(wing $secondletter)"
190 f="$basedir/wings/$buffer/$firsttarget/$secondtarget"
191 [ -f "$f" ] || continue
192 line="$(head -n 1 "$f")"
193 printf '%s %s\n' "$firstletter$secondletter" "$line"
194 done
195}
196
197showall_x() {
198 all_letters="a b c d e f g i j k l m n o p r s t u v w x z"
199 buffer="$1"
200 firstletter="$2"
201 firsttarget="$(xcenter $firstletter)"
202 for secondletter in $all_letters; do
203 secondtarget="$(xcenter $secondletter)"
204 f="$basedir/xcenters/$buffer/$firsttarget/$secondtarget"
205 [ -f "$f" ] || continue
206 line="$(head -n 1 "$f")"
207 printf '%s %s\n' "$firstletter$secondletter" "$line"
208 done
209}
210
211showall_t() {
212 all_letters="a b c d e f g i j k l m n o p r s t u v w x z"
213 buffer="$1"
214 firstletter="$2"
215 firsttarget="$(tcenter $firstletter)"
216 for secondletter in $all_letters; do
217 secondtarget="$(tcenter $secondletter)"
218 f="$basedir/tcenters/$buffer/$firsttarget/$secondtarget"
219 [ -f "$f" ] || continue
220 line="$(head -n 1 "$f")"
221 printf '%s %s\n' "$firstletter$secondletter" "$line"
222 done
223}
224
225export_csv_c() {
226 sorted_letters="d b c l n p m k z f j v w g a o e s r u t"
227 buffer="$cbuffer"
228 f="$basedir/corners/$buffer"
229 printf '"",'
230 for first in $sorted_letters; do
231 printf '"%s",' "$(corner $first)"
232 done
233 printf '\n'
234 for first in $sorted_letters; do
235 firstpiece="$(corner $first)"
236 printf '"%s",' "$firstpiece"
237 for second in $sorted_letters; do
238 g="$f/$firstpiece/$(corner $second)"
239 if [ "$first" = "$second" ] || [ ! -f "$g" ]; then
240 printf '"",'
241 else
242 printf '"%s",' "$(head -n 1 "$g")"
243 fi
244 done
245 printf '\n'
246 done
247}
248
249export_csv_e() {
250 sorted_letters="d c b n l p m k z f v j w g i a o e t r u s"
251 buffer="$ebuffer"
252 f="$basedir/edges/$buffer"
253 printf '"",'
254 for first in $sorted_letters; do
255 printf '"%s",' "$(edge $first)"
256 done
257 printf '\n'
258 for first in $sorted_letters; do
259 firstpiece="$(edge $first)"
260 printf '"%s",' "$firstpiece"
261 for second in $sorted_letters; do
262 g="$f/$firstpiece/$(edge $second)"
263 if [ "$first" = "$second" ] || [ ! -f "$g" ]; then
264 printf '"",'
265 else
266 printf '"%s",' "$(head -n 1 "$g")"
267 fi
268 done
269 printf '\n'
270 done
271}
272
273export_csv_w() {
274 sorted_letters="b d c n l p m k x z f v j w g i a o e t r u s"
275 buffer="$wbuffer"
276 f="$basedir/wings/$buffer"
277 printf '"",'
278 for first in $sorted_letters; do
279 printf '"%s",' "$(wing $first)"
280 done
281 printf '\n'
282 for first in $sorted_letters; do
283 firstpiece="$(wing $first)"
284 printf '"%s",' "$firstpiece"
285 for second in $sorted_letters; do
286 g="$f/$firstpiece/$(wing $second)"
287 if [ "$first" = "$second" ] || [ ! -f "$g" ]; then
288 printf '"",'
289 else
290 printf '"%s",' "$(head -n 1 "$g")"
291 fi
292 done
293 printf '\n'
294 done
295}
296
297export_csv_x() {
298 sorted_letters="d c b l n p m k x z f j v w g i a o e s r u t"
299 buffer="$xbuffer"
300 f="$basedir/xcenters/$buffer"
301 printf '"",'
302 for first in $sorted_letters; do
303 printf '"%s",' "$(xcenter $first)"
304 done
305 printf '\n'
306 for first in $sorted_letters; do
307 firstpiece="$(xcenter $first)"
308 printf '"%s",' "$firstpiece"
309 for second in $sorted_letters; do
310 g="$f/$firstpiece/$(xcenter $second)"
311 if [ "$first" = "$second" ] || [ ! -f "$g" ]; then
312 printf '"",'
313 else
314 printf '"%s",' "$(head -n 1 "$g")"
315 fi
316 done
317 printf '\n'
318 done
319}
320
321export_csv_t() {
322 sorted_letters="d c b l n p m k x z f j v w g i a o e s r u t"
323 buffer="$tbuffer"
324 f="$basedir/tcenters/$buffer"
325 printf '"",'
326 for first in $sorted_letters; do
327 printf '"%s",' "$(tcenter $first)"
328 done
329 printf '\n'
330 for first in $sorted_letters; do
331 firstpiece="$(tcenter $first)"
332 printf '"%s",' "$firstpiece"
333 for second in $sorted_letters; do
334 g="$f/$firstpiece/$(tcenter $second)"
335 if [ "$first" = "$second" ] || [ ! -f "$g" ]; then
336 printf '"",'
337 else
338 printf '"%s",' "$(head -n 1 "$g")"
339 fi
340 done
341 printf '\n'
342 done
343}
344
345run() {
346 case "$1" in
347 edit)
348 editor="$default_editor"
349 shift
350 ;;
351 export)
352 if [ "$2" = "all" ]; then
353 mkdir -p bldsheets
354 export_csv_c > bldsheets/corners.csv
355 export_csv_e > bldsheets/edges.csv
356 export_csv_w > bldsheets/wings.csv
357 export_csv_x > bldsheets/xcenters.csv
358 export_csv_t > bldsheets/tcenters.csv
359 echo "Sheets exported to bldsheets/"
360 return
361 fi
362 #TODO add option for alternative buffers
363 [ "$2" != "c" ] && [ "$2" != "e" ] && \
364 [ "$2" != "w" ] && [ "$2" != "x" ] && \
365 [ "$2" != "t" ] && usage && return
366 export_csv_$2
367 return
368 ;;
369 *)
370 editor="cat"
371 ;;
372 esac
373
374 type="$1"
375 if [ -z "$3" ]; then
376 letters="$2"
377 cbuf="$cbuffer"
378 ebuf="$ebuffer"
379 wbuf="$wbuffer"
380 xbuf="$xbuffer"
381 tbuf="$tbuffer"
382 else
383 letters="$3"
384 cbuf="$2"
385 ebuf="$2"
386 wbuf="$2"
387 xbuf="$2"
388 tbuf="$2"
389 fi
390
391 letter1="$(echo "$letters" | cut -c 1)"
392 letter2="$(echo "$letters" | cut -b 2)"
393
394 [ -z "$letter1" ] && usage && return
395
396 case "$type" in
397 c)
398 if [ -n "$letter2" ]; then
399 edit corners $cbuf $(corner $letter1) $(corner $letter2)
400 else
401 showall_c $cbuf $letter1
402 fi
403 ;;
404 e)
405 if [ -n "$letter2" ]; then
406 edit edges $ebuf $(edge $letter1) $(edge $letter2)
407 else
408 showall_e $ebuf $letter1
409 fi
410 ;;
411 w)
412 if [ -n "$letter2" ]; then
413 edit wings $wbuf $(wing $letter1) $(wing $letter2)
414 else
415 showall_w $wbuf $letter1
416 fi
417 ;;
418 x)
419 if [ -n "$letter2" ]; then
420 edit xcenters $xbuf $(xcenter $letter1) $(xcenter $letter2)
421 else
422 showall_x $xbuf $letter1
423 fi
424 ;;
425 t)
426 if [ -n "$letter2" ]; then
427 edit tcenters $tbuf $(tcenter $letter1) $(tcenter $letter2)
428 else
429 showall_t $tbuf $letter1
430 fi
431 ;;
432 *)
433 usage
434 ;;
435 esac
436}
437
438if [ -n "$1" ]; then
439 run $@
440else
441 while read -r args; do
442 [ -n "$args" ] && run $args
443 done
444fi
diff --git a/scripts/unused/config-backup b/scripts/unused/config-backup
new file mode 100755
index 0000000..87bedeb
--- /dev/null
+++ b/scripts/unused/config-backup
@@ -0,0 +1,28 @@
1#!/bin/sh
2
3# Copy my config files to my backup folder
4
5folder=$HOME/box/configbackups
6
7dotfiles=".bash_profile .bashrc .profile .inputrc .mblaze .nexrc .tmux.conf .virc .xinitrc .config/isyncrc"
8config="colors fontconfig git imv msmtp zathura"
9src="dmenu dwm st"
10
11for d in config home src ssh; do mkdir -p "$folder/$d"; done
12
13# copy
14
15for i in $dotfiles;
16 do cp -Rf "$HOME"/"$i" "$folder"/home/
17done
18
19for i in $config
20 do cp -Rf "$HOME"/.config/"$i" "$folder"/config/
21done
22
23for i in $src
24 do mkdir "$folder"/src/"$i"
25 cp -f "$HOME"/.local/src/"$i"/*.{c,h} "$folder"/src/"$i"/
26done
27
28cp "$HOME"/.ssh/config "$folder"/ssh/
diff --git a/scripts/unused/dmenu-mail-aliases b/scripts/unused/dmenu-mail-aliases
new file mode 100755
index 0000000..76999de
--- /dev/null
+++ b/scripts/unused/dmenu-mail-aliases
@@ -0,0 +1,29 @@
1#!/bin/sh
2
3# Select mail alias via dmenu
4# The email address must be the second word in a line of $aliasfile
5# Requires: dmenu (or similar)
6
7# Usage: dmenu-mail-aliases [-m menu]
8
9usage() {
10 echo "Usage: dmenu-mail-aliases [-m MENU]"
11}
12
13menu="dmenu -l 20"
14aliasfile="$HOME/.mblaze/aliases"
15
16while getopts "m:" opt; do
17 case "$opt" in
18 m)
19 menu="$OPTARG"
20 ;;
21 *)
22 usage
23 exit 1
24 ;;
25 esac
26done
27shift $((OPTIND - 1))
28
29$menu <"$aliasfile" | awk '{print $NF}'
diff --git a/scripts/unused/dmenu-websearch b/scripts/unused/dmenu-websearch
new file mode 100755
index 0000000..a8e6a50
--- /dev/null
+++ b/scripts/unused/dmenu-websearch
@@ -0,0 +1,8 @@
1#!/bin/sh
2
3# dmenu prompt for websearch
4# Requires: dmenu (or similar), websearch
5
6menu=${MENU:-dmenu}
7
8websearch "$(echo "" | $menu -p "websearch:")"
diff --git a/scripts/unused/practice b/scripts/unused/practice
new file mode 100755
index 0000000..628f15b
--- /dev/null
+++ b/scripts/unused/practice
@@ -0,0 +1,170 @@
1#!/bin/sh
2
3# Script based on nissy (see https://nissy.tronto.net) to practice FMC
4
5# Usage: practice [eo|dr|htr|slice]
6
7nissy="nissy"
8prompt="Press enter for a new scramble, Ctr+C (or Ctrl+Z) to quit:"
9
10usage() {
11 echo "Usage: practice [eo|dr|htr|fin]"
12 exit 1
13}
14
15practice_eo() {
16 nextscr="$(${nissy} scramble fmc)"
17 while true; do
18 scr="$nextscr"
19 echo "Scramble: $scr"
20 nextscr="$(${nissy} scramble fmc)"
21 eofb="$(${nissy} solve -N -M 4 eofb -p "$scr")"
22 eorl="$(${nissy} solve -N -M 4 eorl -p "$scr")"
23 eoud="$(${nissy} solve -N -M 4 eoud -p "$scr")"
24 nfbn="$(echo "$eofb" | grep -v '^$' | grep -Fv '(' | wc -l)"
25 nrln="$(echo "$eorl" | grep -v '^$' | grep -Fv '(' | wc -l)"
26 nudn="$(echo "$eoud" | grep -v '^$' | grep -Fv '(' | wc -l)"
27 nfbi="$(echo "$eofb" | grep '^(' | wc -l)"
28 nrli="$(echo "$eorl" | grep '^(' | wc -l)"
29 nudi="$(echo "$eoud" | grep '^(' | wc -l)"
30 nfbniss="$(echo "$eofb" | grep -v '^(' | grep '(' | wc -l)"
31 nrlniss="$(echo "$eorl" | grep -v '^(' | grep '(' | wc -l)"
32 nudniss="$(echo "$eoud" | grep -v '^(' | grep '(' | wc -l)"
33 nfb="$((nfbn + nfbi + nfbniss))"
34 nrl="$((nrln + nrli + nrlniss))"
35 nud="$((nudn + nudi + nudniss))"
36 n5linear="$(${nissy} solve -L -m 5 -M 5 eo -c "$scr")"
37 n5niss="$(${nissy} solve -N -m 5 -M 5 eo -c "$scr")"
38 n5nonlinear="$((n5niss - n5linear))"
39 read -r x
40 echo "FB: $nfb ($nfbn normal, $nfbi inverse, $nfbniss niss)"
41 echo "RL: $nrl ($nrln normal, $nrli inverse, $nrlniss niss)"
42 echo "UD: $nud ($nudn normal, $nudi inverse, $nudniss niss)"
43 echo "5 movers: $n5linear linear, $n5nonlinear NISS'd"
44 read -r x
45 echo "$eofb"
46 echo "---"
47 echo "$eorl"
48 echo "---"
49 echo "$eoud"
50 printf '\n%s' "$prompt"
51 read -r x
52 done
53}
54
55practice_dr() {
56 nextscr="$(${nissy} scramble eo)"
57 while true; do
58 scr="$nextscr"
59 echo "Scramble: $scr"
60 nextscr="$(${nissy} scramble eo)"
61 soleo="$(${nissy} solve -o -p drud-eofb "$scr")"
62 neo="$(echo "$soleo" | grep -v '^$' | wc -l)"
63 leo="$(echo "$soleo" | head -n 1 | wc -w)"
64 solht="$(${nissy} solve -o -p drud "$scr")"
65 nht="$(echo "$solht" | grep -v '^$' | wc -l)"
66 lht="$(echo "$solht" | head -n 1 | wc -w)"
67 soleolr="$(${nissy} solve -o -p drrl-eofb "$scr")"
68 neolr="$(echo "$soleolr" | grep -v '^$' | wc -l)"
69 leolr="$(echo "$soleolr" | head -n 1 | wc -w)"
70 solhtlr="$(${nissy} solve -o -p drrl "$scr")"
71 nhtlr="$(echo "$solhtlr" | grep -v '^$' | wc -l)"
72 lhtlr="$(echo "$solhtlr" | head -n 1 | wc -w)"
73 read -r x
74 echo "DR on U/D: $leo moves ($neo solutions)"
75 if [ "$nht" != "$neo" ]; then
76 echo "Breaking EO: $lht moves ($nht solutions)"
77 fi
78 echo "DR on R/L: $leolr moves ($neolr solutions)"
79 if [ "$nhtlr" != "$neolr" ]; then
80 echo "Breaking EO: $lhtlr moves ($nhtlr solutions)"
81 fi
82 read -r x
83 echo "On U/D:"
84 echo "$soleo"
85 echo ""
86 if [ "$nht" != "$neo" ] || [ "$lht" != "$leo" ]; then
87 echo "Breaking EO:"
88 echo "$solht"
89 echo ""
90 fi
91 echo "On R/L:"
92 echo "$soleolr"
93 echo ""
94 if [ "$nhtlr" != "$neolr" ] || [ "$lhtlr" != "$leolr" ]; then
95 echo "Breaking EO:"
96 echo "$solhtlr"
97 echo ""
98 fi
99 printf '\n%s' "$prompt"
100 read -r x
101 done
102}
103
104practice_htr() {
105 nextscr="$(${nissy} scramble dr)"
106 while true; do
107 scr="$nextscr"
108 echo "Scramble: $scr"
109 nextscr="$(${nissy} scramble dr)"
110 sol="$(${nissy} solve -o -p htr "$scr")"
111 nsol="$(echo "$sol" | grep -v '^$' | wc -l)"
112 len="$(echo "$sol" | head -n 1 | wc -w)"
113 fin="$(${nissy} solve -o -p drfin "$scr")"
114 lenf="$(echo "$fin" | head -n 1 | wc -w)"
115 slice="$(${nissy} solve -o -p drslice "$scr")"
116 lens="$(echo "$slice" | head -n 1 | wc -w)"
117 read -r x
118 echo "$len moves ($nsol solutions)"
119 read -r x
120 echo "$sol"
121 if [ "$lenf" != "$lens" ]; then
122 echo ""
123 echo "Optimal leave slice ($lens):"
124 echo "$slice"
125 fi
126 echo ""
127 echo "Optimal DR finish ($lenf):"
128 echo "$fin"
129 printf '\n%s' "$prompt"
130 read -r x
131 done
132}
133
134practice_fin() {
135 nextscr="$(${nissy} scramble htr)"
136 while true; do
137 scr="$nextscr"
138 echo "Scramble: $scr"
139 nextscr="$(${nissy} scramble htr)"
140 sol="$(${nissy} solve -o -p drudslice "$scr")"
141 nsol="$(echo "$sol" | grep -v '^$' | wc -l)"
142 len="$(echo "$sol" | head -n 1 | wc -w)"
143 fin="$(${nissy} solve -o -p drudfin "$scr")"
144 nfin="$(echo "$fin" | grep -v '^$' | wc -l)"
145 lenf="$(echo "$fin" | head -n 1 | wc -w)"
146 opt="$(${nissy} solve -o -p "$scr")"
147 leno="$(echo "$opt" | head -n 1 | wc -w)"
148 read -r x
149 echo "Leave slice: $len moves ($nsol solutions)"
150 if [ "$lenf" != "$len" ]; then
151 echo "DR finish: $lenf moves"
152 fi
153 read -r x
154 echo "$sol"
155 if [ "$lenf" != "$len" ]; then
156 echo ""
157 echo "Optimal DR finish ($lenf):"
158 echo "$fin"
159 fi
160 if [ "$leno" != "$lenf" ]; then
161 echo ""
162 echo "Optimal DR-breaking ($leno):"
163 echo "$opt"
164 fi
165 printf '\n%s' "$prompt"
166 read -r x
167 done
168}
169
170"practice_$1" || usage
diff --git a/scripts/unused/share b/scripts/unused/share
new file mode 100755
index 0000000..1a27d90
--- /dev/null
+++ b/scripts/unused/share
@@ -0,0 +1,13 @@
1#!/bin/sh
2
3# One-liner to upload stuff to my webserver
4
5srv=tronto.net
6dir=$(tr -cd 'a-z0-9' < /dev/random | fold -w 8 | head -n 1)
7htp=https://share.tronto.net/$dir
8pth=/var/www/htdocs/share.tronto.net/$dir
9url=$srv:$pth
10
11ssh tronto.net mkdir "$pth"
12scp "$@" "$url"/
13for i in "$@"; do echo "$htp/$(basename $i)"; done
diff --git a/scripts/unused/translate b/scripts/unused/translate
new file mode 100755
index 0000000..9442844
--- /dev/null
+++ b/scripts/unused/translate
@@ -0,0 +1,11 @@
1#!/bin/sh
2
3# Opens google translate
4
5translator="https://translate.google.com/"
6from=$1
7to=$2
8
9shift 2
10text=$(echo "$@" | sed 's/ /\%20/g')
11open-url "${translator}?sl=${from}&tl=${to}&text=${text}&op=translate"
diff --git a/scripts/unused/websearch b/scripts/unused/websearch
new file mode 100755
index 0000000..dddcc20
--- /dev/null
+++ b/scripts/unused/websearch
@@ -0,0 +1,11 @@
1#!/bin/sh
2
3# Perform a web search
4
5browser=${BROWSER:-firefox}
6searchengine="https://www.startpage.com/sp/search?query="
7#searchengine="https://duckduckgo.com/?q="
8#searchendinge="https://www.google.com/search?q="
9
10arg=$(echo "$@" | sed 's/ /\+/g')
11[ -n "$arg" ] && spawn "$browser" "${searchengine}$arg"
diff --git a/scripts/unused/xplumb b/scripts/unused/xplumb
new file mode 100755
index 0000000..1d89796
--- /dev/null
+++ b/scripts/unused/xplumb
@@ -0,0 +1,65 @@
1#!/bin/sh
2
3# My interpretation of a plumber (plan9 style).
4# It scans the selected text (xsel) and decides what to do with it among
5# some possibilities (open file, open url, man page...). If none is matched,
6# a choice is prompted.
7
8# Requires: dmenu (or similar), mail-compose, open-file, terminal, websearch,
9# xedit, xsel
10
11# TODO:
12# send mail to email address;
13# calendar if it is a date
14# choice: pipe to another program
15
16browser=${BROWSER:-firefox}
17menu=${MENU:-dmenu}
18menuopts="-l 10"
19
20text=$(xsel | sed 's/\n/ /g')
21if [ "${#text}" -ge 11 ]; then
22 shorttext=$(echo "$text" | cut -b 1-10)...
23else
24 shorttext="$text"
25fi
26
27choice() {
28 chosen=$(printf "websearch\nedit" | \
29 $menu $menuopts -p "What to do with \"$shorttext\"?")
30
31 if [ "$chosen" = "websearch" ]; then
32 websearch "$text"
33 elif [ "$chosen" = "edit" ]; then
34 f=$(mktemp)
35 xsel > "$f"
36 xedit "$f"
37 fi
38}
39
40trymail() {
41 addr=$(echo "$1" | addressgrep)
42 ( [ -n "$addr" ] && mail-compose "$addr" ) || return 1
43}
44
45tryman() {
46 number=$(echo "$1" | sed 's/[^1-8]//g')
47 name=$(echo "$1" | sed 's/([1-8])//g' | sed 's/ //g')
48 if [ "$(man -w "$number" "$name" | wc -l)" = 1 ]; then
49 terminal -e man "$number" "$name"
50 return 0
51 else
52 return 1
53 fi
54}
55
56tryurl() {
57 url=$(echo "$1" | urlgrep)
58 ( [ -n "$url" ] && "$browser" "$url" ) || return 1
59}
60
61#open-file -s spawn "$text" || \
62tryurl "$text" || \
63trymail "$text" || \
64tryman "$text" || \
65choice

Generated with cgit - Back to sebastiano.tronto.net