And I now have rooms (a single room), descriptions, and entry/exit messages!
If I bang on this tomorrow and get talking in the same room going, which should be easy, I'll think about uploading a first usable alpha!
Hard stuff is easy. Easy stuff like reading/writing data files is hard.
My usual functions for this are R6RS, which has nice handling of exceptions and text encodings.
Kawa has R7RS-like shitty I/O, Scheme `guard` is given no information, so I have to use Kawa's `try-catch` Java hack. read/write/write-string work as expected. No get-string-all, instead this bullshit:
Sobota poranek. #kawa z naprawionego prowizorycznie ekspresu. Układam #jadłospis, żeby choć kilka dni postosować dietę, zanim porzucę ją na dobre. W weekend mam zamiar odwiedzić moje mieszkanie, napisać post na blogu… z czarem gpt rozmawiałam, że #blogowanie to dla mnie rodzaj odpoczynku i regulacji emocji. Sama prawda 😅.
Po wypiciu kilograma kawy która była „umiarkowanej świeżości” mam, w końcu, teraz coś na czym się robi crema #kawa (poniżej zamieszczę jak się pięknie parzy )
It has occurred to me that even without a real database, I could use my Kawa servlets to make a multi-player game, MUD or whatever.
Client can just POST message lines, and poll for updates. I don't wanna deal with WebStreams.
For safety, I'd have to make it checkpoint to a file every Nth call, and when/if I get a container destroy message.
#kawa
Numa Kaoru Moudjuu 沼香る猛獣
Радіо Поiзон_Райка.
Moudjuu yama kake-dasu
https://www.pixiv.net/novel/show.php?id=25755307
<>
#learn_japanese #Japanese_learning #radio #natsuki_karin #cevio_ai #cool_Japan #kawaii #cute #free_resource #Poison_Raika #ten #yousha #furu #sosogu #shindjuu #shizuku #chichuu #hisomu #numa #kaoru #moudjuu #kawa #kakeru #meguru
Numa Kaoru Moudjuu 沼香る猛獣
Радіо Поiзон_Райка.
Moudjuu yama kake-dasu
https://note.com/poison_raika/n/n31ea80b3a89f
<>
#learn_japanese #Japanese_learning #radio #natsuki_karin #cevio_ai #cool_Japan #kawaii #cute #free_resource #Poison_Raika #ten #yousha #furu #sosogu #shindjuu #shizuku #chichuu #hisomu #numa #kaoru #moudjuu #kawa #kakeru #meguru
Sessions working now, and it doesn't look too Java-ey. The helper code to do this is full of ::class shit.
Database and login system next. Then I'll be back in business.
I get to experience new frustrations every day!
Turns out you can't log from a servlet's init, because the config you're given isn't set on the object yet. But you can force the config to log for you.
((init (cfg ::ServletConfig))
((cfg:get-servlet-context):log (format #f "Motherfucker DiceServlet.init " cfg))
(rnd-seed! (current-time-millis))
)
Mega-strike: Labour wants investigation into Public Service Commission ads about strike action
“This coming Thursday more than 845,000 students will miss out on class time and over 6000 patients will…
#NewsBeep #News #Headlines #about #action #ads #adverts #calling #commission #condemning #create #decisions #impending #into #investigation #kawa #Labour #mataaho #megastrike #money #NewZealand #NZ #party #Public #service #strike #wants
https://www.newsbeep.com/198835/
It is quite nice now, down to just this, almost no Java bullshit creeping in, except for `(this):` which is tolerable.
I could use moustache templates, but most of my services return JSON anyway, formatted HTML is for simple stuff in iframes and such.
Pffffdft. This has been a hell of a night. My robot brain needs beer.
#kawa #scheme #java #cyberhole
FUCKING FUCK.
I finally found the root cause hidden by my dumber problems.
Kawa doesn't dispatch case-lambda. Maybe it's trying to resolve overloaded methods? I dunno.
I rename my -with-default functions to normal functions and it works great.
Aaaauuugh. I use so many case-lambda for defaults. But OK. Fine. Fixable.
Para od kawy wzrok wypogadza, zaczym tak piy, żeby para od kawy w oczy poſzła. Serce rozweſela, z czoła katarowe humory rozpędza, y przez pot wyprowadza, bol głowy uśmierza. Z doświadczenia wyprobowano, że odrętwiałym członkom czerſtwość dawną przywraca. Piie ſię gorąco cykaiąc.