|
Themed codebases are the worst.
|
# ? Oct 27, 2017 08:01 |
|
|
# ? Jun 5, 2024 04:28 |
|
Wix is themed around candles. Rob Mensching should be buried under a pile of .wxs printouts and burned alive.
|
# ? Oct 27, 2017 08:07 |
|
It's often a good idea to build the internal structures of a program to imitate some real-world metaphor. But not this metaphor.
|
# ? Oct 27, 2017 08:25 |
|
|
# ? Oct 27, 2017 08:33 |
|
Thankfully, metaphors always fail eventually. Hopefully.
|
# ? Oct 27, 2017 09:03 |
|
|
# ? Oct 27, 2017 09:09 |
|
maybe its a satirical criticism of all the other problematic compsci metaphors out there already
|
# ? Oct 27, 2017 10:33 |
|
|
# ? Oct 27, 2017 12:24 |
|
there should be a horror game where all you do is dig deeper and deeper into a git repo to try to understand the twisted motivations of the coder
|
# ? Oct 30, 2017 00:37 |
|
https://twitter.com/pasiphae_goals/status/923821586213457920
|
# ? Oct 30, 2017 01:12 |
|
|
# ? Oct 30, 2017 04:44 |
|
im the golang person that writes everyhting with only As or Zs because i have to and then tells real people its actually a neat trick
|
# ? Oct 30, 2017 04:49 |
|
click the "27 Oct" in the top/small tweet and read the whole thread. it's amazing https://twitter.com/pasiphae_goals/status/923857335482798085 e: https://twitter.com/Sajma/status/924016544622968832 Lutha Mahtin fucked around with this message at 05:05 on Oct 30, 2017 |
# ? Oct 30, 2017 04:57 |
|
https://twitter.com/pasiphae_goals/status/923823320465801216 er isn't that called "not equals"
|
# ? Oct 30, 2017 05:13 |
|
https://twitter.com/pasiphae_goals/status/923845173393715201 NaNs don't work that way.
|
# ? Oct 30, 2017 05:16 |
|
Sapozhnik posted:https://twitter.com/pasiphae_goals/status/923823320465801216 there is a defined meaning for xor for booleans. the result is the same as != BUT there's no reason that bool ^ bool should be left out just because the result is the same as bool != bool.
|
# ? Oct 30, 2017 05:25 |
|
https://twitter.com/pasiphae_goals/status/923825497083187201 can someone explain this one to me? not sure i am understanding the use of euclidean domain here but i think she is referring to this part of the go spec quote:If the dividend is non-negative and the divisor is a constant power of 2, the division may be replaced by a right shift, and computing the remainder may be replaced by a bitwise AND operation: and yeah if you did this for a negative dividend then you wouldn't have (quotient * divisor + remainder = dividend) by that's why it specifically says non-negative dividends, where bit shifting and masking is just an exactly equivalent optimization, so i don't know idgi
|
# ? Oct 30, 2017 05:54 |
|
Lime posted:https://twitter.com/pasiphae_goals/status/923825497083187201 it's one of those "oh it's nicer if we do it this way" in math, so you usually restrict the remainder to be nonnegative. it's like as if you made sqrt(4) == -2, it's not technically wrong but... why are you going against the most natural convention? edit: but tbf go is doing what most programming languages do, very few languages actually stick with the euclidean domain definition: https://en.wikipedia.org/wiki/Modulo_operation#Remainder_calculation_for_the_modulo_operation fake edit2: the more I read the tweet the less I understand what it's really about Symbolic Butt fucked around with this message at 07:24 on Oct 30, 2017 |
# ? Oct 30, 2017 07:02 |
|
Sapozhnik posted:https://twitter.com/pasiphae_goals/status/923845173393715201 you have to do x != x, helpfully
|
# ? Oct 30, 2017 07:57 |
|
it's a functional programmer sneering at a lesser language through the time honoured method of shitposting
|
# ? Oct 30, 2017 07:58 |
|
there's no reason for that thing about div/mod to be in the spec at all. it's just didactically informing you, the sort of ignorant and inferior coder who uses go, that certain cases of integer division can be implemented without using a full divide instruction. (incidentally this is true of i believe all constant divisors, it's just not always as cheap as a shift.) if go used shifts for all divisions by a constant power of two regardless of sign, that would be important to include in the spec. or if go guaranteed the use of a shift to implement a divide of an unsigned type by a constant power of two, i... well, you could justify putting that in the spec i guess maybe but it would still be weird. but it's absolutely just embarrassing amateurishness from someone on the go team (it's rob pike) but pasiphae_goals just seems to be using big words that she doesn't understand here, and this isn't the only example in her tweetstorm. some of them are kinda funny, but overall it's a pretty bad look
|
# ? Oct 30, 2017 08:02 |
|
|
# ? Oct 30, 2017 09:01 |
|
rjmccall posted:there's no reason for that thing about div/mod to be in the spec at all. it's just didactically informing you, the sort of ignorant and inferior coder who uses go, that certain cases of integer division can be implemented without using a full divide instruction. (incidentally this is true of i believe all constant divisors, it's just not always as cheap as a shift.) it's often 1 multiply by a precalculated magic constant followed by a shift, with cases where more ops are required http://ridiculousfish.com/blog/posts/labor-of-division-episode-i.html (lol that anything like this made it into the spec. a competently written spec would be pared down to the minimal amount of language to clearly & unambiguously define the language. bad lectures on peephole optimization tricks that the spec part of the spec allows a compliant go compiler to use are completely out of place) (i really just wrote this reply to link to ridiculous fish's blog post, which is a p. great read if you're interested in this topic)
|
# ? Oct 30, 2017 10:34 |
|
At best, it's telling sophomoric coders who might be tempted to hand-optimize that the compiler devs already thought of that.
|
# ? Oct 30, 2017 18:54 |
|
I saw a guy recently asking how to go about generating custom JVM bytecode for something so he could optimize some function he wrote that was too slow or something. You know, because the JVM itself isn't going to move poo poo around and JIT-compile things. Sure enough, a while later, he did a benchmark and admitted his hand-rolled bytecode didn't actually help anything, because the JIT-optimized version was just as good.
|
# ? Oct 30, 2017 19:23 |
|
he admitted he was wrong though. that's progress!
|
# ? Oct 30, 2017 19:38 |
|
Gazpacho posted:At best, it's telling sophomoric coders who might be tempted to hand-optimize that the compiler devs already thought of that. there are three levels to this though: i) being the sophomoric coder hand-optimizing what the compiler does to the detriment of the program; ascension yielding; ii) being the enlightened idiot coder, who blindly believes the compiler is better than what they can achieve themselves; ascending into; iii) the enlightened husk coder, who understands the compiler is dumb as a pile of bricks and anyone with a bit of time and systematic thinking can output better code, but actually it'd be largely pointless to do so, and really all of our existence is a bland stain on reality, the only moral thing being to do as little as possible
|
# ? Oct 30, 2017 19:54 |
|
redleader posted:he admitted he was wrong though. that's progress! for real that sounded like an interesting and mildly humbling learning experience. if it were me I’d head home feeling productive that day
|
# ? Oct 31, 2017 04:59 |
|
Holy gently caress that spec. The implementation may replace the division with a shift that creates different behavior. It would make sense to mandate the optimization with no semantic difference in behavior, and I thought you might be complaining about that. Integer division with negative divisors should throw an exception.
|
# ? Oct 31, 2017 06:53 |
|
ah, the eternal struggle of those who want their code executed by something other than a CPU
|
# ? Oct 31, 2017 06:59 |
|
If your code isn't executed by the Urbit virtual machine you're a slave to Mammon.
|
# ? Oct 31, 2017 07:32 |
|
your language should fully model mathematics and include a property numeric tower but it should also be able to restrict types to ranges that make for good optimization, e.g. integers between 0 and 255 or really any other range (or other type constraint, for that matter) also it should have lots of parentheses
|
# ? Oct 31, 2017 08:56 |
|
sarehu posted:Holy gently caress that spec. The implementation may replace the division with a shift that creates different behavior. It would make sense to mandate the optimization with no semantic difference in behavior, and I thought you might be complaining about that. it doesn't create different behavior tho
|
# ? Oct 31, 2017 09:31 |
|
Oh, "If the dividend is non-negative." I can't read.
|
# ? Oct 31, 2017 10:19 |
|
shut up shrughes
|
# ? Oct 31, 2017 10:21 |
|
Are you fat?
|
# ? Oct 31, 2017 10:22 |
|
no im the sickly thin kind of nerd
|
# ? Oct 31, 2017 13:45 |
|
idk if this will happen but it is pleasing http://cr.openjdk.java.net/~rpressler/loom/Loom-Proposal.html what if instead of rewriting everything to put random async keywords everywhere we juts let people use all their old code and it worked like goroutines but in a 90s language instead of an 80s one so you actually have decent concurrency primitives
|
# ? Nov 2, 2017 21:32 |
|
suffix posted:idk if this will happen but it is pleasing http://cr.openjdk.java.net/~rpressler/loom/Loom-Proposal.html oh god i'd love it if they added coroutines. the lack of generators is a constant annoyance in java
|
# ? Nov 2, 2017 22:14 |
|
|
# ? Jun 5, 2024 04:28 |
|
i think async/await keywords are useful visual markers but omg yes coroutines (or "fibers" or wtfever you want to call them) are something that really ought to be in any modern language that ever interacts with a network socket or does any sort of io at all really here's hoping it gets into java 10
|
# ? Nov 3, 2017 01:04 |