Posts
2342
Following
118
Followers
641
software tinkerer and aspiring rationalist. transhumanist and alterhuman

I try to be very careful about CWing things. sometimes I make mistakes but I want to make my posts as safe to read as possible

I sometimes post NSFW/kinky/lewd things behind CWs. this should go without saying but if you're a minor please do not interact with anything lewd/NSFW that I post

I have very limited energy and am very shy so it might take me a long time to reply to messages sometimes, or I might not be able to reply at all. this is kind of an "output only" account for the most part, but I'm hopeful that I can change that over time

I sometimes use curly braces to {clearly show where a grammatical phrase begins and ends}, like that. you can think of them like parenthesis in code or math, except they operate on grammar instead

for those who aren’t aware, Call of Duty’s revolutionary Omni-Movement™ technology allows the player to move in any direction, as opposed to basically only being allowed to move forwards

1
0
3

Call of Duty’s new Omni-Movement™ system is an amazing example of AAA games innovating by changing things for no particular reason, and then innovating again by un-changing things and going back to how Quake 1 worked

1
1
4
Edited 14 days ago

my philosophy as a developer is to figure out which technologies are the most popular and deliberately avoid them out of disgust

this philosophy has resulted in 58,927,345,598,307 unfinished toy projects, maybe like 12 finished toy projects, and one bare-functionality webapp

but at least I’m not using Node *shakes fist at cloud*

1
0
6

Beating Minecraft, But I Can’t Break the Laws of Judaism

this is unironically a really cool and interesting video wtf

CW: there’s a gross part at the end but just skip the last few seconds (from 18:44 onward)

0
1
2

@vapourisation yess omg - I’ve had this exact problem with both Common Lisp and JavaScript and it drives me absolutely crazy. I want a language that gives me as few opportunities to bike-shed as possible lol. and I definitely agree that Python does an amazing job of this. as much as I’m criticizing Python it is actually one of my favorite languages

1
0
1

in a normal language like Python the way things work is that someone says “I would love to use this language, if only it could do [thing]” and then the designers may or may not add that to the language. and over time the language gets more and more complex as new features and syntactic rules and special cases are added

but something that I find incredibly beautiful about Lisps is that that is completely unnecessary. if you want a new language feature in a Lisp language, you can just add it for yourself. users of the language have exactly as much control over what the language does as the actual designers of the language do, and adding new language features isn’t even that hard

0
0
3

in general I think that more languages should take “how is someone going to learn this language” as a serious design consideration early on

and I think that it’s not only possible, but a very good idea, for:

  • the documentation of the language
  • a specification for exactly how the language works
  • a tutorial for new users of the language

to all be one unified thing

2
0
3
re: my ideal programming language philosophy (long)
Show content

here’s an example of what I mean. let’s say that my ideal language is a Lisp (because that seems likely). The root node would have natural language explanations of how to use (cond) and (defmacro) and other language features like that. it would also define what the word “evaluate” means and what a “form” is and etc. but then a child of the root node would contain stuff like:


(if) is defined as:

(defmacro if (condition if-form else-form)
  `(cond ,condition ,if-form
         true ,else-form))

in other words, (if) evaluates to the if-form as long as condition is truthy. otherwise it evaluates to the else-form. either way, only one form is evaluated. here are some examples:

(examples are so fucking important - although I won’t give any here because I’m lazy :P. massive bonus points if the examples are so exhaustive that they’re used as unit-tests for the language)

1
0
2
my ideal programming language philosophy (long)
Show content

in the past I’ve posted about how my ideal language would be made out of the bare minimum of simple parts, and then built out from there as a tree structure of abstractions

the root node would unfortunately have to be defined in natural languages which are messy and imprecise, but all of the root’s child nodes would be defined in terms of the language features in the root node - as well as having natural language descriptions to help people understand what they’re reading and why it’s designed that way

and for every node in the graph, its features would be defined only in terms of the features contained in its child nodes (with natural language to help explain things more of course). also, each child node would reuse as many concepts as possible from its parent nodes, to minimize the number of special cases that a user of the language would have to learn

there are a few reasons why I want a language like this:

  • just simple aesthetics. it’s beautiful to me to take the bare minimum of parts and build outward from that, and I love that if some node somewhere in the tree isn’t beautiful for someone, then they can make their own node instead
  • more importantly, beginners can learn in discrete “steps” and gain a basic understanding very very quickly. after they’ve learned the root node they can feel accomplished that they’re able to do everything the language is capable of already, and all there is left to learn are bonus convenience features
  • as they learn more and more distant nodes, they’re able to incrementally increase their ability to express complex thoughts using the language - effectively allowing them to learn chunking in the new language
  • every single feature of the language, not including the root node, is defined with complete precision because it’s written in code rather than natural language
  • in theory, a language designed like this would require users to learn the minimum number of discrete concepts in order to use the language - which would also create a “there’s only one way to do it” effect where users can often correctly guess how to use a new language feature just by applying existing language features in the way that makes the most sense

I feel like a lot of languages over-rely on people “just knowing” what different behaviors are and do, and they also take for granted that users of those languages are willing to memorize arbitrarily many special cases that could have been simplified by reusing existing concepts. just compare Lua’s import system with any other scripting language’s import system for a great example. Lua’s import system only has two special-case rules (how it finds the file, and the fact that that file gets executed like a function) and otherwise works entirely using pre-existing language features. can any other language say the same? if so I want to know about it

meanwhile Python is a mess of “okay so… this directory is treated like a module, right? is that in the search path? wait this is from . import foo so it looks in the current directory… but what’s ‘the current directory’ in this case? wait no it’s not the current directory it’s the current module, isn’t it? but how does Python define a ‘module’ again?” I’ve used Python since I was 14 and I still couldn’t tell you the behavior of a lot of imports without running it just to make sure. and my experience is that every programming language besides Lua is like this. so I’m forced to experiment with each import system by trial-and-error instead of just understanding it right away in terms of stuff I already know

and I think that’s a microcosm of a bigger problem, which is that languages take for granted that their users are willing to learn arbitrarily many special cases, extra syntax rules, new keywords, etc. a lot of languages are really fucking big and every new feature is a self-contained “thing” that has to be learned in complete isolation from anything else in the language - without any familiar reference point to understand it from (looking at you, Rust)

but imagine, instead, if I had a clear progression of nodes to traverse, and traversing those nodes required me to learn as few discrete concepts as possible - but rather let me recycle my old knowledge to learn each new system. wouldn’t that be so much better - not just for learning, but for understanding and applying that knowledge?

anyway, I’ve been hopeful that there’s some Lisp language out there that could do this for me. since they can be built up from literally like 9 discrete concepts, and from there it’s possible to build an arbitrarily complex language, with special syntax and built-in DSLs and everyting - which I find incredibly beautiful

unfortunately the Lisps that I’ve found so far (other than Fennel) have felt… not good. and they definitely don’t follow this philosophy. so I’m still looking for my ideal language, or at least something a bit closer to it than Lua is, in case it’s out there somewhere (currently I’m hopeful about Scheme and warily curious about Haskell)

in the meantime, though, I’m happy to have Lua and Fennel because they get pretty damn close. especially Fennel

1
0
2
physical health negative
Show content

reason #578 to get an android body: I wake up in pain, too early in the morning, more often than not now :/

this time I somehow hurt my neck in my sleep and now it hurts every time I look to the left. fuck this shit I wanna be a cyber-succubus

0
0
5
repeated
:ms_robot_upside_down:, technically a subpost
Show content

query: do {rewrite it in rust} evangelists still exist? when was the last time the reader noticed a commenter telling someone to rewrite something in rust, without the commenter offering to shoulder the work?

this unit is disappointed that a useful programming language acquired such a negative reputation from a loud minority of its users. it would be quite disappointed if that reputation outlived the loud minority, and programmers continued to dislike the language based solely on [stereotypes, ghosts]

1
1
3

@malin this language is fucking incredible lol. this might be my new favorite language

0
0
1

@fargate hehehe that’s incredible. when I see ä I think of how it’s pronounced in Finnish which is /æː/. the concept of pronouncing it like /fæːfæː/ is amazing lol I might start using that

0
0
2

(this is a shitpost if it wasn’t clear)

1
0
3

how do you pronounce FFXIV?

23% fuh-FUHKS-ive
14% eff-EFF-ksive
19% eff-eff-thirteen
42% Maple Story
3
3
6
re: kinky, funny
Show content

@nico awww! I’m so glad that you think so, and that I could inspire you to try it!

0
0
1

@mitsunee aww! having supportive people in your life who can recognize what’s hard for you and be encouraging is so important. I hope that you can find people like that, if they aren’t there already. I’m glad that you’ve been able to feel rewarded for some things on your own, though! that sounds like a great improvement

0
0
0
Edited 15 days ago

esolang that starts as the minimum viable lisp

except anyone can create a new function or macro and it becomes a read-only builtin after that point, which anyone else can use

for example I could use (cond) to make an (if) macro and now everyone else has access to (if). except if I make a mistake with (if), that mistake is there forever. now someone has to call their working version of if (if-fixed) or (if-working) or something

2
1
7

“a great way to build a connection with all of our customers is to aggressively refer to them with their legal names”

- a cishet white man in his 60’s, probably

0
0
2

I don’t think marketers appreciate how much damage they’re doing to my perception of their brand when they send me emails like

Well hey there, [deadname]! It’s so nice to meet you!

Hey again [deadname]! We’ve got a fucking coupon for you [deadname]!

[Deadname], have you considered buying [thing]? You should really consider it [deadname] it’s a great idea [deadname].

2
0
4
Show older