kaslisp now has:
`(symbol symbol ,(evaluate this please) (symbol symbol))
(eval) function(let) and (set) (I can’t remember if I’ve already posted about these but I’m so happy to have them working)I feel like it’s almost ready for me to start writing some proper code in it? I just want to add (print) and (input) (and in order to have either of these I’ll need to introduce a string datatype and I’m not sure how hard that will be for my parser to understand lol but we’ll see!)
a point-and-click scifi horror adventure game called Stasis is free on GOG today!
https://www.gog.com/en/#giveaway
CWs: gore, violence, cruelty, and other things that you would expect from a scifi horror game. I don’t know all of the details because I haven’t played it
I get bored with art really really quickly. I basically have no patience for it at all - it has to capture my interest within the first few minutes or I just move on to something else
for example when I’m reading some fiction I often quickly skim through it at first to see if my eyes catch something interesting, and if I’m playing a game with scrolling dialog boxes I’ll often just stop playing if there are too many dialog boxes in a row lol
and often if a game expects a lot of up-front effort from me (for example, a big AAA game with lots of cutscenes and tutorials at the start) I’ll put off playing it pretty much indefinitely
and I used to think that this was a problem, like my attention span was being shortened by spending my entire life on the computer (which is kinda accurate, lol. though of course it’s more nuanced than that). like maybe I need to stop and appreciate things more or learn to have more patience. or I would have FOMO about “what if it gets really good just after I stopped?”
but thinking about it now, I think it’s just that there are so few types of art that I end up enjoying, so the expected utility of me putting effort into something that I don’t immediately enjoy is very low. in fact the statistical distribution of my enjoyment of art, given that I’m not immediately hooked by it, probably looks like a long-tailed bell curve with the center firmly on the negative side of the X axis - so the mean of that bell curve is definitely negative lol
so yeah I’ve decided that there’s nothing wrong with me playing a game, seeing that it has a lot of scrolling dialog boxes, and immediately uninstalling it lol. or me saying “I’ve been meaning to play this demanding AAA game for like 2 months. that’s never going to happen so I’m just uninstalling it” or even just, skimming a piece of fiction for 3 seconds and deciding not to read it
(lambda) is confirmed working in kaslisp! I decided that I wanted most of my unit-testing code for (lambda) to be written in kaslisp itself, so I ended up also adding (not), (or), (and), (is?), and (set) which were all surprisingly easy to make!
I also decided that I’m no longer going to represent the boolean values true and false as 'true and 'false. instead they’re represented by the Python versions of True and False which simplifies my Python code a fair bit in several places
btw conventional games marketing wisdom says block game will never get a lick of press because i'm developing it out in the open and anything that's already public knowledge is not news so that means for it to go anywhere it has to have strong word of mouth
so uh, tell your friends? https://enikofox.com/blockgame
On Monday November 3 16:30 UTC, the #StopKillingGames UK petition will be debated in Parliament:
https://commonslibrary.parliament.uk/research-briefings/cdp-2025-0195/
It will be streamed live on the UK Parliament's YouTube channel: https://www.youtube.com/@ukparliament/streams
If you haven't already, inform your MPs and encourage them to attend!: https://www.parliament.uk/get-involved/contact-an-mp-or-lord/contact-your-mp/
it’s so hard to sell someone on the concept of “what you’re doing is unnecessarily hard, but if you put in a lot of effort to wrap your head around this counterintuitive thing, then you can do it way more easily instead”
I’m specifically thinking about stuff like ECS, Vim/Emacs/Neovim, containerization, immutability in general, and functional programming
because like, the argument format that I usually see is:
because first of all, if you say “the way that you normally do XYZ is hard” the first thing someone is going to think is “… I guess? but it’s just an inherently tricky problem. I could definitely solve it though, and I already have a high-level idea of how I would do that”. to them the problem is inherently tricky because - in their mental framework for solving this category of problems - it is
and when you follow up with “but actually you could do this much simpler thing instead” their response is going to be “that sounds sideways and backwards, almost to the point of being academic. if it’s so hard for me to even understand what your solution is then why would it be simpler?”
and like, how do you even bridge that gap without coming off like “trust me bro. my way is better. put in a bunch of work without understanding why and you’ll eventually agree with me”?
and also, if you’re in the position of the person being convinced, how do you distinguish between a genuinely useful problem-solving technique and a tech fad? like, is NixOS actually a useful operating system or is it an excuse to tinker with a cool functional language? is Vim actually a superior way to edit text or is it a mind-bending exercise in memorizing arcane keybinds and configuring plugins for no tangible benefit?
you can’t just try every counterintuitive new thing in the hope that it turns out to be a good idea, but you also can’t stagnate and refuse to learn new things because they all seem counterintuitive to you
@ifixcoinops has been doing a thing where he adds 468x60 ads to his website for free and I’ve been thinking about making one for #HideousDestructor ( #HDest ) to hopefully get more people interested in this very niche ZDoom mod
here’s what I have so far - what do y’all think?
this might not be the kind of thing that Dan had in mind though, since it’s not for a hobby website exactly. I would probably link it to some kind of “getting started” guide for the mod
in any case idk I’m proud of how good this looks so far and I’m just happy to have made it. graphic design is extremely not my thing but I think this is Not Terrible and maybe enticing to click
I had to rethink how I was approaching namespaces in order to implement the (lambda) special form in kaslisp, but I now have an untested prototype of (lambda)!
one thing that I’m kinda proud of is that you can do stuff like this with special forms in kaslisp:
(set λ lambda)
(λ (x y) (+ x y))
(I haven’t created set or + yet but you get the idea I hope)
the “function” that is run in a special form can be treated like any other function: in fact it’s a datatype that I call a “special function” for lack of a better term. it’s literally just a function that automatically quotes its arguments and is allowed to do weird things with the interpreter if it wants
also, in kaslisp you can add an arbitrary number of as and ds to a function call like (caaaddddaaaaadddaaaddaar) lol. and what you will get will be another special function!
there is an increasingly common complaint against video games that I just don’t understand at all: a lackluster post-game
like… what am I supposed to get from that? you finished the game, and you’re upset there isn’t more? so did you like the game or not?
Vim has always been charityware. Any money that was donated to the project went to ICCF Holand, an organization that helps marginalized children in Uganda.
Sadly, 2 years after Bram's passing, this charity will be dissolved. Future donations will be sent to a different charity called Kuwasha: https://groups.google.com/g/vim_announce/c/pUNbNXBLbKw
Bram's work over the years has done much good for disadvantaged communities. Whether you use Vim or Neovim, consider following their original creator's example in whatever way you can.
I liked Alien: Rogue Incursion so much that I played it again on a higher difficulty and 100%ed it. amazing game*
.
* to me and likely very few other people
Everyone's a descriptivist until Grice's maxims start getting flouted.
My friends bullied me into making an aztec/qr code barcode fusion.... yes both decode correct!
sometimes when liberals/centrists are antifascist it really sounds like “noo dont say that out loud we have to do white supremacy using the proper processes”
yess (cond) is working in kaslisp! this is the most complex special form I’ve implemented yet