Skip to content

Instantly share code, notes, and snippets.

View randomalphanumeric.sh
cat /dev/urandom \
| tr -dc '[:upper:][:digit:]' \
| fold -w ${1:-8} \
| head -1
View resize scanned pdf.sh
pdfimages -all big.pdf . #poppler-utils
rename -v 's/^[^0-9]*//' .*.jpg
convert '*.jpg' -resize 50% %03d.jpeg #imagemagick
convert '*.jpeg' small.pdf
@Hashbrown777
Hashbrown777 / baka_deluge.js
Last active Jan 22, 2022
Update deluge's total uploaded byte tally via `state/torrents.fastresume`
View baka_deluge.js
(async () => {
const output = open().document;
//generate a script to run over your deluge state file
output.write(
`<pre>#!/bin/bash
mkdir _
cd _
#split up the file and name them correctly, disregard the byte-counts
awk \\
'BEGIN { RS="[de]40:"; ORS=FS=":" } { if ($1 != "") { for (i = 2; i <= NF; i++) print $i > substr($1, 0, 40) } }' \\
View checkport.ps1
&{
try {
$tmp = [Net.Sockets.TcpClient]::new('google.com', 443)
$tmp.Connected
$tmp.close()
return
}
catch [System.Net.Sockets.SocketException] {
$Error[0].Exception | Out-Host
}
@Hashbrown777
Hashbrown777 / 1_sort.js
Created Dec 7, 2021
Non-comparative sorting with flexible chunking
View 1_sort.js
function sort(array, radix, getDigit) {
const counts = new Uint32Array(radix);
const jobs = [{start:0, end:array.length, offset:0}];
while (jobs.length) {
const {start, end, offset} = jobs.pop();
counts.fill(0);
counts[null] = start;
const sorting = array.slice(start, end);
for (let index = 0; index < sorting.length; ++index) {
View opendirectory.js
(async () => {
const ignore = /^http:\/\/waltercosand.com\/CosandScores\/Composers%20[^/]+\//;
const urls = [
'http://waltercosand.com/CosandScores/Composers%20A-D/',
'http://waltercosand.com/CosandScores/Composers%20E-K/',
'http://waltercosand.com/CosandScores/Composers%20L-P/',
'http://waltercosand.com/CosandScores/Composers%20Q-Z/'
].reverse();
const skip = [
'http://waltercosand.com/CosandScores/Composers%20L-P/Mozart,%20W.%20A/Mozart%20-%20Complete%20Works%20for%20Piano/'
@Hashbrown777
Hashbrown777 / bytesTransfer.js
Created Sep 28, 2021
Convert buffers of one word-length to another
View bytesTransfer.js
function transferBytes(inputBuffer, inputLength, inputWordSize, wordSize, create) {
inputWordSize |= 0;
const inputBytes = inputLength * inputWordSize;
const inputBitsize = inputWordSize << 3;
wordSize |= 0;
const bytes = (inputBytes - 1 & -wordSize) + wordSize;
const bitsize = wordSize << 3;
const buffer = create(bytes, bytes / wordSize);
View combinePNGs.sh
pnmcat -jleft -tb \
<(pngtopnm image139.png) \
<(pngtopnm image73.png) \
| pnmtopng \
-alpha <(pnmcat -black -jleft -tb \
<(pngtopnm -alpha image139.png) \
<(pngtopnm -alpha image73.png) \
) \
>test.png
View gitify_script_functions.ps1
gci `
| %{
("`n", $_.Name, @($_ | gci -File).Length) -join "`t"
$_ `
| gci -File `
| %{
(
$_.CreationTime.ToString('yyyy-MM-dd'),
$_.Length,
$_.Name