Skip to content

Instantly share code, notes, and snippets.

View atoponce's full-sized avatar
Crypto coffee

Aaron Toponce atoponce

Crypto coffee
View GitHub Profile
<!doctype html>
<html lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>Randogram</title>
</head>
<body>
<canvas id='randogram' height='400' width='400' style='border:1px solid black;'></canvas>
<script>
const canvas = document.getElementById('randogram')
@atoponce
atoponce / readme.md
Last active May 26, 2022 01:59
Commandline password managers for Unix-like operating systems

Must be updated within the past two years (May 2020) to be on this list. Listed in alphabetical order:

  • 1Password CLI1 and CLI2
    • Written by the 1Password team.
    • Written in Go using the Cobra library.
    • CLI2 has new sub-command syntax that differs from CLI1.
    • JSON output is difficult to work with.
    • Requires 1Password account.
    • Proprietary software.
  • bw
@atoponce
atoponce / .gitignore
Last active April 11, 2022 04:05
Best Wordle guesses
wordle.txt
previous.txt

System

% sudo dmidecode -s processor-version
Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz

5.16.11

Uses SHA-1 as the entropy extractor.

WITH RDRAND

<!DOCTYPE html>
<html lang="en">
<head>
<title>Keystroke Analysis</title>
<meta charset="utf-8">
<style>
#intro {
font-size: large;
}
collect-entropy () {
zmodload zsh/mathfunc
local wordlist=($(grep -P '^[aoeuidhtns]{3,}$' /usr/share/dict/words))
local length=${#wordlist[@]}
local min=$(( 65536 % $length ))
local wordcount=$(( int(ceil(512/log2($length))) ))
local words=()
for ((i=1; i<=${wordcount}; i++ )) do
local rand=$(( 0x$(xxd -ps -l 2 /dev/urandom) ))
until [[ $rand -ge $min ]]
@atoponce
atoponce / vowels.bash
Created January 20, 2022 14:54
Candidate absurdle starting words
#!/bin/bash
results=()
words='/usr/share/dict/american-english-insane'
results+=($(grep -P '^(?=.*a.*)(?=.*e.*)(?=.*i.*)(?=.*o.*)[a-z]{5}$' "$words"))
results+=($(grep -P '^(?=.*a.*)(?=.*e.*)(?=.*i.*)(?=.*u.*)[a-z]{5}$' "$words"))
results+=($(grep -P '^(?=.*a.*)(?=.*e.*)(?=.*i.*)(?=.*y.*)[a-z]{5}$' "$words"))
results+=($(grep -P '^(?=.*a.*)(?=.*e.*)(?=.*o.*)(?=.*u.*)[a-z]{5}$' "$words"))
results+=($(grep -P '^(?=.*a.*)(?=.*e.*)(?=.*o.*)(?=.*y.*)[a-z]{5}$' "$words"))

Start with "STAIN":

stain

"S" is in the solution but in a different spot. "T", "A", "I", and "N" are not in the solution.

$ grep -P '(?=^[^stain][^tain]{4}$)(?=.*s.*)(?!.*[[:punct:]].*)' /usr/share/dict/words

Guess with "YOURS":

Start with "STAIN".

stain

The letters "S", "T", "A", and "N" are not in the final word. "I" is in the correct position.

Use the following regular expression:

$ grep -P '^[^stan][^stan][^stan]i[^stan]$' /usr/share/dict/words
2vvwgzEeNMbmB6q2MYWcCcR7AvXyY7apqHQKoXt5mFLwGZGK7eV3Ffq6bWpJcqnjJBwN6xraqVQeTiLbHs8YsgTE
2FfjpaQeUZAtfngFCCJao2JRo3zr55FMFDy14PmfSXDjqBLwkFSQWJf3AyWe3vcR1HUM7T9zGrqEAy1mVd6pLvxV
4iXQme9nmDqdtUoozJYZ1W186PzAKhiRbHsKLH2GK6akvQdXNhRwqRepSkdV9PRpEWHR2A9qastRVG84uidm8Sd
uK2fp4neaYZMxoNnSQnyvsPpcRcAFAsFNfkRHo5584HPrubs6i8fZeguvvUQo3wsgdWt2V2DmfvrK71zte3iGmK
3h3d26XiWe3MqovvWT9TLAYAZ8NGhDLk4RLcn3WLbne2trSLxmZNLc3e3exb2s4gNSnCb5EHZn85NfTsb1eYKPAC
4GSKKaKE8ymKM5vMggHWHgVVSUDSQjF8SThAZxMBqVqX7BUmt8DzSmKbiBaoB4gEECDErGcDu4LyRGQVUJKhFoNU
5VaHecT3VbG5BuWFDG6QRWPHd9qZWvEGAcNoz2GsVUnPWqyGxwuCnevBjXCKv2h5tR9czDMzfhtBeNChWjf6nbUD
3ATBnFZc7An4eLve5khE153GodHcN7zoQrQbniaVXfiNYs2poaahmprcahmt6QXcSnauFToj3HkrZjUvpw9Q6HaT
2p17NAXFTGUxCUEZ8BKXGNSwdRWMQaUEgdidFu4iiVqZdpeFbSehB12qxJDfCz7vmpkyfAZ9zxF3nxQ7f6ReqZ3A
3MmMmijTYdrJnSMBuL9sRnusdpheXmt4nPC639Wb5k9bxzdLij4GmE89Q9T4qjJWvnhJnZH64MJ638AETYpt1XeR