Posts
3401
Following
129
Followers
701
software tinkerer and aspiring rationalist. transhumanist and alterhuman

I have strong opinions about #Lisp but love S-expressions. I also have strong opinions about video games, TTRPGs, software, and programming in general and I post about them a lot

I like to use curly braces to {group words together} to make my sentences easier to parse. for example, try reading the garden path sentence "the complex houses married and single soldiers and their families", and now try reading it with curly braces: "{the complex} houses {married and single soldiers and their families}"

I try to thoroughly CW anything that I post or boost which might be triggering, or just cause strong emotions like outrage or fear. sometimes I make mistakes but I want to make my posts as safe to read as possible. I even CW when I'm {complaining about} or {making fun of} something in case you don't want to hear a stranger criticize something you love

replying to messages is very energy-intensive for me, so I may not reply to certain messages at all, or it may take me a long time. DMs are especially hard

random question but, when using a #Lisp how do I look up forms to use? like for example let’s say that I’m new to Scheme and I want to know how to get input from the user, and then turn that input into a number

how would I look up the names of the forms that would do those things for me?

with Janet I went through all ~360 top-level forms and created a categorized cheat sheet for myself, with categories like “for handling errors” and “for organizing data structures”. but that took hours and was really laborious, and most Lisps have way more than 360 top-level forms so that would be pretty impractical

5
0
3

caller: hello function please give me a number, or let me know if you don’t have a number to give me

function: hi, caller! here - take this spoooky quantum box! it may or may not contain a number. no one knows!

c: q-quantum… box?

f: that’s right! it simultaneously contains a value and doesn’t contain a value! if you try to open it there’s a 50% chance that you’ll destroy the universe!

c: I asked for a number, function. how am I supposed to do anything with this?

f: well, you can dispatch a quantum trans-box interaction method which may or may not perform an action on the number that may or may not exist!

c: listen, can you at least tell me for sure if this box has a number in it?

f: nope! that’s the whole point! instead you can just dispatch a multiversal datastream mutator which may or may not hypothetically interact with the number’s superposition!

c: can I just have a little peek into the box and look at the number?

f: you can dispatch a quantum observer which will hypothetically look at the number which may or may not exist! and then it can perform an action while simultaneously not performing an action on the semi-existent number!

c: can I… touch the number?

f: you can split the timeline in two, where one of you handles the nonexistence of the number and the other timeline handles the existence of the number by touching it! and then one of those timelines can handle the action of-

c: okay you know what function? *tears open the box out of pure spite*

*a black hole consumes the universe*

2
1
6

monads do make a lot of sense in Rust though because it lets you have “exceptions” at a very low runtime cost

with that said, Rust can go fuck itself

0
0
2

Option<int> is just int | None with a math degree

5
1
9

I’m starting to think that maybe monads are only a useful concept in languages without union types, or languages without type-checking - and the reason why I can’t understand their value is because I don’t use the type of language that would benefit from them

I’ve heard a few different arguments for why monads are helpful but they all either don’t make sense to me (their explanation for why monads are better expects me to make an inference that I can’t) or they only make sense in a language with limitations that most popular scripting languages don’t have (for example, a language where any primitive can be null and you have to manually check all the time)

3
0
4

@dragonarchitect @elastosaur NixOS is so much worse than you would think. you don’t just have to learn Yet Another Programming Language - it basically turns any basic computer task into an engineering puzzle… which you have to solve in a really counter-intuitive functional programming language. which is great for folks who love tinkering with computers and want lots of excuses to do that, but terrible for folks who don’t care about tinkering and only want to use their computer to get work done or play games or etc.

like the amount of stuff you have to figure out in order to literally just play modded Minecraft is kind of terrifying to me lol

1
0
1

@dragonarchitect @elastosaur to be honest I would caution against using an immutable distro just because the impression I get is they’re for the types of folks who love to tinker and obsess over Linuxy stuff. like once you have a setup that works I assume it will keep working forever (unless you need to update to get security updates or something), but it takes a lot of tinkering and learning to reach that point which personally I wouldn’t want to do - I want my computer to Just Work

1
0
0

@dragonarchitect I’m convinced that having dependencies shared between multiple pieces of software like this (instead of every piece of software having its own dependencies built in) is a mistake in almost all cases. this is my biggest pain point with package managers of all kinds because this always fucking happens

0
0
1

@Willow Kasdeya was an angel who was cast out of heaven for teaching the human race about medicine, poison, abortion, psychology, and hypnosis. she’s almost like the Abrahamic equivalent of Prometheus. I could probably write a 12-paragraph essay about what all that means to me lol

0
0
8
repeated

Vivian, Venus Pirate 🏳️‍⚧️

My lovelies, I want to hear the wonderful stories of how your name came to you. True or fanciful, poetic or prosaic, how did you meet your name?

3
2
1
repeated

This is a
Conduit
Through
Which I
Can hold
You for
Just a
Moment.
Hello, you
Are loved.

1
3
1

@OneSadCookie I really like using type annotations when I write code in a dynamically typed language, and then using a typechecker/LSP to make sure that I’m not making any type errors. and I honestly feel a little naked without that kind of type-checking at this point

but, maybe 1% of the time I’ll be writing a function/method and have no idea how to express it in terms of a type annotation. and I’ll have to do something almost like algebra in my head trying to figure out what the annotation would be. it’s not that I don’t understand what types the code will use but just that I don’t know how to express it if that makes sense. that happens a lot when I need to use type parameters

also, sometimes I’ll be writing a very simple function and just immediately know that giving it a type annotation is going to be impossible or very close to impossible lol. for example I wrote a partial() function in TypeScript and gave up pretty quickly on giving it a type annotation

so I really like having the escape hatch of just not including a type parameter, or using Any in places that I don’t know how to express

I wonder if Rust could handle a partial() function at all, and if so how you would explain that to the type system. Rust seems able to handle just about anything that you throw at it but I feel like you might need to use some deep magic for that to work. I bet Haskell’s version would be very simple though

2
0
2

@kit hehehehe! I’m ngl I’ve been pretty tempted to try the Monster Hunter games because of that alone. although I’m pretty uncomfortable with the premise of killing animals and then wearing their skin and eating them and stuff, so I probably won’t actually try it 😅 but the gameplay looks fun and unique though and I’ve heard that there are weapons that let you move and attack at the same time, almost dancing around in the fight, which sounds pretty cool

1
0
1

@hearts omgg that is exactly how I feel in a statically typed language lol. I get so disoriented and lost so quickly - it almost feels like I have to learn how to write code all over again, from scratch

1
0
1
Edited 2 months ago

I hate feeling limited by a programming language. I want the language to adapt to how I conceptualize the problem, instead of being forced to adapt to how the language can conceptualize the problem. and statically typed languages feel really limiting to me. like you can only do the things that you can explain to the type system, and I feel like the type system is either:

  • kinda dumb and very limited on purpose (C#, C)
  • so complex that you basically have to learn a whole new branch of advanced math to understand how to use it properly (Rust, Haskell)

although on the other hand, I wonder if folks who are used to statically typed languages find dynamically typed languages to be scary because they let you get away with so much bullshit lol

6
0
6

I’ve heard that the Monster Hunter games are like this, where you avoid attacks through positioning instead of iframes

3
2
6

@liese yes omgg I find that decision so baffling, even as someone who is Very Passionate about the overuse (IMO) of iframe-based dodging in Soulslikes. like it would have been so, so much better to just have a fixed number* of iframes like in Dark Souls 1

* it’s more nuanced than that but it’s basically a fixed number

0
0
1

@woof hmm I feel like I might watch some folks play Nioh 2 and get a feel for what it’s like because it sounds interesting. and if I like what I see I might give it a try! since it sounds like Nioh 2 is the one that you like the most

1
0
2

@woof oohh I know almost nothing about Nioh. I might give it a look just based on this alone lol

1
0
1

@OctaviaConAmore @vivi omg are you talking about Phantasy Star Online 2? I don’t know much about it but one of my partners loved the first game and seems to think pretty highly of the second game too

0
0
0
Show older