The problem recently posted by @freemo reminded me of this one from my freshman analysis class in university.
I claim that, for all natural numbers N that are not perfect squares, √N is irrational. Determine, and prove, whether my claim is true or false.
Maybe you've seen it before, if not; I encourage you to have a go at solving it.
> For now, there's no way to thank you enough for the link to "How to Ask Questions the Smart Way."
I'm glad to help. Be sure to also thank its author if you find it useful.
> In a narrowly-focused context, you felt compelled to offer an opinion about questions I presented @freemo. I posted three questions about QOTO.
For the sake of clarity, I'd like to correct this. You posted a question about Quey, and what I offered was a rebuttal of your claim that you'd only asked about QOTO (a separate instance from Quey). I also hypothesised that your later questions were mistaken for duplicates on account of the excessive copied content.
> > Never assume you are entitled to an answer.
> This copied sentence is an axiom, yes?
Axioms are a subset of declarative (statement) sentences, as they have to have a truth value. "Never assume you are entitled to an answer" is instead an imperative (command) sentence, which doesn't have a truth value.
Its corresponding declarative sentence would be "You never assume you are entitled to an answer." This might or might not be true, but it isn't an axiom: we infer its truth or falsity from other evidence such as your behaviour.
Taking section 2 as an example, the statment "QOTO has daily backups" is likewise declarative but not axiomatic. You can find evidence of its truth in @freemo's statement that QOTO is in compliance with the covenant and that keeping daily backups is a provision of the covenant. As corroborating evidence, you could also read https://qoto.org/about/more which states that QOTO is "professionally hosted with nightly backups".
> Do you understand the point I'm trying to make?
If this is an accurate restatement of your point, then I understood it:
You believe @freemo's position as administrator entitles you to receive from him answers to your questions about QOTO.
> What do you think?
I disagree. His role makes it likely he would know the answer to your questions, and positions him as an appropriate person to ask. He's also explicitly welcomed your questions and tries to answer them well. However, that stops short of entitling you to answers, so it's inappropriate to complain about their timeliness or quality. Asking nicely for clarifications would be a better response if you are dissatisfied.
Further discussion
The case where a is an integer but not a natural number can be excluded because primes are a subset of the natural numbers. If a < 1, then p = a³ - 1 < 0 which contradicts p's primality.
Answer
Assume the opposite: some cube a³ = p + 1 for some natural number a ≠ 2 and prime p.
The difference of cubes formula shows that:
p = a³ - 1 = (a² + a + 1)(a - 1)
Both terms (a² + a + 1) and (a - 1) are integers. Since p is prime, it follows that exactly one of the two must be equal to unity.
The first possibility can be ruled out because a² + a + 1 = 1 has no solution in the natural numbers.
The second is impossible because a - 1 = 1 contradicts the assumption a ≠ 2.
> The core value of QOTO has to do with asking questions. Is that not precisely what I've done?
It certainly is a value, which is why it's important to do it well. May I suggest the following pointers for improvement: http://www.catb.org/~esr/faqs/smart-questions.html
In particular, note the following:
> Hasty-sounding questions get hasty answers, or none at all.
The lack of proofreading that led to you naming Sinblr and Quey in your questions here is the direct cause of the unsatisfactory response[1] you got.
> Being seen to invest effort in simplifying the question makes it more likely you'll get an answer.
Had you pruned your questions down by removing the copied content, it is likely they would not have been mistaken for duplicates.
> Never assume you are entitled to an answer.
Complaining that you are "shocked" and "astonished" at the answers you've been given, that you "regret" the lack of response to your inquiries, that you find the replies "evasive", etc. will be read as ingratitude for the effort others put in to assist you, for free.
As regards your other points:
> Please explain how you captured any part of the of the list you made.
I right-click the timestamp and copy link location (using the web interface) to get each link. Then I insert a bracketed number into my post, and add the link at the end with a label corresponding to the bracketed number.
> May I ask if the final word in the phrase "copypasta" or "copypaste"?
Copypasta. "Copy and paste" is a verb phrase, while "copypasta" is a colloquialism for the actual content that gets duplicated in this manner.
> I've only asked you about this Mastodon instance.
This is a blatant falsehood. The timeline shows you've asked @freemo about QOTO[1][2], Sinblr[3], and Quey[4]. Apparently this is from simply not caring enough to proofread but then you really shouldn't expect anyone else to care enough to respond.
You're doing the same thing on multiple servers, and I don't think they appreciate it any more than we do. Actually, I'm sure they don't, because I can see that you're annoying them[5][6][7][8].
> I see that you haven't responded to my explicit inquiries about §2 and §3 of the Mastodon Covenant.
It appears they were mistaken for duplicates[9]. Significant fractions of the posts are word-for-word identical to the one he *did* answer, which at best is unnecessary repetition and at worst looks like you are deliberately spamming the timeline with copypasta.
1: https://qoto.org/@chikara/103194932276826890
2: https://qoto.org/@chikara/103195262932811017
3: https://qoto.org/@chikara/103195116062133823
4: https://qoto.org/@chikara/103195372122680388
5: https://mastodon.social/@LuigiEsq/103195944949371362
6: https://mastodon.social/@LuigiEsq/103195917423951015
7: https://mastodon.social/@Gargron/103195477821454886
8: https://mastodon.social/@Gargron/103195533864216794
9: https://qoto.org/@freemo/103195203045899014
My thoughts on the matter, having read and considered the existing discussion but not replying to any particular part of it:
Enlisting a new mod for every language spoken here doesn't make sense. A monolingual server with five mods and a thousand users is very different from a server with five languages, each with two hundred users and one mod - each language may have a different rate of abuse, mods can't pick up one another's slack when they go on vacation, etc. Moreover, evaluating a foreign-language candidate's suitability is unlikely to be better than guesswork, and rogue mods can cause a lot of damage very quickly. I do not think you will find this an effective solution.
You might reason something like the following:
1. In order that other servers need not block us to avoid being spammed, and to improve the experience of our own users, all content posted here is moderated.
2. As discussed above, content in languages other than English cannot be practicably moderated here.
3. Therefore, the set of content posted here (which, by statement 1, *is* guaranteed moderated) must be disjoint from the set of content in languages other than English (which, by statement 2, *cannot be* guaranteed moderated).
Ergo, content posted here must be in English.
If you think that user-submitted translations on the honour system are suffucient to make content locally moderatable, you can amend statements 2 and 3 accordingly - but I tend to think that you shouldn't consider such posts actively moderated, because you rely on user reports to find out that someone's cheating.
The appropriate solution is *not* for QOTO to try to bodge together a Swiss-army-knife mod team that can moderate any content, but for users who post content that QOTO cannot moderate to use another server that can (or recruit their own moderators and start their own). Then we federate with them and everyone is happy.
I've seen this said a couple of times and don't fully understand it. What's the downside to letting them follow you, even assuming it's a malicious bot? It doesn't leak any information beyond what an unregistered third party can gain by looking at your profile in a web browser as I understand things.
On my part I allow a couple such followers, and it helped me get listed in the QOTO directory to get real followers. So there's an upside.
I can read French without much difficulty, which I've seen a lot in the federated timeline. It hasn't shown up here yet, but if that community establishes a presence on this instance feel free to reach out.
I'm also making progress at learning Farsi, which I see occasionally on the local timeline. Nothing's appeared offensive to me yet, but I'm not yet proficient enough to identify innuendos etc. that aren't outright insults.
Proof
@Zyxer
Given \(x^2 + y^2 = 4z + 3\) with \((w, x, y, z)\in\Bbb{N}\), \(x\) is odd if and only if \(y\) is even. This results from the observation that \(4z + 3\) must be odd and the fact that, if \(k^n\) contains a factor of two for \((k, n)\in\Bbb{N}\), a factor of two must also necessarily be present in \(k\). It is not possible, then, for \(y^x = x^w\) to be true, because one side of the equation is an odd integer while the other is an even integer.
I think you should distinguish better between encryption and authentication; they're separate operations. Encryption allows me to turn a given plaintext into a ciphertext, which can only be turned back into the plaintext by the keyholder. The purpose of encryption is to prevent anyone without the key from learning the plaintext, even if they are able to see the ciphertext. Authentication ("signing") allows me to verify that the keyholder was the sender. Its purpose is to prevent anyone without the key from forging a message that would appear to be from the keyholder.
For instance, if I wanted to send you a message using some asymmetric system, I would *sign* it with *my* *private* key, and *encrypt* it with *your* *public* key. We can be confident that only you can decrypt it with your private key, because no one else has your private key. When you check the signature against my public key, you can be confident that I sent it, because no one else has my private key.
I see a couple places in the text where this distinction is muddied. You claim in the intro that the two definitions are mostly equivalent, but the first covers encryption, while the second describes authentication. Later on, in the last sentence of "In Keys We Trust", you use the terms encrypt/decrypt when what you're actually describing is authentication.
The situation with private keys is more complicated than "how much of the cryptography world just below the surface operates." Symmetric encryption tends to be more efficient, so you'll see protocols that begin with a short asymmetric conversation to establish a symmetric key, or shared secret, which they use for the real conversation. This is a form of "key exchange," a term which is possibly misused in "Swordfish" (that whole sentence is difficult to understand).
Finally, I'd point out that passwords aren't a very good metaphor for cryptographic keys, and misunderstanding this could be potentially harmful to your target audience. You type in your literal password anytime you want to log in somewhere, but you should never send your raw private or symmetric key merely to prove identity, and sending your public key is insufficient to prove identity (the whole point is that it's public, i.e. lots of people have it). Instead, you sign something with the key, so that the recipient/eavesdropper doesn't have your actual key and can't impersonate you later on.
Octave solution
function sorted = snail(array)
if numel(array) <= 1
sorted = array;
else
sorted = [array(1, 1:(end-1)),...
array(1:(end-1), end)',...
array(end, end:-1:2),...
array(end:-1:2, 1)',...
snail(array(2:(end-1), 2:(end-1))) ]; end; end;
The local feed (icon of two people) is content from everyone with an "@qoto.org" account, and a good general purpose place to find new things. The home feed (icon of a house) is content from people you follow, so a better representation of your interests but you won't find as much novelty here. The federated feed (icon of a globe) is the combination of everyone followed by anyone with a "@qoto.org" account, so it's got the most variety but is like trying to drink from a fire hose.
>While you are obviously free to ignore a POLITICS.txt it's pretty obvious it's a rather short sighted decision, at least from a professional perspective.
The problem is that this *isn't* obvious. The various other files you commonly see - LICENCE.txt, CHANGELOG.txt, CONTRIBUTING.txt, etc. - are relevant to specific audiences, and the rest of the world can safely ignore them. It isn't at all obvious until I've read it whether I can ignore POLITICS.txt (in fact, the first time I read it, I was expecting it to contain warnings about exporting cryptography). That's why I think the introduction should detail who's expected to be familiar with its content.
> For example you might build your software upon a library specifically designed to be broken, just to put shame on developers who don't give a shit about politics!
Only insofar as that's true of *any* documentation. You could equally put your warning in a document called RELIGION.txt to spite developers who don't care about that instead.
> The fact is that when you decide to depend on my work, you decide to depend on my goals. Writing down my political goals I let you know what to expect.
Traditionally, developers let people know what to expect by maintaining a roadmap for the project.
It's quite a bit clearer now! Cutting out the snarky jabs at people who "pretend technology exists or has ever existed separate from the natural tendency for human agents to consolidate power" and "[mere] vague principles that corporate entities routinely ignore" has helped a lot. You could probably go even further with this, cutting everything before "This document outlines...".
On the other hand, I still don't understand the target audience. It would be nice if fairly early on you say, "This document is required reading for contributors; users can skip it," or whatever is appropriate to your vision for who reads it.
Answer
@jeffcliff@niu.moe
It's a substitution cipher encoding coordinates for a point outside Saskatoon (52.069N, 106.3892W).
It literally turns out to be
"north five two zero six nine zero zero west one zero six three eight nine two zero" and I just guessed at the decimal separators. But the longitude has an extra digit, which implies it ought to be (0.5N, 1.0W), (5.2N, 10.6W), or (52N, 106W), and the other points are over water. If you ignore the precision, you can also derive points in Ghana and the British Isles.
Since this isn't nearly as established a convention as some other forms of repo boilerplate, you probably want to briefly describe when I must read this document. For example, I should read a Code of Conduct before interacting with others in your project space, the licence before distributing your code, etc.
I got through your introductory paragraph and thought, "Why do your politics matter to me?" As a user I care about how the software helps me reach my goals, not yours.
@mngrif I think I was one notch up from "zero notifications." I may see if I can't fix tusky and just submit a patch for the post-length thing. In all other respects I think I prefer it.
@mngrif I tried fedilab again after your comments but it still munches battery - even the lite version is eating as much as the screen itself. So I'm back on tusky, plus the web client for anything that blows the 500 char limit.
Octave solution & discussion
Pretty straightforward. Might be possible to improve on the factorial one by counting factors, because computers can generally calculate x^n faster than just multiplying it out, so if you figure out that the answer would be 2^a * 3^b * 5^c... it could outpace the naive 1 * 2 * 3 * ... * n method.
That said, I tried such an approach and while it does scale better than linear, the upfront cost is high enough that the breakeven point is way past anything my computer can represent in floating point. So for practical use, this is what I'd put forward.
function term = fibonacci(index)
root = sqrt(5);
term = (((1 + root)/2).^index - ((1 - root)/2).^index) ./ root; end;
function number = factorial(argument)
number = ones(size(argument));
for factor = 1:max(argument)
number(argument >= factor) *= factor; end; end;