Pinned post
Pinned post

the world needs more shiny espeon cosplaying as meowscarada

Pinned post
Pinned post
Pinned post

In the beginning the Cᴀᴛғʟᴀᴍᴇ created the biscuits and purrs. And its biscuits were without form, and it was a void, and darkness was upon the face of the kitty. And the Spirit of the Cᴀᴛғʟᴀᴍᴇ moved away upon facing the waters. And the Cᴀᴛғʟᴀᴍᴇ said, “let me be kitty”. And it was kitty. And the Cᴀᴛғʟᴀᴍᴇ saw that it was kitty, that it was a good kitty: and the Cᴀᴛғʟᴀᴍᴇ divided the light away from the darkness of its fur. And the Cᴀᴛғʟᴀᴍᴇ called the light Gay, and the darkness it called also Gay. And the evening and the murring were the first gay.

Pinned post

re: scents, not JUST a kink thing 

@manifold my transition goals are now to smell like wet cat nose

Pinned post

reposting because i can't find the original time i posted this 

screming at life like i’m demanding pets from my owner

Pinned post
Pinned post

returning to my owner with the results of my hunt (links to cat pictures)

the fediverse not beating the “heavily biased toward having a technical userbase” allegations

Show thread

i miss when gajim looked more old school. now it’s boring

amy called me pawsibly the most condescending gamer tonight, and sadly, i had to just accept that one.

ask clodboy, he can tell you

oh, i hope everyone who celebrated foxgirl friday had a good one btw

me, hey amy, should i ruin [caleb’s ring racers] tutorial experience?

amy: uh, sure

me: all right, caleb, you wanna find some secrets? :blobcat_3c:

do you know what the spherical cow joke is?

Showing off the baby. Photo from my collection, no date/info.

Christopher Nolan

Show thread

long, code 

/* ISC license. */

#include <stddef.h>
#include <stdint.h>
#include <limits.h>
#include <errno.h>

#include <skalibs/uint64.h>
#include <skalibs/bytestr.h>
#include <skalibs/stralloc.h>

#include <execline/execline.h>

int el_parse (stralloc *sa, el_chargen_func_ref next, void *source)
{
static unsigned char const class[256] = "`aaaaaaaaadaaaaaaaaaaaaaaaaaaaaaafcbffffffffffffjhhhhhhhiifffffffmmmmmmfffffffffffffffffffffeffffggmmmgfffffffkfffkfkfkflffnfoffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ;
static uint16_t const table[17][16] =
{
{ 0x0011, 0x0000, 0x0001, 0x2008, 0x0000, 0x0005, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2402, 0x2403 },
{ 0x0011, 0x0001, 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001 },
{ 0x0012, 0x1000, 0x0404, 0x0008, 0x1000, 0x0005, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404 },
{ 0x0911, 0x0900, 0x0404, 0x0008, 0x0900, 0x0005, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404 },
{ 0x0111, 0x0100, 0x0404, 0x0008, 0x0100, 0x0006, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404 },
{ 0x0011, 0x2404, 0x2404, 0x2404, 0x0000, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404, 0x2404 },
{ 0x0012, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404, 0x0404 },
{ 0x0012, 0x0408, 0x0408, 0x0408, 0x0008, 0x0408, 0x0408, 0x0208, 0x448c, 0x448c, 0x0089, 0x0208, 0x0408, 0x0408, 0x0408, 0x0408 },
{ 0x0012, 0x0408, 0x0408, 0x0004, 0x0408, 0x0007, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408, 0x0408 },
{ 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x440a, 0x0012, 0x440a, 0x0012, 0x008e, 0x0012, 0x0012, 0x0012 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x040b, 0x8408, 0x040b, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x0410, 0x8408, 0x0410, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x040d, 0x040d, 0x040d, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x0410, 0x0410, 0x0410, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 },
{ 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x0012, 0x440f, 0x440f, 0x440f, 0x440f, 0x0012, 0x0012, 0x440f, 0x0012, 0x0012 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x0410, 0x0410, 0x0410, 0x0410, 0x8408, 0x8408, 0x0410, 0x8408, 0x8408 },
{ 0x8111, 0x8408, 0x8408, 0x8004, 0x8408, 0x8007, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408, 0x8408 }
} ;

size_t mark = 0 ;
unsigned int n = 0, blevel = 0 ;
uint8_t state = 0, base = 10 ;

while (state < 0x11)
{
uint16_t c ;
unsigned char cur ;
if (!(*next)(&cur, source)) return -1 ;
c = table[state][class[cur]-'`'] ;
state = c & 0x1F ;

if (c & 0x8000U)
{
uint64_t u ;
if (!stralloc_0(sa)) return -1 ;
sa->len = mark ;
uint64_scan_base(sa->s + sa->len, &u, base) ;
if (!u || u > 0xff) return -2 ;
sa->s[sa->len++] = (unsigned char)u ;
}
if (c & 0x4000U) mark = sa->len ;
if (c & 0x2000U)
{
unsigned int i = blevel ;
if (!stralloc_readyplus(sa, i<<2)) return -1 ;
while (i--) sa->s[sa->len++] = ' ' ;
}
if (c & 0x1000U) sa->len -= ++blevel ;
if (c & 0x0800U)
{
if (!blevel--) return -4 ;
sa->len -= 2 ;
}
if (c & 0x0400U) if (!stralloc_catb(sa, (char *)&cur, 1)) return -1 ;
if (c & 0x0200U)
{
char x = 7 + byte_chr("abtnvfr", 7, cur) ;
if (!stralloc_catb(sa, &x, 1)) return -1 ;
}
if (c & 0x0100U)
{
if (n++ >= INT_MAX) return (errno = E2BIG, -1) ;
if (!stralloc_0(sa)) return -1 ;
}
if (c & 0x0080U)
{
switch (cur)
{
case 'x' : base = 16 ; break ;
case '0' : base = 8 ; break ;
default : base = 10 ;
}
}
}

if (state > 0x11) return -2 ;
if (blevel) return -3 ;
return n ;
}

fuck off

Show thread

execline (and skarnet’s) oftware in general) is usually pretty straightfurward (though the sheer amount of whack nonstandard NIH library functions involved are a pain in the ass to get your head around at furst) but i’ll never furgive him fur dropping a whole ass state machine transition table right in the source code fur the execline parser with zero comments. that shit’s just inscrutable

Show older
📟🐱 GlitchCat

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