Skip to content

Instantly share code, notes, and snippets.

View alerque's full-sized avatar
🩺
Coding as best I can in between dealing with my daughter's medical issues.

Caleb Maclennan alerque

🩺
Coding as best I can in between dealing with my daughter's medical issues.
View GitHub Profile
@alerque
alerque / prices.mk
Last active June 23, 2021 20:19
Makefile snippet to include to fetch prices for all transactions
# Usage:
# 1. from your main makefile set `MAIN_LEDGER = <path>` to something that has all your transactions
# 2. include this into your main makefile via `include prices.mk`
# 3. Have a fixer.io API key exported as FIXERAPIKEY (either in parent shell or makefile) before doing №4
# 4. periodically run `make update_prices`
# 5. include reltant price list into your main ledger via `include prices.ledger`
#
# Caveats:
# Fixer.io as an API call limit of 100 per day or something like that. That's per currency,
# so if you have 5 currencies in play you need to run this at every less than < 20 days to
@alerque
alerque / nextcloud_ldap2keycloak.zsh
Created June 1, 2021 13:47
Migrate LDAP‌ users in Nextcloud from UUIDs to Keycloak usernames
#!/usr/bin/env zsh
# This is provided with NO SUPPORT, it worked for me but it is also hard coded to the exact
# circumstances of by previous databaase and desired end schema. The paths to by data files
# and database credentials would need to be adjusted. Backup both your file repository and
# databased before even touching this.
# Note this script is setup to run BTRFS snapshots and data dumps accourding to my backup
# schemed on every run so I could experiment with several and rollback, but these sections
# would be your responsibility to adapt to your backup methods.
# initialization file (not found)
@alerque
alerque / ss.sil
Created April 26, 2016 16:45
Amiri + SILE shaping test
\begin{document}
\set[parameter=document.baselineskip,value=3em]
\font[language=ar,size=30pt,family=Amiri]
\define[command=ss01]{\font[features=+ss01]{\process}}
\define[command=ss02]{\font[features=+ss02]{\process}}
\define[command=ss03]{\font[features=+ss03]{\process}}
\define[command=ss04]{\font[features=+ss04]{\process}}
\define[command=ss05]{\font[features=+ss05]{\process}}
\noindent
ربِّها\break
@alerque
alerque / 0001-Update-to-current-source.patch
Created April 14, 2016 06:59
AUR ttf-malayalam-font-keraleeyam update
From bc2a51ee42ae89ff4a6bca76e88d84bdf94a6a5a Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Thu, 14 Apr 2016 09:57:40 +0300
Subject: [PATCH] Update to current source
Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
.SRCINFO | 12 +++++++-----
PKGBUILD | 11 ++++++-----
2 files changed, 13 insertions(+), 10 deletions(-)
@alerque
alerque / icu_pkgconfig_files.tar
Last active August 29, 2015 14:27
Pkg-config files for icu 4.8.1.1 (Ubuntu Precise)
L3Vzci9saWIvcGtnY29uZmlnL2ljdS1pMThuLnBjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDAw
MAAwMDAwMDAwADAwMDAwMDAyMjE0ADEyNTY0MzI3NTA0ADAxNTA1MQAgMAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAj
IENvcHlyaWdodCAoQykgMjAxMCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jw
@alerque
alerque / kinesis-dvp+ptf.json
Last active August 29, 2015 14:23
Kinesis Advantage Programmers Dvorak + Programmers Turkish F
{backcolor:"#000000"},
[{c:"#1c1c1c",t:"#7b7b7b",f:1,w:0.5,h:0.5},"\nEsc",{x:0.25,w:0.5,h:0.5},"\nF1",{x:0.25,w:0.5,h:0.5},"\nF2",{x:0.25,w:0.5,h:0.5},"\nF3",{x:0.25,w:0.5,h:0.5},"\nF4",{x:0.25,w:0.5,h:0.5},"\nF5",{x:0.25,w:0.5,h:0.5},"\nF6",{x:0.25,w:0.5,h:0.5},"\nF7",{x:0.25,w:0.5,h:0.5},"\nF8",{x:5,w:0.5,h:0.5},"\nF9",{x:0.25,w:0.5,h:0.5},"Disable Macro\nF10",{x:0.25,w:0.5,h:0.5},"Macro\nF11",{x:0.25,w:0.5,h:0.5},"Remap\nF12",{x:0.25,w:0.5,h:0.5},"PrintScr\n\n\n\n\n\nSysReq",{x:0.25,w:0.5,h:0.5},"Scroll<br>lock",{x:0.25,w:0.5,h:0.5},"Pause\n\n\n\n\n\nBreak",{x:0.25,w:0.5,h:0.5},"Keypad",{x:0.25,w:0.5,h:0.5},"Program"],
[{y:-0.25,x:2.25,c:"#353535",t:"#ffffff",f:5,f2:3},"5\n{","3\n}","1\n(","9\n=",{x:5.5},"0\n*","2\n)\n\n\nNm Lk","4\n+\n\n\n=","6\n]\n\n\n="],
[{y:-0.75,w:1.25},"%\n&",{x:15.5,w:1.25},"`\n#"],
[{y:-0.75,x:1.25},"7\n[",{x:13.5},"8\n!\n\n\n*"],
[{y:-0.5,x:2.25},"<\n,\nG",">\n.\nĞ",{f:6,f2:3},"P\n\nI","Y\n\nO",{x:5.5},"F\n\nD","G\n\nR\n\n7","C\n\nN\n\n8","R\n\nH\n\n9"],
[{y:-0.75,f:3,w:1.25},"\n
@alerque
alerque / kinesis.json
Created June 26, 2015 17:32
Kinesis Advantage
[{f:1,w:0.5,h:0.5},"\nEsc",{x:0.25,w:0.5,h:0.5},"\nF1",{x:0.25,w:0.5,h:0.5},"\nF2",{x:0.25,w:0.5,h:0.5},"\nF3",{x:0.25,w:0.5,h:0.5},"\nF4",{x:0.25,w:0.5,h:0.5},"\nF5",{x:0.25,w:0.5,h:0.5},"\nF6",{x:0.25,w:0.5,h:0.5},"\nF7",{x:0.25,w:0.5,h:0.5},"\nF8",{x:5,w:0.5,h:0.5},"\nF9",{x:0.25,w:0.5,h:0.5},"Disable Macro\nF10",{x:0.25,w:0.5,h:0.5},"Macro\nF11",{x:0.25,w:0.5,h:0.5},"Remap\nF12",{x:0.25,w:0.5,h:0.5},"PrintScr\n\n\n\n\n\nSysReq",{x:0.25,w:0.5,h:0.5},"Scroll<br>lock",{x:0.25,w:0.5,h:0.5},"Pause\n\n\n\n\n\nBreak",{x:0.25,w:0.5,h:0.5},"Keypad",{x:0.25,w:0.5,h:0.5},"Program"],
[{y:-0.25,x:2.25,f:3},"@\n2","#\n3","$\n4","%\n5",{x:5.5},"^\n6","&\n7\n\n\nNm Lk","*\n8\n\n\n=","(\n9\n\n\n="],
[{y:-0.75,w:1.25},"+\n=","!\n1",{x:13.5},")\n0\n\n\n*",{w:1.25},"_\n-"],
[{y:-0.25,x:2.25,f:6},"W","E","R","T",{x:5.5},"Y","U\n\n\n\n7","I\n\n\n\n8","O\n\n\n\n9"],
[{y:-0.75,f:3,w:1.25},"\n\n\n\n\n\nTab",{f:6},"Q",{x:13.5},"P\n\n\n\n-",{f:3,w:1.25},"|\n\\"],
[{y:-0.25,x:2.25,f:6},"S","D","F","G",{x:5.5},"H","J\n\n\n\n4","K\n\n
@alerque
alerque / kinesis-ptf.json
Last active August 29, 2015 14:23
Kinesis Advantage Programmers Turkish F
[{x:1,c:"#373737",t:"#ffffff",g:true,f:1,w:0.5,h:0.6},"\n\n\n\n\n\nF1",{x:0.10000000000000009,w:0.5,h:0.6},"\n\n\n\n\n\nF2",{x:0.10000000000000009,w:0.5,h:0.6},"\n\n\n\n\n\nF3",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nF4",{x:0.10000000000000009,w:0.5,h:0.6},"\n\n\n\n\n\nF5",{x:0.10000000000000009,w:0.5,h:0.6},"\n\n\n\n\n\nF6",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nF7",{x:0.10000000000000053,w:0.5,h:0.6},"\n\n\n\n\n\nF8",{x:6.55,w:0.5,h:0.6},"\n\n\n\n\n\nF9",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nF10",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nF11",{x:0.10000000000000142,w:0.5,h:0.6},"\n\n\n\n\n\nF12",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nSys<br>Req",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nScrl<br>Lck",{x:0.10000000000000142,w:0.5,h:0.6},"\n\n\n\n\n\nBreak",{x:0.09999999999999787,w:0.5,h:0.6},"\n\n\n\n\n\nKeypad",{x:0.10000000000000142,w:0.5,h:0.6},"\n\n\n\n\n\nProgram"],
[{y:-0.25,x:2.25,f:3},"{\n5","3\n}","1\n(","9\n=",{x:5.5},"*\n*","2\n)","4\n+","6\n]"]
@alerque
alerque / kinesis-dvp.json
Last active April 21, 2021 23:36
Kinesis Advantage Programmers Dvorak
[{x:0.4,c:"#373737",t:"#ffffff",g:true,f:1,w:0.5,h:0.6},"\n\n\n\n\n\nEsc",{x:0.09999999999999998,w:0.5,h:0.6},"\n\n\n\n\n\nF1",{x:0.10000000000000009,w:0.5,h:0.6},"\n\n\n\n\n\nF2",{x:0.10000000000000009,w:0.5,h:0.6},"\n\n\n\n\n\nF3",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nF4",{x:0.10000000000000009,w:0.5,h:0.6},"\n\n\n\n\n\nF5",{x:0.10000000000000009,w:0.5,h:0.6},"\n\n\n\n\n\nF6",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nF7",{x:0.10000000000000053,w:0.5,h:0.6},"\n\n\n\n\n\nF8",{x:6.55,w:0.5,h:0.6},"\n\n\n\n\n\nF9",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nF10",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nF11",{x:0.10000000000000142,w:0.5,h:0.6},"\n\n\n\n\n\nF12",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nSys<br>Req",{x:0.09999999999999964,w:0.5,h:0.6},"\n\n\n\n\n\nScrl<br>Lck",{x:0.10000000000000142,w:0.5,h:0.6},"\n\n\n\n\n\nBreak",{x:0.09999999999999787,w:0.5,h:0.6},"\n\n\n\n\n\nKeypad",{x:0.10000000000000142,w:0.5,h:0.6},"\n\n\n\n\n\nProgram"],
[{y:-0.25,x:2.25,f:3},"{\n5","