Got my Kawa Scheme environment rebuilt. I forgot I'd hacked a couple source files to get a clean-ish compile (it also uses deprecated Thread primitives! FUCK OFF ORACLE!), & the current repo version of Kawa doesn't have everything it needs to build, I'm too lazy to investigate.

% ./build.zsh randomizer marklib.scm
(compiling randomizer.scm to tech.mdhughes.Randomizer)
(compiling marklib.scm to tech.mdhughes.marklib)
% ./run.zsh tech.mdhughes.Randomizer 3 6
Rolled 3d6 (5 5 4)=14
#kawa #scheme

I watched a bit of endparen streaming CLIM/SDL work this morning, & talked about Lisp Game Jam, but I think it's a little early to try to distribute ECL+CLIM & hope it'd run on anything but one machine.

Kawa being an old version doesn't affect it producing JVM code that works pretty well everywhere.

Now I'm trying to think of some busybox UI application I can make that'll exercise Swing UI, but not be a game because that's the game jam. I don't work well at just making buttons for no purpose.
@mdhughes
How about making buttons to control a button-making app?

@dougmerritt I did consider making a sprite editor because I don't have sprites for it yet, but I hate writing painting code.

Right now I'm just making a little fake-terminal-BBS called "Doors" & I'll see if I do something smarter.

FUCK YEAH GRID OF X!

Mostly I shouted at Oracle's docs site a lot & then figured out how to trick Java into giving me useful information.

(unless %font-render-ctx
(set! %font-render-ctx g2d:font-render-context)
)
…100 lines later…
(fbounds ::Rectangle2D (font:get-string-bounds "W" %font-render-ctx))

#kawa #scheme #java

I hate fonts in Java so fucking much I'm'a stab everyone who ever worked on anything but monospace fonts & made those impossible to render trivially.

#kawa #scheme #java

Fussy char positioning, borders, & typing all the ASCII chars. Actually useful object! Barely had to go insane & start hitting things.
#kawa #scheme #java

Also now have it do a modem squeal on "connection" (Audio in Java! Used to be easy & fun, but Oracle made it suck!!!), but to verify some of the behaviors I want, I'm gonna rewatch BBS Colon The Documentary Colon The MP4 Colon The Jason Scott Production Colon Mark doesn't find this naming style risible at all no.

https://archive.org/details/BBS.The.Documentary
#kawa #scheme #bbs

BBS: The Documentary : Jason Scott : Free Download, Borrow, and Streaming : Internet Archive

Long before the Internet escaped from the lab, connected the planet and redefined what it meant to use a computer there was a brave and pioneering band of...

Internet Archive

Audio's quiet because QT Player doesn't screen record with Mac's output, but microphone input. Sheesh.

Doesn't do anything yet, but I'm amused.

I figure it starts with a small list of boards, & in "play" you find other board numbers.

I could also make it call real boards, but SSH, ANSI, etc. is all *hard* & I have other hard problems.

Way down a rathole here, when what I wanted this for was just to have a text area for some kind of hacker minigame.

#bbs #kawa #scheme #java

Once you learn how to use the power of TBBS!

#bbs

I do need to find some menu maps of a few old BBS's, so I can simulate more of them. I'm basing the first board on CBBS, but may do an entirely different style for others.

WWIV, TBBS, Fido would all be helpful.

The first BBS I ran was STarNet (Atari ST, obvs) off my 520ST & 1 floppy; just a TTRPG message hub really.

My 2nd was Caves of Steel running Fnordadel, I can read the source for that.
#bbs #kawa #scheme

@mdhughes I try not to dwell on imagining what could have been if Sun had survived, and just be happy that we got a free JVM, accessible Gnome, zfs, and illumos before Oracle consumed it

Watched the doc up thru the Fidonet chapter, & jiminy I'm glad I avoided that nest of vipers.

By late '80s we had networking on CitNet & WWIVnet, & soon Internet access for most; a BBS was still better for local culture & mostly free.
#bbs