Skip to content

Instantly share code, notes, and snippets.

View ramsey's full-sized avatar

Ben Ramsey ramsey

View GitHub Profile
@ramsey
ramsey / expecting.md
Created December 23, 2021 16:23 — forked from ksafranski/expecting.md
Basic principles of using tcl-expect scripts

Intro

TCL-Expect scripts are an amazingly easy way to script out laborious tasks in the shell when you need to be interactive with the console. Think of them as a "macro" or way to programmaticly step through a process you would run by hand. They are similar to shell scripts but utilize the .tcl extension and a different #! call.

Setup Your Script

The first step, similar to writing a bash script, is to tell the script what it's executing under. For expect we use the following:

#!/usr/bin/expect
@ramsey
ramsey / jq-query-notes.md
Last active November 11, 2021 06:02
Parses the IANA language subtag registry into JSON, which can be queried with `jq`

Parse language subtag registry into JSON

php language-subtag-registry.php > language-subtag-registry.json

Grandfathered or redundant tags with preferred values

This produces all grandfathered tags, with or without a preferredValue, and includes all redundant tags that have a preferredValue.

php-8.1.0RC6.tar.bz2
SHA256 hash: 7bfce7122d985e8ebf578f45cf7c6f3b21810d5cc5f9c4ce4126fd575fa1287a
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmGLCwEACgkQ+cOdwLlp
hURDBRAAndLOX1gUI15KHeTvlN/RkgPdET9Tql1NFgTvjrKB94ez3C344vrHb0Hc
QraieujrJu1kNJI++TKzU+7LYDo+X2U55V1+stqfOuo83FUOXaBSmPxYNmYfHrCY
1lKgQM9afRBcTnicNJIGgcMMQOdf5xc6b09gYZ294UkrVZxJTgEg01Drtmvu8cvw
G4TAU0jtGn6CFBbYvNDio2vSL0vCgax+vlSzpl8T5BoP+8rYKMV3AyKWR8+g1LBn
php-8.1.0RC4.tar.bz2
SHA256 hash: 197175d0c0452ef50000f0cf28b2b28bde89f1dd4b533ea15a50402145430ac6
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmFmIhYACgkQ+cOdwLlp
hUSyIw//SHf0A4g83BkuVtKfiOQ1JNzxNjgJ01SOqgZmcody1ODDQM3nKaSHIycN
lHRFPJMwEScvCBmevxf8VMY2mQUPXkhs3+/ldIj8eDzONWSbia/S7krZes7M8LRn
MgJnAhjYzCL/E5EIBstnom8B3PVMZQuegQKYbwjOS14nWB/Ue3LsN3cKVv59okrx
sSYkWHb5fqwtfEtCSBkDt0lt/FWeI6B1/RkM3dc1rFB6zufiXNcvDByug2571uc6
php-8.1.0RC3.tar.bz2
SHA256 hash: 17e0ee75dab95af5f4c0047818a8a17a18bd26b04f0d3908763a2832db2d504d
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmFTjOcACgkQ+cOdwLlp
hUTFvRAAtz1CqCaPJ5Oi5CVzry936GcrRqykSDheyy3rnFJPgxZHNa9qnSzKwF8J
v6d0ArgfXwreTaccnue2f4F1ph1kgKJCzLhxv56jJvweMcX8jbIaPunvsQttOxpk
22lCAfn9FhglaBsf5Pa/5QqzUwSDMLkG1LlhnrPi3ZmqYf+WYpBJlfybGWDybS43
ArDshSmBKnOru8kKH4wIBDDx2AvvNvM797WImwKl8JqGbQYFCzV2i9Jv9qhnbc9Q
php-8.1.0beta3.tar.bz2
SHA256 hash: 8f1822be45374e6962559cc5b656bbd2dca49a1199e4cbdb1b96e7c0b867dd56
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmEbzEQACgkQ+cOdwLlp
hURppA/9EdGyjfhsfzHea8R82WdD+k9ORFrmoDlf9ZZ61c6yhSivUm4JEJdhFLxe
FSvJU9r3EM8JARjA4neRGpmB4CH6KfIHQ5CpdJ+n0FPKFrKjiBLaH6YdrGn2ZuCE
UB9Kvur+PqJihw7VcbafFHzWYx4NOXb9UliRjZIddYeQRtx03Qj/0R32UfbQ52Gj
y4UE3GwlH27iwQDj3ycz+pUYlWXymfLoFAvajZPAEXGSe0lE9yHDhTdMPb5gVCMD
php-8.1.0beta2.tar.bz2
SHA256 hash: 2f221828e463cd2956c85e063d23eb48c639c7146b8854fd7787b7222d98aea5
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmEJSAYACgkQ+cOdwLlp
hUQXGg//e8rAe4VK8VdITY2bv8J0UAigYmw+fnFIVrSPgy04+nBfVJncp7B9YA+U
P1KEu/Mb6ckg1EIc3GqbbqNTWvqcPt2bIbV7LjPD3uQKGyG7Mc1xRws/8ryNgSBy
/C9tIQ2d0ImAahE5x+R/dmWV5hqmt70qwoie/67ie0Guwc4uAqbpORV64kQWJK8n
xg0nqaHHnmsvWxQKxufdnrOYMDQUSO7Avv8iG4x4LiW7wJ+pUC3+bpTrT80QbiCp
php-8.1.0beta1.tar.bz2
SHA256 hash: 3bd4c7251a6e32931f7029a569ed2e444f163dc7ed3c458119a3af9cea41f588
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmD2+AYACgkQ+cOdwLlp
hURb1A/8DPJQPUGfhm5RLTyhFjMkCzOAqCmsc1lkSlNEYhD1xtoBsv2Z5ddq2GYC
hMR42ErnSTker6OJ+ELe5dHi3ZdGgpNeyZ+9gcAMfoHp/hC5E+t1f+Q+8uXAUGUf
gDxs/vq7B/JAq5na75Ah8TUmdD2+zOqwijaVg0X8vhRqQG+rQdgxFXhxqa4V0O5O
K5ANDy0ao9jISCARiyvv25dCV38NPbmxvpjirz1Ne/pJt/7WEydC0gs/X6qJmddw
php-8.1.0alpha3.tar.bz2
SHA256 hash: 9317bb70d09c7a24643e7a6813a9b6b95bbd70c5776d2dd8c498abe5c15bfbbd
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEObZBND2MEEsrFG3D+cOdwLlphUQFAmDkd2cACgkQ+cOdwLlp
hUSzcw//Z9J389qL0CA5LXQxRBXyajSfu7aD6LMVsHHMGe/RVxJUsmi3OEGtZHB8
9ENCMaEZYGh1MhAGG9N8eunD85QZwvoX1SuvSgsmNl0QTnoL6d5YzVFOWIHdvbxL
Nw/+HcBVvCZ36j4mz7+5F58GeBpP1Ctzp8ebGEyXg+dK/3lL/YRn0/63btjTOjmi
iqpF6SQo1qMwVISiq5s5HMScTY9vZMNFzB4d9sL9Feh0E9qGA0teD7mtt0r6EmHN
@ramsey
ramsey / php-8.1.0.alpha1.manifest
Created June 10, 2021 15:14
PHP 8.1.0 Alpha 1 Manifest
php-8.1.0alpha1.tar.bz2
SHA256 hash:
38fb766220c4e18da24db404812d343d34bb16256e621c629aafa7395b5e72f6
PGP signature:
- -----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE8faSI4+8FmblpczUGZ+d/vb/uv0FAmC/m44ACgkQGZ+d/vb/
uv0SSxAAteA2Yy690Y1bp+TrsZ/zLKOxLb043zfsJp+Y5YyT2Gj3b9Esuvrh10JN
kqLM2ZEg2jpjCIhknimhOsgqiO2SikqkeHI3h4zo5BReOwpjHeaTv2ty6cH+EgPl
vA37pUXRIpcPlCDPxoNqEHlbsAD2paZB35HcrH57dYoRBUVGPbApwVxCVmNX+It+