Hacker News new | past | comments | ask | show | jobs | submit login
What's the difference between 0/0 and 1/0? (plover.com)
194 points by korethr on May 24, 2019 | hide | past | favorite | 101 comments



The author's explanation is based on how the rationals are defined explicitly but this leaves the question open whether the rationals couldn't be extended somehow, so that the inverse of 0 is suddenly defined in this extension. More generally, couldn't there be other fields where 0 has a multiplicative inverse?

Of course the answer to both questions is negative but it's the consequence of a much more general fact: In any field the additive zero element can never have a multiplicate inverse. (If it did, the field's other algebraic operations would suddenly lead to contradictions.) And in this sense, there is also no difference between the expressions 1/0 = 1 · 0⁻¹ and 0/0 = 0 · 0⁻¹ because 0⁻¹ simply doesn't exist.

I've always found this explanation much more illuminating. No matter what you do, you can never have 0⁻¹!


I did actually write a separate article on this exact subject, which I think is also pretty good.

https://math.stackexchange.com/a/125208/25554


Thanks for the link! I liked your explanation that

> [the] warped numbers are like a hole that you can fall into but you can't climb out of, and 0/0 is a deeper hole inside the first hole.


I've sometimes used in Alexandroff one-point compactification in scenarios where you really "need the zero to have an inverse" and it works well in certain applications.


Although they aren't a field as such (if I'm remembering well, because they don't form a division algebra), sedenions (16-tuples, and also further applications of the Cayley-Dickson construction) do have zero divisors (84 of them).

This makes giving any kind of sense to 0^(-1) even harder for me (when 0 is a sedenion).


No denominators for zero divisors in the localization of any ring!!! [English: No denominators where you can multiply the denominator by anything nonzero to get zero.]

Technically, many definitions of localization do allow for zero/zero divisors to be included (we can use any multiplicatively closed set) however by the definition of localization all of the elements in our localized ring become equal to each other.

The mathematical meaning of a/b = c/d in a general ring is that there exists some value s in the set of legal denominators where s(ad - c*b) = 0. If 0 is an allowable denominator then a/b = c/d for every a,b,c,d.


You can have a multiplicative inverse of 0 if 0 = 1. This results in a field with only a single element.


Unless your definition of field include the non-triviality axiom that 0 != 1.


The definition of a field explicitly requires the additive and multiplicative identities to be distinct elements. You can't induce a field structure on a singleton set. You can construct a trivial ring, but the trivial ring does not comprise a trivial field because it fails to be an integral domain.

To be fair this is mathematical pedantry when we're talking about trivial objects. But in principle it's meaningful because every field you can construct will lose critical properties if you allow one element to be both the additive and multiplicative identity. Unfortunately authors don't always make it clear that you need both existence and uniqueness when they state the field axioms.


Not to be confused with the field with one element :P

https://en.wikipedia.org/wiki/Field_with_one_element


Yes this seems like the right answer, both results are undefined so they are the same but not equal.


George Boole proposed something similar in The Laws of Thought: he considered a definition of c = a/b where a = c AND b (even if he didn't write it like that).

Thus, 0/0 was an indeterminate value, and 1/0 was seen as an impossibility.

Boole's example: if m means "is mortal" and h means "is human", then saying "there is no immortal humans" is h AND NOT m = 0, and Boole explains that from it you could deduce: m = h + 0/0 and not h meaning "mortals are humans and something indeterminate which is not human"

here it's still George Boole trying to cram normal arithmetics into logic, but still.


I'm inspired by how clean his reasoning is. Something basic but fuzzy which we refer to all the time - "divide by zero is undefined" - actually contains meaning! This makes me happy.


>When f(0)≠0, we can state decisively that there is no such Q

This is false. This relies on an assumption not stated - that f is continuous.

For a simple counterexample:

f(x) = 1, x=0

f(x) = x, x!=0

g(x) = x

Limit of the ratio as x approaches 0 is 1.


as most of these discussion they go from "these number are impossible!" to "but wait! there's algebra!" without really providing a framing context of what's going on.

this is what's going when the article say "slides smoothly in toward 2"

https://www.google.com/search?q=(x^2%2B2x)/x

and this is another common example, which "slides" toward a different number (which is why when you see the division alone is "undefined" and only acquires value in context)

https://www.google.com/search?q=sin(x)/x

but beyond the "just apply limits" party trick it's the implication however that's the most interesting part, and I'll use the words from here[1]:

> Things that appear to be zero may be nonzero in a different dimension (just like i might appear to be 0 to us, but isn’t)

[1] https://betterexplained.com/articles/why-do-we-need-limits-a...


For x⋅0=a (i.e. 1/0) no number fits. It's like a database search that finds nothing. It's a null. A point that is not in the set.

For x⋅0=0 (i.e. 0/0) any number fits. Is there such a thing as an anti-null? In the infinite set, 0/0 is infinite.

If a/0 isn't any number if you exclude 0, then a/0 should be zero. Tada!

...of course zero wasn't in the set, which makes it a null


This can be explained clearly in two sentences:

Division is the inverse of multiplication (a * b / b = a / b * b = a). However, multiplication by 0 is not injective (we have x * 0 = 0 for every x), so multiplication by zero can't have an inverse operation, and both 0/0 and 1/0 are undefined.


This explanation correctly explains why 1/0 and 0/0 are not numbers, but doesn't answer the question of what makes 1/0 and 0/0 different. And they aren't both undefined.

1/0 is undefined because no value of x satisfies 1/0 = x.

0/0 is indeterminate because any value of x satisfies 0/0 = x.


0/0 is only indeterminate if your axioms allow or require it to be. Strictly speaking you can define 0/0 to mean something, but you will lose a lot of useful properties along the way. The only time 0/0 is not indeterminate is when you're dealing with something exotic and obscure like an algebraic wheel. It's correct to say 0/0 is undefined because in the vast majority of cases where someone doesn't explicitly call out the algebraic setting, they're working with a field.


Someone needs to copy this poster's simplistic style, and use it to explain to me why Laplaces equation of electrostatic potential is solved with Bessel functions times an exponential times a sine/cosine wave (edit: in cylindrical coordinates).


Here's the answer: an exponential times a sine/cosine wave is what you already have in rectangular coordinates. The Bessel functions show up because they are the cylindrical coordinate equivalent of sine, cosine and exponential. "What does that mean," you say? It is quite simple, as sine, cosine, the exponential function and all Bessel functions are defined as the solutions to specific "fundamental" differential equations. The basic thread between solving Laplace's equations in any coordinate system is, you separate variables and break down the equations in other ways until you have factored them into a set of standard ("prime?" I don't know if that's a good word, I'm not a mathematician) DEs that somebody like Bessel has tabulated the numerical solution of.


I haven't done electrostatic potential yet, but I have been blogging for 13 years. Maybe you would enjoy one of my other articles.

I like this one: https://blog.plover.com/math/60-degree-angles.html


I suppose you've already looked at:

https://en.wikipedia.org/wiki/Cylindrical_harmonics

?


No, but that page has all the info that Jackson's Classical E&M textbook already explains.

I was being slightly facetious, but any average person will tune out a complete derivation after 15 integral signs, 50 terms, and 100 factors unless there is a pleasing narrative woven throughout the discussion.


Haha, I feel you!


Well, 1/0 - 0/0 = (1-0)/0 = 1/0, so the difference is 1/0. :-)


or -1/0


Or whatever/0

For the article what it try to do is using limit to see whether the difference converge to a finite number

diff(x) = one(x)/zero’(0) - zero(x)/zero’’(0)

Where one and all zero function approach 1 and 0, smooth etc

Find diff(x) when lim x-> 0


I read a relevant article about how the semantics of division by Zero ultimately rest on arbitrary decisions of the mathematics community.

Trying to dig this up I found these:

- https://www.1dividedby0.com/

- https://www.hillelwayne.com/post/divide-by-zero/


>But to really understand the difference you probably need to use the calculus approach

I am probably showing my bias as an algebraist here, but there is a purely algabraic way of seeing the difference between 0/0 and 1/0, which is (in my view) more intuitive.

The standard way of constructing the field of fractions is to start with the integers (or your choice of base ring), and define an equivalence relation on the set:

    Q = { (x,y) | x,y are integers, y!=0 } 
Given by:

    (a,b) ~ (c,d) iff ad = bc
Intuitively, the pair (a,b) is the fraction a/b, and the equivalence relationship is defining that: a/b = c/d is equivalent to ad =bc (assume b,d are non-zero). From that you can define multiplication and division in the expected way and verify that the resulting structure is a field that behaves as you would expect the rationals to behave.

One thing to notice in the above view is that the prohibition on dividing by 0 is entirely artificial. By removing 6 characters from the above definition, we arrive at the following structure:

    W = { (x,y) | x,y are integers } 
    (a,b) ~ (c,d) iff ad = b
Let [W] be the set of equivalence classes on W, and [Q] be the set of equivalence classes on Q.

If we define addition and mulitplication on [W] and [Q] in the "obvious" way, then [Q] behaves identically to the field of rational numbers (indeed, this is a common construction.

Further, [W] contains [Q] as a subset, so we can view [W] as an extension to the rational numbers.

We can verify that [W] contains exactly two elements not present in [Q], which I will denote:

  ⊥ = [(0,0)] = 0/0
  ∞ = [(1,0)] = 1/0 = a/0 for a!=0 and a!=⊥
The question now becomes, is "division" meaningful on [W]. If we keep the same definition of multiplication as with [Q], it is clear that we cannot define an inverse operation [0].

However, we can define a unary operation called the reciprical, given by: /[(x,y)] = [(y,x)]

And define a division operation as multiplication by the reciprical. So:

[(a,b)] div [(x,y)] = [(a,b)] * (/[(x,y)]) = [(a,b)] * [(y,x)] = [(ay,bx)]

And note that, on the subset [Q], this operation is identical to our standard notion of division.

With this, we have extended [Q] into a structure, [W], for which division by 0 is defined.

Further, by doing so, we added exactly 2 elements: 0/0 and 1/0. So we can see that 0/0 and 1/0 are distinct (in this structure) in a way that 1/0 and 2/0 are not. (as 1/0 ~ 2/0 in the same way that 1/1 ~ 2/2)

In fact, the behaviour of ⊥ ∞ should not be suprising to this forum.

⊥ behaves essentially like NaN in that it "absorbs" the other number in all operations. So:

    x + ⊥ = ⊥ and 
    x * ⊥ = ⊥.
∞ behaves mostly like you would expects:

    0 * ∞ = 0, 
    x * ∞ = ∞ | x != 0 and x != ⊥
    x + ∞ = 0 | x != ⊥
The main "weirdness" here is that ∞=-∞

In fact, this [W] I have been describing is an established structure refered to as a Wheel [1], and can be constructed over the real or complex numbers just as easily (it can also be viewed as an extension of the more well known Riemann sphere by adding ⊥)

[0] I will note that the lack of division by 0 means that we cannot define an inverse operation for multiplication in [Q] either.

[1] https://en.wikipedia.org/wiki/Wheel_theory


Assuming the definition of ~ is meant to be the same on Q and W (I think there's a typo), then it's no longer transitive and therefore no longer an equivalence relation: (0, 0) ~ (1, 2) and (0, 0) ~ (2, 3) but not (1, 2) ~ (2, 3).


I'm passed the window where I can edit my post, so I will correct it here.

You are correct that my original post is mistaken. I wish I could attribute that to a typo, but it was really me just working from memory without checking my work. A correct equivalence relation for a wheel over integers is as follows:

    (a,b) ~ (x,y) iff there exists s1,s2 (both non-zero integers) such that:
        (s1 * a, s1 * b) = (s2 * x, s2 * y)
When b,y are non zero, this is the same as the equivalence relationship on fractions.


Well, in javascript 0/0 == NaN while 1/0 == Infinity.

An interesting thing is they have the value -0 so you can set a=-0 and 1/a returns -Infinity.


This is not only javascripts behavior, it is the IEEE standard for floating-point arithmetic which most modern hardware and software strictly adheres to.


-0 is my favorite number


This should be part of an update to the Destroy All Software's Wat video: https://www.destroyallsoftware.com/talks/wat


Except that is defined, standard IEEE 754 behavior and is true on nearly all programming languages.


Nothing has an infinite number of nothings in it.

One has zero nothings in it...? It also has an infinite number of somethings in it. And each something has another infinity of divisible somethings within that.

Therefore anything that isn't nothing (in the universe of abstraction which doesn't exist in reality, but whatever) is infinite.

OBVIOUSLY.

NOTE: Hasn't read the article and is mathematically challenged.


my calculus answer is that usually you see 0/0 when looking for limits

1/0 definitely has no real value 0/0 might have one, but you've framed the question poorly -- if you rewrite the problem in a different way, you might find the value of 0/0 for your case eg, by applying L'Hôpital's rule


Extended number line is one way to formalise this https://en.m.wikipedia.org/wiki/Extended_real_number_line


To answer the question, move to the extended real numbers as in, say, H. Royden, Real Analysis.

In short, the extensions work and at times are convenient but work less well than the rules of the real numbers; the extensions are a bit tricky and have to be careful.


Also fun: 0^0 (not an emoji; 0 to the power of 0). Windows Calculator gives an answer of 1; Excel throws a number error, while Android hedges its bets (shows "Undefined, or 1").


In a kind of both joking way, and in a serious as a programmer way, either way is the same - and not exceptional. I mean beyond that it will raise an exception. Either way, you divided by zero.


I'm definitely joking, but

$ node

> 1.0/0.0

Infinity

> 0.0/0.0

NaN


> Last year a new Math Stack Exchange user asked What's the difference between 0/0 and 1/0? I wrote an answer I thought was pretty good, but the question was downvoted and deleted as “not about mathematics”.

Never change, Stack Exchange.


Almost every useful answer I've ever found on SE or SO has been marked down with some snarky judgmental horseshit meta-comment. At this point, if I don't see such markdowns, I assume the answer isn't very useful until proven otherwise.


Yup, first answer on Stack Overflow sometimes is the most technically correct, often refined to it's smallest elements, but also not nearly as ready to use as the third or fourth.

The third or fourth cover actual use case like solutions, of course that leaves more room to quibble and vote down, but you learn more from it.

It's the difference between answering a trivia question about a car vs actually fixing a car.


I wonder if this is a repeatable phenomenon wherein a universally-useful resource is more likely to be accessed by a wider gamut of people, thus essentially guaranteeing a judgmental response. That would mean those snarky responses really are a mark of a good and useful question.


After the world solved the scarcity problem with respect to everyone's ability to survive a normal, healthy, dignified lifespan, most of the economy continued to shift towards conspicuous consumption.

If you look honestly at humanity, the motivations of the average person are selfish and unenlightened. An internet mod enjoys authority and an elevated sense of self worth by putting other people down.

There really are some people genuinely enthused by virtues such as intellectual discovery and shared dignity, but they're in short supply and likely to be outnumbered in the population clamoring to become internet mods.

I've had a few posts removed from a SO site after I corrected someone who happened to be a mod there. And the Innocence Project fights to give innocent people their lives back because some prosecutors don't want a scratch on their resume.

I think it would be better if we acknowledged these realities more-often rather than pretending all the evil people in the world died in Nazi Germany, or wherever, and they weren't just normal people.

I think this is also why I always retreat into nerdy or intellectual endeavors. Not because I am particularly intelligent, but because the real world is so ugly.


I agree with everything you said, except that first part about solving the scarcity problem. I'd need you to elaborate there, because it doesn't seem like that's been done in many parts of the world.


Humanity currently possesses the capability to provide everyone their basic human needs (food, safe water, housing, sanitation, essential healthcare) and hunan rights, but not the willingness. People die preventable deaths because they lack access to basic, affordable healthcare while other people are getting plastic surgery. People are homeless all over LA and SF while QE printed trillions for Wall St. Doctors without Borders hospitals are bombed while Wolf Blitzer says ending war there is a "moral issue because it will cost US defense contractors jobs."


Ah, capability to feed, health care, etc., yes. We should be in a post-scarcity civilization with respect to basic needs. I seem to recall reading studies though that showed on a per-dollar basis, it was much better in the long term to boost the local economy rather than just give handouts in the form of food aid etc. However, my thought in response to that has always been that it frames the situation as though there were a choice between the two. My thinking is that if people are living in misery, poverty, disease, and death, why make this a choice? We can do both. It's a multi-decade project, but not intractable. It's also probably hopelessly optimistic, but I'm okay with failures that move the ball forward a bit.


I also think it is true that local economies have been devastated by hand outs. It's a complex issue but it's also not.

There is no real excuse here as far as human cognitive ability goes. The problem is with morality.

I think these examples show that as humanity goes forward I think moral integrity/intelligence/bravery is more important to develop than our purely technological and scientific capabilities.


it's the wiki-syndrome.


There is something inextricably human about this sort of anecdote though, like modern reenactments of the drowning of Hippasus by the Pythagoreans after bringing up irrational numbers.


He showed that the square root of 2 was an irrational.


It's more hostile than Wikipedia to new users. Ask a tough question and there's a decent chance of getting the dreaded 1 downvote and lock.


I found wikipedia's interface to be pretty unfriendly for me as a new user. Stackoverflow was a lot easier for me to get started with. Maybe that lower barrier to entry leads to more random posts from people that are "low quality?"

Side note: I find a similarity between SO and HN. Both can feel pretty hostile and over-the-top with penalizing you for not saying things "the right way." But as much as it does annoy me sometimes, these are two of the most useful websites for my purposes.


Stack Overflow is worse because the questioners are approaching it in the vulnerable state of "not knowing". This makes the smack-downs worse, because the user already had a problem, and now they have haters as well.


Maybe worse for you. My experience certainly contradicts your claim. And I suspect that your claim is anecdotal as is mine. The difference is I am only speaking about my experience where you are attempting to make a sweeping judgement based on your experience.


Stack Overflow is great for me; I was empathizing with someone in the position of receiving criticism instead of answers.


This hasn't been my experience. I've asked questions that in retrospect were fairly stupid and I've only been treated with respect.


Yeah, browsing a few if my own old questions always makes me think, "seriously? Was I that bad at Google-fu?" Though generally it boiled down to having a problem, and not knowing enough to even ask Google the right questions.


My experience is more like this:

https://serverfault.com/questions/966765/private-network-dns...

Closed due to "off-topic". With a comment that basically says "I don't like your problem, try to be more normal."


You basically had a problem related to a DNS server, so you thought that Server Fault was the place to ask for help. In reality it's more related to workstations, i.e. try asking on Super User or Unix & Linux Stack Exchange.

I suggest having a look at dnsmasq [1]:

> -S, --local, --server=[/[<domain>]/[domain/]][<ipaddr>[#<port>][@<source-ip>|<interface>[#<port>]]

> Specify IP address of upstream servers directly. Setting this flag does not suppress reading of /etc/resolv.conf, use --no-resolv to do that. If one or more optional domains are given, that server is used only for those domains and they are queried only using the specified server. This is intended for private nameservers: if you have a nameserver on your network which deals with names of the form xxx.internal.thekelleys.org.uk at 192.168.1.1 then giving the flag --server=/internal.thekelleys.org.uk/192.168.1.1 will send all queries for internal machines to that nameserver, everything else will go to the servers in /etc/resolv.conf.

[1]: http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html


Note that the closing message didn't suggest better places to ask though. And your advice is exactly what I was looking for. Thank you.


how does one shot web


I just now assume that whenever I post there, the first few comments will be people berating me out for going out of my comfortable zone to ask/answer a question.


For a second there I assumed you were talking about HN.


Eh, as long as you take a bit of care to make the question come across as genuine and not as snark or feigning lack of knowledge to draw out a comment to be hostile to (which people here are often primed to interpret things as), I think you'll generally either get a useful response and upvotes or no response.

Working around other people's hangups is a real pain, but that's basically what a large portion of participating in a pseudo-anonymous internet forum is about, unfortunately.


Yeah, if someone says here, "do you have any examples to share?" then it can be hard to distinguish between an honest request for details vs. a passive aggressive way of saying "I think you're an idiot who can't back up their claims"


I've felt the same way here many times. Although I'm trying to keep it under control now. I understand the mods motivation a little bit better



The worst part about it is, all these deleted/locked questions rank really high on google so they pollute the search results.


It's Mathematics Stack Exchange, not Stack Overflow.


It's pretty much the same across all of the properties, though. I quit using them; they're run poorly and, especially in system administration or programming areas, the quality is uselessly low


Years ago it was the first place I looked - but now, Stack Overflow has a currency problem. Many programming answers are obsolete, the languages or frameworks to which they relate having evolved, and this is reinforced by aggressive moderation policy and toxic attitudes.

Not sure if the curators are unaware or simply don't care as long as they're still getting fresh questions for whatever's shiny and new.

In practice, nonetheless, it is now the last place I look, not the first, and also the last place I contribute. There are plenty of other forums for relevant and current answers, and without dripping poison.


It's the same problem a lot of internet properties that crowd-source data have now, which is that they don't have the concept of time and knowledge degrading over time built into them.

For the first 5 years or so, Stack Overflow was amazing. For newer subjects that haven't changed significantly in a the last couple years, it's probably still amazing, but the shelf life on this is much shorter in general, because new subject generally change quite quick (conversely, when Stack Overflow was first filling up, all the C/C++.Perl/Python/Bash etc stuff were long past their high churn stages).

When all these sites were new and shiny and still filling in the gaps, this wasn't a problem. Now that we've gotten a decade or more of some of them, they have the problem of being filled with information that was highly relevant at one point, but as it's lost relevancy over time is still treated as relevant.

As the timeline of major changes to these crowd-sourced repositories of knowledge goes, I think the next major advance will be a good algorithm to degrade relevancy (points?) over time with the ability for people to "vouch" for data as still accurate, or to "refine" data to limit the scope it applies to when the subject has expanded and it no longer is as accurate as it was because of that.

E.g. an answer for a Python which works only for Python 2.X but at the time applied generally because Python 3 had not been released. After Python 3 comes out, that answer either needs to be less relevant because it's only sometimes correct, or refined to note where it does and does not apply, in which case it retains its relevancy and should hopefully not crowd out data for the portions of the subject it does not apply to (Python 3 in this case).

I'm convinced this, or something like it, is the next big thing for crowd sourced data, as it becomes more and more important as our collective online data ages.

Edit: It's worth noting Google has likely already solved this, at least for their problem space. Then again, the way Google could be considered to be a repository of crowd sourced data is slightly different than most sites. That said, I wouldn't be surprised to hear they have a solution, either in place or planned, for how to deal with this affecting the knowledge graph.



Are you implying if I go look at any python question from 8+ years ago it will be correctly tagged as not just python but also the correct python subversion?

Part of the problem is that at the time of the question the tags might be entirely sufficient but become less so as the the subject changes over time and new tags are available.


If you think that a new version of Python is that different, just ask a new question with the corresponding tag. To avoid its closing you might want to specify that it's not a duplicate of previous question because their answers are for an older version of Python.

Also you could try retag a question with the appropriate version tag, e.g. [python-2.x] or [python-3.5], so other people will know that when using a newer version of Python there might be other (better) answers.


> If you think that a new version of Python is that different, just ask a new question with the corresponding tag.

I use python versions to illustrate the point. That doesn't.meannit encapsulates all the nuances. For example, take a question that asks about the best way to handle HTTP client needs in Python that doesn't include an answer suggesting the requests module[1] because it predates it? Its not strictly tied to a python version, but it does.auffwr for being older, and adding a new, better answer years later may take years more to be ranked high in the answers (if ever). Can.that problem. Be solved with tags? Maybe. Can it. Be solved well by fairly free-form community decided tags? I doubt it.

> Also you could try retag a question with the appropriate version tag, e.g. [python-2.x] or [python-3.5], so other people will know that when using a newer version of Python there might be other (better) answers.

Yes, and people could instead just volunteer their time to accurately rate every question and answer on some absolute scale, say 1 to 1000. Unfortunately systems like that don't scale because it requires too much effort from the individual, and people tire of it.

What sites like Stack Overflow and Reddit spearheaded was to instead give users many tiny, easy, and individually insignificant decisions which when taken in aggregate allowed for the emergent behavior to show its value.

I suspect we'll see a similar solution (at least in part) to this, where some small behavior is incentivized to not just generate and rate the data, but curate it over time. Tagging may be part of that solution, but I think it's fairly inadequate in its current incarnation.

1: I'm assuming requests is still popular. I'm not really a python programmer, but it's more common than my preferred languages so I figured it would convey the point easier.


My guess is, if you opened a Python question, it would be closed as a dupe right away


Stack Exchange has quickly turned into a garbage dump of obsolete answers. They have no means of clearing out answers that are totally out of date, which can lead to needless frustration when people need help with a framework or language.

For instance, Ember.js is still seeing lots of development and has changed drastically in some ways, but every time I've searched SO it almost always brings up questions from ~2013. I'm convinced that a lot of the so-called "learning curve" would go away if Stack Overflow was wiped out of existence, which is a weird thing to say having once been a big fan of Stack Exchange.

A better way to find solutions is to just join Slack/Discord/IRC servers for different software communities and ask questions there.

Don't even get me started on the toxic attitudes on SE.


One thing related: I do find I frequently need to check the date of a answer to find out whether it's out of date. Then, ......, I can't find where the year is. Their date format is so bizarre .......


One department is probably arguing that this increases overall traffic to SO.


I am somewhat embarrassed to admit that I thought your first sentence was about money; turns out both 'currency' and 'currentness' can refer to 'the state of being current'.


There are essentially no CMake answers that are valid for creating idiomatic, modern CMake. I know how to correct the answers but can't unless I jump through the hoops. So I don't.


>There are plenty of other forums for relevant and current answers, and without dripping poison.

Would you mind listing a few examples?


They tend to be language or framework specific. e.g. for Ruby/Rails questions I haunt the GoRails slack and a couple of Ruby/Rails specific subreddits.

In quite a few cases the official dev forums for a particular vendor or technology are actually very active, and I think that's because forums just got a lot easier to implement. For example I get a lot back from the Apple Developer forums (not the public discussion community, which is hot garbage) and Vue.js's own forum.

A fair chunk of what I previously used Stack Overflow for (finding code snippets to learn from) has been replaced by the ease of browsing public repositories on Github.


Another issue is moderators close questions as dupes without reading them. I used to hang out in the private slack for the cabal that runs one of the sites; I imagine other stack exchange sites have similar cabals that auto close/auto vote on things


Fixed, thanks.


>I wrote an answer I thought was pretty good, but the question was downvoted and deleted as “not about mathematics”.

Why post on some else's site? Especially quality work that took real effort. I'm guilty of it too (although nothing so cool is this article).

We complain about the web becoming dangerously centralized compared to the past. Much of this is because of free high grade labor that adds value to an already dominant organization.


The usual answer to that is "discoverability". You can either post your content to someone else's website and have it read/viewed/watched, or post it where virtually no one will see it so you might as well not post it.


Yes but discoverability to what end? In one case the reader then thinks and says "I learned this on Stack Exchange" rather than a possibility of "I learned this from Mark".

In one case an organization that is much complained about becomes even more of a necessity and so has less incentive to fix itself. In another the reverse happens.

In hyperbole: in one case you may as well not post it, in the other case you may as well have not written it.


The one thing his article didn't say for the arithmetically challenged person (me) is very much about 1/0 - he certainly talked about anything/0 and function()/0 but dived off why 1/0 and 0/0 have subtle difference.

It's a good read but he missed his clear mission. One extra paragraph?


The middle section is the author's answer: they are different because they fail to yield a definite answer in different ways and for different reasons. You will find some alternative ways of looking at it in the comments here.


The main argument I've seen against division by zero is because:

"Then 2 + 2 could equal 7!"

If you go through the examples of how they derive that, you can actually fix it quite easily by assigning each 0/0 pair to different variables. This prevents the underhand commutative rule violation.

Then all that you are left with is linear algebra. Whether that equation is solvable depends upon how many constraints you have. But it at least doesn't cause math to violate itself.


That doesn't work. You're changing the setting of the problem from scalars to vectors in order to avoid breaking the uniqueness properties of fields and rings. The solution set for a system of linear equations is not unique (if it is at all) in the same sense that e.g. additive and multiplicative identity elements are unique.


My layman's interpretation:

Taking the author's argument that a/b = the number x, for which x * b = a, it's easy to draw this out to it's logical conclusion:

For numerators (that is: a) other than 0, you get impossible equations. That is: 1 / 0 = "the number which, when multiplied by 0 is 1." In equation form: x * 0 = 1 Well no such number exists. Therefore x can be said to be "no number."

But for the case where a and b are both zero, the equation becomes: x * 0 = 0. And in this case, the answer is any number, since any number multiplied by zero = 0.

So we can think of 0 / 0 as "any number" and non-0 / 0 as "no number".

That means assigning each instance of 0/0 to a variable is a very good solution. Because we use a letter to represent an unknown number in basic algebra, but in linear algebra we also use a letter to represent a value which could be any number. As in the equation for a line: y=mx+b, where x and y can both take on any value.


I wrote a rather detailed article on this exact topic. You might enjoy it.

https://math.stackexchange.com/a/125208/25554




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: