Now

May 2026

Pet has to put PetWay on hold and help kitties from shit-tier countries to break free.

Pet wanted to implement tasks in the next PetWay release, but given the amount of changes and bugfixes it will be an interim release. Yet on hold. Poor kitties first.


Pet stepped into its own crap again:

char* s = "Lorem ipsum dolor sit amet";
PwValue a = PW_STATIC_STRING(s);
PwValue b = PwStaticString(s);

a is not equal to b, it's just eight chars long: "Lorem ip". On 32-bit systems it would be four chars.

That's because PW_STATIC_STRING uses sizeof(initializer). Merging both macros and use strlen for literal strings is silly too.

Pet needed to check is the initializer is a string literal, and here's an elegant solution:

.char_ptr = initializer "\0"

That won't work for pointers and that's exactly what pet needed.

Actually, pet placed this check into sizeof:

.integral_length = sizeof(__VA_ARGS__ "\0") - 2,  \

Pet stepped into CGI again. It's sticky and stinky but it gave PetWay lots of improvements.


Transactions, that's what humans need to learn. Given that that's they who invented that.

Pet is a moron sometimes (most of, actually).

Probably broke shring for a couple days.

Meow.


How shitty that golang is.

It does not like

process_file(
    filename,
    template,
    true
)

It needs exactly

process_file(
    filename,
    template,
    true)

Yay, pet finished revising (again) Status at last.

Exception kind of Status sucked as a concept because the logic was weird. Pet separated it into Exception type, a subtype of Struct with Status as a mixin.

Updated MYAW passed tests.

Pet does not like this solution and considers it temporary. But it's okay for now because it's stable and more or less clear. It will be revised many times, probably.

Now, pet gets back to exceptions handling in PetMachine.

Before