Show newer

i agree, it IS better if every discussion has a separate thread. what if there was a software which did this for you

Show thread

they are trying really hard to turn the DSA discord into a forum which does raise the question as to why the DSA discord isn’t a forum

bitch logs on to the DSA discord just to criticize fake maoists and then logs the fuck off

🍟

i should have more friends who draw furry/otherkin porn

dreamt that gwyneth paltrow showed up to gift us a tshirt for a baby to try to passive aggro us into having kids

everyone decided to build operating systems around C code and a portable shell and then they standardized that, but everyone agreed on a whole lot of other things also and they decided that wasn’t worth the bother

Show thread

Posix be like, “ok but suppose someone is developing an operating system which never has to process XML” 🙄

Show thread

this might be the easiest portableish way of doing this and that is a condemnation of the current state of computing on Posix

Show thread

here is a shell command you can run to test whether the value of MAYBE_NCNAME is an ncname or not; returns exit status 0 if it is and 1 otherwise

printf '%s\n' '<transform xmlns="w3.org/1999/XSL/Transform" xmlns:exsldyn="exslt.org/dynamic" version="1.0"><param name="thing"/><template match="/"><choose><when test="/self::node()[translate(normalize-space($thing), &quot; /([,*&quot;, &quot;&quot;)=string($thing) and exsldyn:evaluate(concat(&quot;not(self::exsldyn:&quot;, $thing, &quot;)&quot;))]">ok</when><otherwise>ng</otherwise></choose></template></transform>' | xsltproc --stringparam thing "${MAYBE_NCNAME}" --html --novalid - /dev/null 2>/dev/null | grep -F -q -x 'ok'

Show thread

/self::node()[translate(normalize-space($thing), ' /([,*', '')=string($thing) and exsldyn:evaluate(concat('not(self::exsldyn:', $thing, ')'))]

i think is safe

Show thread

this probably actually needs a touch of hardening (making sure $thing does not contain a '[' or '/', or else you could run into serious issues) but

Show thread

XSLT 1.0 + EXSLT is a constant exercise in things you probably weren’t intended to be able to do but nevertheless can

Show thread

want to know if something is a valid NCName? easy! just do

/self::node()[exsldyn:evaluate(concat('not(self::exsldyn:', $thing, ')'))]

Show older
📟🐱 GlitchCat

A small, community‐oriented Mastodon‐compatible Fediverse (GlitchSoc) instance managed as a joint venture between the cat and KIBI families.