- Joined
- Jul 4, 2022
My notifications are not full of reasonable objections to my complaints, but instead the response is slurs and death threats.
Yes, Drew sucks, but how stupid must you be to send a death threat because of computer software.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
My notifications are not full of reasonable objections to my complaints, but instead the response is slurs and death threats.
Hey Drew, did those death threats even exist?Yes, Drew sucks, but how stupid must you be to send a death threat because of computer software.
Assuming the death threats are real, my point still stands: How low-T must you be to act like that over software?Hey Drew, did those death threats even exist?
The Discord-lurking, allowance-spending, tendie-consuming, anime-enjoying, leetcode-failing, women-repelling, furry-fantasizing loser sending death threats over stupid computer shit is not in the same league as King Terry.Either extremely stupid or extremely genius
Where are these so-called "death threats?"Yes, Drew sucks, but how stupid must you be to send a death threat because of computer software.
Every time I see someone say death threats I can't help but think its some message saying "kill yourself faggot".Yes, Drew sucks, but how stupid must you be to send a death threat because of computer software.
if your man is using the journalists' interpretation of the term, it just means he received some form of direct criticismHey Drew, did those death threats even exist?
See, that's your mistake. To someone like Drew, "I hope you die in anonymity" is a death threat. So is "stop posting before you say something you'll regret". So is "you are stupid". They claim everything is a "death threat", because they see it as a hack to short-circuit any criticism.Assuming the death threats are real
Great, now you guys are posting death threats in here!See, that's your mistake. To someone like Drew, "I hope you die in anonymity" is a death threat. So is "stop posting before you say something you'll regret". So is "you are stupid". They claim everything is a "death threat", because they see it as a hack to short-circuit any criticism.

Judging by the shoulder width and overall height I'm guessing man.Drew's "beautiful fiancé": (https://fosstodon.org/@drewdevault/112265499411937651, https://archive.is/GE5Xv)
View attachment 5904418
View attachment 5904419
Is that a man or a woman?
Hard to say exactly with the costume, but I get a shoulder width of about 2.5x the head width, which is more typical for a woman (men are closer to 3x). The voice doesn't sound super troon-like either.Is that a man or a woman?
It's fucking bizarre. Why did he think uploading this video was a good idea?Is that a man or a woman?
We don't have confirmation if it's really Drew's spouse. It could as well be a friend hiding in that costume, posing as the "fiancé".Is that a man or a woman?
I spotted a familiar name on the issue tracker of a Redis fork:
https://github.com/valkey-io/valkey/issues/18 (A, taking its sweet time to finish saving)
Come to my platform to discuss why you don't want to come to my platform.![]()
likecrazy1 said:A vast amount of developers (including FOSS) use Macbooks, iPhones, have Github accounts, use Discord, use proprietary social media apps to talk with friends and family outside of FOSS work, and so on. (Source)
I'm sure a lot of design went into designing something other people had already designed.Today, for-each loops were merged into Hare’s development branch! This includes patches for the compiler, standard library, specification and tutorial. I want to give some background on how we designed for-each loops and what challenges are associated with implementing them.
Before for-each loops, you could iterate over an array/slice like so:
let array = [1, 2, 3];
for (let i = 0z; i < len(array); i += 1) {
fmt::printfln("{}", array[I])!;
};
Having an index can be very powerful if you require it. However, in most cases, you will not, and I’ve found that using indices makes code less readable. This is how a for-each loop over an array/slice could look:
foreach (x in [1, 2, 3]) {
fmt::printfln("{}", x)!;
};
In addition to for-each loops over arrays/slices, you might remember the concept of iterators from languages such as Rust. The idea is very simple: you have a function, typically called something like next(), that you call every loop iteration. This is useful when, for example, iterating over every line of a file — you don’t have to load the whole file in one go, but only ever read it line by line. This concept is also used extensively in the standard library, but so far, it has been implemented using for (true) and match:
for (true) match (bufio::read_line(file)!) {
case let line: []u8 =>
fmt::printfln("{}", strings::fromutf8(line)!)!;
case io::EOF =>
break;
};
While this works, it takes up a lot of lines and is not very readable. We can do better. Here is what that could look like:
foreach (line = bufio::read_line(file)!) {
fmt::printfln("{}", strings::fromutf8(line)!)!;
};
Yes, but what's the RFC mailing list's consensus on gender-affirming care for children?The purpose of the Hare RFC process is to discuss and reach consensus on bigger changes to Hare. This is especially important for new language features such as for-each. In the three revisions to the RFC, we found solutions for a number of challenges.
That's a very reasonable decision.First of all, there was the syntax question. Do we want foreach? Or should we integrate it into for? We quickly reached the conclusion that it is best to introduce a new syntax to for instead of foreach, because it should remain the only statement that can loop, since there is no while statement in Hare.
// for-each value
for (let x .. [1, 2, 3]) { // The type of x is int here
fmt::printfln("{}", x)!;
};
// for-each reference
for (let x &.. [1, 2, 3]) { // The type of x is *int here
fmt::printfln("{}", *x)!;
};
Specifying the iterator loops was especially challenging. How should these kind of loops end, by the iterator returning a special type, or void? Do we use a special method for every type or will it just be a function call? What kind of operator do we want to use? After lots of discussion, this is the syntax we came up with:
for (let line => bufio::read_line(file)!) {
fmt::printfln("{}", strings::fromutf8(line)!)!;
};
I don't think I need to comment on these two paragraphs. They're perfect the way they are.This “for-each iterator” loop executes its binding initializer, bufio::read_line(file)!, at every start of the loop. This initializer returns a tagged union with a done type. In this case, the initializer returns ([]u8 | io::EOF). This is a tagged union, which is a type that can contain one of []u8 or io::EOF. Unlike a union in C, it also indicates what type it currently holds, using a tag.
io::EOF is defined as a done type. This means that the for-each loop checks if bufio::read_line(file)! returns done and terminates the loop in this case. Otherwise, it will assign the value to the line variable and run the body of the loop. The type of this variable is []u8, because that is the type that is left in the tagged union when excluding the done type.
I prefer my languages to be done before people start using them, but whatever.The implementation of for-each proves that the Hare RFC process is working really well. We were able to collectively come up with a for-each design that fits Hare really well and that everyone is fine with. I am, personally, very happy with the end result.
((x | done) | done) and y | done (where y = x | done) are different since the first one has only one done state and the second has two. But io::EOF = done, so why is str | io::EOF a done type? Does that mean an iterator can't return things of type str | io::EOF? Do you have to first define z = str | io::EOF so that an iterator can return z instead?