I wonder if anyone has made any software to detect keysmashing
(I mean, besides Pawsense, kind)
I mean, like, I could run it on my chat logs and see which lines were keysmashes
I wonder if anyone has made any software to detect keysmashing
(I mean, besides Pawsense, kind)
I mean, like, I could run it on my chat logs and see which lines were keysmashes
I used Discrub to export a Discord chatlog for analysis, and it gave me a JSON of all the messages in that chat, but in random order.
weird! I mean I can just sort them by timestamp or ID (maybe?) but that's just the first time I've ever seen chatlogs that are not ordered
yep, sorting them by ID puts them in the right order.
so weird
hey look a keysmash generator, that's something:
there's also a thing where people say lots of quick lines in a row, like:
<kitten> as
<kitten> gh
<kitten> buh
<kitten> jg
So I need to code it to look at timestamps too, and define some kind of threshold for sending a bunch of nonsensical mini-keysmashes in a row
I'm embracing data-driven TDD:
FAILED test_lines.py::test_detectors[ghasdlfgjk-output4] - AssertionError: detect('ghasdlfgjk') is [], expected ['is_keysmash']
I discovered another platform doing this weird.
When you do an account export from tumlbr, they give you a conversations.zip file which has HTML (not JSON or XML, HTML) for each person you've messaged.
and the messages are in reverse chronological order, with the most recent messages at the top
I'm going to have to parse this HTML and then parse the dates in it and then re-sort it!
ugh
one of the biggest problems facing the keymash detector project is the fact that I'm doing it across tumblr/discord/matrix/mastodon/blusky/irc.
That's a lot of different log types to need to ingest
Do you really have to ask at this point?
Malicious compliance. They've to provide these exports by law. Not just EU law, other countries outside of the EU implemented similar ones. But they do not want to see their product leave their platform. So they're making it as inconvenient and as useless as they can possibly get away with.
Same for why we have these dumb cookie banners. The simplest solution was always to stop the tracking as you'd no longer need any cookie banner then...

/(m[reaou]{2,}w|m[re]+w|mr+p)/ (though it has some false positives, notably "tomorrow")@gloriouscow no don't be silly.
I'm making a sub quantifier. I want to be able to analyze a chat and count how many times someone bottom-types
@foone I've made a keysmash generator in C. Here's some sample output:
kjsjHDSDGHJHdj;shjhy0g0gdshsk0yjhjgysys
kasdadlhlkfklfflslhjfghjlh'dsdcslhlhcbd
ksaFHHkjkgdhfsdg
hkhasljkjgdlgllhlhh';va'xl'lh;
dfalgkfsglgfkg,afahgs;jhF
fhfsagahlhshshjflhfghjljlasah
jgkgkAGHGJa;alafkljg'a8l'
dshjgfdldfhflslal7lf7ma
l4sghjh
fhfgf;f;k,hgaks;h:F:G&AGG&GDzahhagHFH
sdspsp;lk
ktljhwhwkjaswkj1shalslahlh1hlhjk1h1
a;fkamlfljaljhmljm'zGSAM
shFLFSJLHrgfghlvr;gsfglfgs
;OH"AGL"FBLdghj'kl'jf
lsdhsgk;KSGKHGDS8dgas
shsFLJ&GHlhj;j
3jkkgdqhqkg
jghhakjshg,khkl
kk1adjkha*D!HJAJ!D1da8h8h1JH!A*AAJ%
@foone https://gist.github.com/TerrorBite/764e9cbeb577484fcf71dd5acad108b9
Just so you know, when I typed gist.github.com in my phone browser, it auto filled gist.github.com/foone
@foone does the single key thing count if it's a live commentary on their actions
my mom and I had a cat who, while sleeping next to Mom in her recliner, would reach out in her sleep and type zzzzzzzzzzz
@foone that's interesting because the extension code seems to make an attempt to sort by timesamp
exportMessages = messageData.messages
.map((m) => new Message({ ...m }))
.sort((a, b) =>
sortByProperty(
Object.assign(a, { date: new Date(a.timestamp) }),
Object.assign(b, { date: new Date(b.timestamp) }),
"date",
sortOverride,
),
);
@gloriouscow I already wrote code to sort it anyway:
all_messages.sort(key=lambda m:m['id'])
@foone i wonder if they did something like pass the results through an object instead of an array which will lose ordering
you're not nerd sniping me tonight though! NICE TRY