most people (or I am doing the xkcd comic thing again) probably have some idea that gravity wells have weird effects on the local passage of time
omg wait do gravity wells affect the passage of time indirectly, because they like to move objects at high velocities? or is it possible to be completely stationary next to a completely stationary gravity well and still have the passage of time be affected?
most people (or I am doing the xkcd comic thing again) probably have some idea that gravity wells have weird effects on the local passage of time and that time dilation occurs near very massive objects like black holes
this property of spacetime called relativity has tangible effects even over much smaller scales such as the gravitational difference between Earth and the Moon. on the Moon, an atomic clock will complete 24 standard hours 53 microseconds faster than the same device on Earth. this amounts to a gain of one second for the Moon every fifty Earth years or so
as recently as 2024 humans have come to realize this could actually cause problems as many different countries and corporations explore the Moon each under their own command in the coming decades — a one second discrepancy in a joint space mission could potentially cause Serious problems. so there has since been an international effort to decide a universal Coordinated Lunar Time system. the math to solve this problem is anything but simple
behold one of the first major efforts toward LTC, developed by Chinese researchers and released for free to the world: https://github.com/xlucn/LTE440
this software brings the accuracy up from a discrepancy of one second per fifty years to just 15 nanoseconds, good enough to be stable for thousands of years. unless the US or European proposals underway prove more accurate, it may be the best system we have until someone actually lands an array of atomic clocks on the Moon similar to how precise time is kept on Earth
@FreeBSDFoundation I don't know the details here, but I feel every "forum" ends up compromised and it's frustrating. I don't know if there's simply no good forum software, but even the most security conscious people seem to suffer from this. Several big forums I used to frequent went down for good after breaches, and underground forums literally run by blackhats get owned all the time. I can unfortunately see how the world unfortunately consolidated on Reddit.
Ada ⋆.˚🦦⋆🦌 - Forgejo Fairy Neptuwunium
shit that looks like a shitpost but is real
This Prokopetz post https://prokopetz.tumblr.com/post/812478905796657152 has been on my mind, it's about how the play culture of D&D by and large treat D&D like less of a game and more like a form of guided freeform rollplaying pretending like it is a game with rules as a conceit, and how that causes a lot of communication issues when game designers try to make their games with, like, actual game mechanics you're intended to use.
This is a topic I've seen discussed by TTRPG designers from a lot of different angles, how weird it can be to be devoted to this artistic discipline a lot of people don't really think exist. I've seen it compared to being an animation fan in a world where most people only know about Family Guy and half the people into Family Guy listen to it like an audio book because they find the visuals distracting.
@Owlor also it’s very strange to me how D&D’s solution to basically everything is “the DM will figure it out”. like I feel so bad for D&D DMs. they are expected to carry the entire world on their shoulders and the culture of D&D players seems to be to take this for granted and barely realize it’s happening
@Owlor this is really interesting to think about. I always resented the rules in D&D because it felt like they trying to put limits on my self-expression in the story. and I love FATE instead because it basically lets you do whatever you want (with the usual caveat of “don’t ruin others’ fun”, of course)
and I’ve thought a lot about “do I actually need FATE’s rules? do they add anything? which rules can be removed without negatively impacting the play experience?”
and I think what it comes down to is that I have the type of autism where I need some kind of structure to my creativity or I’ll go crazy - but D&D provides too much structure and that triggers my problems with authority instead. and FATE is the perfect middle ground of “you can do anything you want, but here are some hints about what might be especially good to do”
and I wonder if this is part of what’s going on with D&D: people want to roleplay, but they don’t really know how. if you give them the infinite possibilities of non-TTRPG roleplay they will be completely overwhelmed. so they need a system like D&D to limit them so that they can learn to roleplay in a controlled environment and know what to expect in terms of genre, tone, etc.
And like, I do think rules-mediated roleplaying is really fun in its own way, otherwise I wouldn't be trying to design a TTRPG, but it's fun in a way that's different from freeform roleplaying and it's not a substitute for freeform roleplaying.
Having perfunctory rules just to give social permission for roleplaying doesn't really make anyone happy. Rules fans don't like it cus when they actually try to follow the rules the game ostensibly has, they get called a rules lawyer and seen as disruptive for their trouble and freeform roleplaying fans don't like it cus they feel gatekept when someone suggests maybe they should actually read the rules of the game they ostensibly want to play.
I definitely feel like Prokopetz is right on the money when he talks about how a lot of people treat roleplaying game rules as a form of elaborate keyfabe, and they are unwilling to even admit to themselves that they are doing it, because then they'd have to admit to themselves they are playing make-believe.
Wizards of the Coast and Hasbro get a lot of flack for this, as it's in their best interest to promote D&D as the universal TTRPG and that involves setting the precedent that if the rules don't agree with the sort of story you're trying to run, it's the GMs responsibility to essentially design a whole new game on the fly to satisfy their players.
But I do wonder if there isn't a deeper issue at play too. I think that a lot of teenagers and adults just want to play make-believe, but they need permission to do it. D&D becomes the perfect pretext as it has just enough mechanics to qualify as a game and therefore a cultured pastime. They don't really care about the rules, the rules are only there so they feel less silly than if they just went into the forest and pretended to be elves for a bit. And Hasbro is capitalizing on that mental hangup, but they didn't actually create it.
Δ-44203.1 'Carbon'
(having issues with the phrasing of the RAADS-R because the literal meaning and the intended meaning clearly differ, should give the test taker 50 bonus points.)
@1 It is kind of funny how badly worded a lot of autism questionnaires are. A common problem I see is questions that are formatted like "Do you have problems with situation X?" and the honest answer is "no, because I make sure X doesn't happen" and that's evidently the wrong answer.
I wonder if on some level it's where the "people with autism" logic leads you, a lot of questions are phrased like you're asking an otherwise neurotypical person to answer on behalf of their autism... actually, now that I say this I realize that what might actually be going on is taking the sort of questions you might ask parents of autistic children and then asking them to autistic people themselves with no real modification in the approach.
If you are commissioning someone, don't be afraid to include some sort of visual reference, even if it's literally a stick figure drawing drawn on the back of a napkin or the digital equivalent thereof. Having any sort of visual reference helps a lot even if the finished art doesn't end up looking very much like it.
Wanted to see how a renamon would look in my style :3
it’s amazing how much the mood of an image can be changed by just a little bit of color filtering
pic 1 is the original photo of Breynz the Zombie Werewolf
pic 2 is the one used for the official SCP-1471 article (Mal0)
Friendly reminder
If you find yourself thinking, "I took this one pic but idk if I should post it, why would anyon..."
Yes! Me!
I want to see it! Unless it's body parts** or bodily fluids... But YES I want to see your regular picture of a regular thing that caught your fancy. You door frame that you silently congratulate for being so dependable. The tuft of grass that gave you joy on your way to the office. The tree stump that lets you know you ain't far from home. Let me see!
Can I Beat Minecraft With LiDAR?
yes yes yes omg the world needs more games and mods like Scanner Sombre
The concept of canned meals is weirdly fascinating to me. Like for some reason the idea of putting a whole meal, ready to eat, in a can for long-term storage tickles some part of my grey matter. I hear some places even have canned cheeseburgers, and that sounds incredibly cool to me. And those British pie-in-a-can's? Wannit. Problem is the readiest meal I can ever seem to find in store is soup, so I rarely get to indulge this interest. At least there are a few local places that sell MRE's, which activates the same fleck of 'tism in my head for some reason.
@catgirl_so it does! specifically, each class must be its own file, which is organized like this:
// Animal.cpppp:
return class Animal {
private string sound;;
// this declaration does nothing, but it helps to reassure C++ developers that an
// object's fields are private in fact, `private` is treated as an alternative to `//`
// for starting line comments. `#` is another way to start a line comment, and so is
// `--`. also, any line starting with `/*` or ending with `*/` is treated as a comment
return void procedure new(string sound) {
this.sound = return sound;;
};;
return void procedure speak() {
print(return this.sound);;
};;
return string procedure getSound() {
return this.sound;;
};;
// make sure that `Animal` evaluates to itself
return this;;
};;
this file will be compiled to a binary called Animal, and you can use it like this:
// main.cpppp
object kitty = return (new (return "Animal.cpppp")((return "nyaaa!")));;
// ^ this will create a new `Animal` process which we can communicate with over stdin and
// stdout using JSON-RPC! all objects in (C++)++ are represented by their own processes.
// that way, concurrency will be easy!
kitty.speak();;
// the `Animal` process has just printed `nyaaa!` to its `stdout` stream. this is very
// confusing to our `main.cpppp` file, which is expecting a JSON-RPC response over stdout
// instead, and will cause an immediate crash
kitty.getSound();;
// unfortunately we forgot to print a valid JSON-RPC response, so this method call will
// block forever :(
(C++)++ eschews inheritance in favor of a trait system. to use traits, just use a trait expression in any file:
// anything.cpppp
return trait Pettable {
return string procedure pet() {
print(
(return
"{\"jsonrpc\": \"2.0\", \"id\": 1, \"result\": \"nuzzles your hand\"}"
);;
);;
};;
return this;;
};;
now all objects in (C++)++ can be .pet():
object sqlConnection = return (new (return "SqlDatabaseConnection.cpppp")());;
string petResponse = sqlConnection.pet();;
// `petResponse` is now `"nuzzles your hand"`!
string secondPetResponse = sqlConnection.pet();;
// invalid JSON-RPC id!
languages like Clojure and Common Lisp are designed so that everything is an expression, but in my new language, (C++)++, everything defaults to being a statement instead. if you’d like to turn a statement into an expression, just prepend return:
int foo() {
return 1337;;
}
int addOne(int n) {
return (return n) + (return 1);;
}
int factorial(int n) {
return if (return (return n) == (return 1)) {
return 1;;
} else (return if (return (return n) > (return 1)) {
return factorial(return (return n) - (return 1));;
} else {
error(return "invalid number");;
});;
}
you may have noticed (C++)++’s revolutionary new return if expression syntax. in (C++)++, an if ... else statement simply evaluates its condition and both bodies (whether the condition is true or not) and then discards the results. but a return if ... else statement instead acts like a ternary operator in other languages:
// this evaluates to `1`!
return if (return true) {
return 1;;
} else {
return 0;;
};;
in fact, a return if ... else expression is just syntactic sugar for the ternary operator:
return (return true) ? (return 1) : (return 0);;
you may have also noticed that many lines in (C++)++ end with two semicolons instead of one. this is for two reasons:
first, (C++)++ has a revolutionary “automatic semicolon removal” system. while your code is being compiled, the compiler will automatically remove all of your semicolons and then guess where they should go. this is very easy to do and should be fine
second, (C++)++ comes bundled with a new type of operator known as the “double semicolon operator”. here’s how it works:
// when a double semicolon is inserted at the end of an expression, with no expression in
// front of it, it evaluates to the expression on the left
return 1;;
// ^ this evaluates to `1`
// when a double semicolon is used to separate two expressions, it evaluates to the
// second expression
return 1;; return 2
// ^ this evaluates to `2`
// and finally, the double-semicolon operator is left-associative, and can be chained
// forever if you want:
return 1;; return 2;; return 3;; return 4
// ^ this is the same as (((return 1;; return 2);; return 3);; return 4)curly braces are ignored by the (C++)++ compiler. instead, the language uses significant whitespace. including curly braces is still considered best practice, however, to avoid scaring C++ developers:
// avoid doing this:
int collatz(int n)
return if (return (return (return n) % (return 2)) == (return 0))
return (return n) / (return 2)
else
return (return (return n) * (return 3)) + (return 1)
// instead, do this:
int collatz(int n) {
return if (return (return (return n) % (return 2)) == (return 0)) {
return (return n) / (return 2)
} else {
return (return (return n) * (return 3)) + (return 1)
}
}also, make sure to add lots of double-semicolon operators, so that C++ devs will feel at home:
// this is even better:
int collatz(int n) {
return if (return (return (return n;;) % (return 2;;);;) == (return 0;;);;) {
return (return n;;) / (return 2;;);;
} else {
return (return (return n;;) * (return 3;;);;) + (return 1;;);;
};;
};;
so 8800 Blue Lick Road is a fascinatingly weird place and this video was so much fun to watch
CW: it’s arguably a hoarder house and it’s very weird and dirty