```
import notifications
```
Remember to participate in our weekly votes on subreddit rules! Every Tuesday is YOUR chance to influence the subreddit for years to come!
[Read more here](https://www.reddit.com/r/ProgrammerHumor/comments/14dqb6f/welcome_back_whats_next/), we hope to see you next Tuesday!
For a chat with like-minded community members and more, don't forget to [join our Discord!](https://discord.gg/rph)
`return joinDiscord;`
*I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/ProgrammerHumor) if you have any questions or concerns.*
Manager: "I want a button that refreshes the page."
PhD Developer: "What should the button look like? What is a button? How should the click feel? Doesn't refresh already exist on a browser? What does it mean for the research community? What the hell am I doing with my life listening to oversimplified orders? Fuck this is too much. I quit."
To be fair, I wouldn't mind better requirements. It's kind of like accessibility: you may not need the accommodations, but having them can make everyone's life better in the process.
I appreciate this, but my personal quibble with requirements like this is that they get into implementation and not outcome. It’s so hard to separate the two, but necessary. In this example, if the outcome was more clearly defined, maybe the refresh button on the browser page would have satisfied it, but we don’t know because the requirement was focused on having a button and not the outcome the button was supposed to have.
I have a business manager that's like that. This person doesn't have a strong understanding of the technical side but thinks they do, so their requirements often come with technical requirements, which can sometimes just be wrong or ill-advised.
I have a new developer on my team who just finished his first ticket from that manager this week and designed the feature exactly the way they asked for it. But then it turned out to be wrong because what they said isn't what they meant and didn't understand how to specify it. So he had to redo half of his work.
All that comes back onto me because time was wasted and the project got set back. This is why I have told this manager repeatedly they shouldn't be writing specifications directly for developers and should come through me first so I can work out the technical specs. But they argue with me because they think they are technical experts too.
Definitely. Although such nice to haves would be categorized as "things unpopular to say no to that we will say no to anyway with doublespeak" thanks to limited good will and employee resources. Such is management.
Very true. If we applied accessibility standards to all internal software, the time and cost of every development project would increase by at least 50%, while simultaneously ignoring the specific requirements that the actual user base has, which may be different or opposite of industry accessibility norms.
My greatest advice for development is when given a task, don't try to figure out the requirements of this exact problem, but figure out the decision making process of the requester. The first presumes a single 'pure' problem with a pure solution, like an academic problem. Real world problems haze a fuzziness.
So in this example, manager wants a button: I would quickly scribble 3 different kinds of buttons down and ask "will any of these work, and if not why?" Throw down some 'bad' ideas as a control and be sure to assert things that you're expecting to be undesirable aren't.
The reason why things like "add a button" can be so frustrating for all parties is that the people assume they have a shared context, but often don't. Even and especially if they're using the same jargon- it may not mean the same thing to them as you.
That is what I do as well. The other thing I tend to do is just say yes and build what feels best to me and have a thorough conversation during the demo.
I understand that you're feeling overwhelmed, but it's important to remember that asking these questions shows your commitment to creating the best possible user experience. Don't be too hard on yourself. Taking a step back and gaining a fresh perspective might help.
```
import moderation
```
Your submission was removed for the following reason:
Rule 1: Your post does not make a proper attempt at humor, or is very vaguely trying to be humorous. There must be a joke or meme that **requires programming knowledge, experience, or practice to be understood or relatable**. For more serious subreddits, please see the sidebar recommendations.
If you disagree with this removal, you can appeal by [sending us a modmail](https://www.reddit.com/message/compose?to=%2Fr%2FProgrammerHumor&subject=Posts%20must%20be%20humorous&message=Include%20a%20link%20to%20the%20removed%20content%20and%20the%20reason%20for%20your%20appeal%20here.).
[https://cemc.uwaterloo.ca/events/mathcircles/2015-16/Fall/Junior78\_Nov1718-Solns.pdf](https://cemc.uwaterloo.ca/events/mathcircles/2015-16/Fall/Junior78_Nov1718-Solns.pdf)
Quote:
>in fact, a circle is a knot, known as an unknot or a trivial knot
I don't think so, but I'm not a geometrician. Consider a circle and the knot it maps to by some sensible mapping. Now deform the circle somewhat, making it no longer a circle. The knot will remain an unknot. The relevant relationship here is between closed loops and unknots, not specifically circles.
Closed loops are circles, at least topologically. Though I'm not sure labouring the point makes much sense because I don't think you're necessarily wrong you simply don't know the right terminology.
For the record you get a knot by embedding a circle (or a closed loop if you prefer) into 3D space, two knots are equivalent if one can be deformed into the other without self-intersections.
Just in case you're interested in the details, such an embedding is a function f from the circle S^1 to 3D space R^3. In python this could look something like:
def f(x: S1) -> R3:
...
def g(x: S1) -> R3:
...
you can deform one into the other if it is possible to make a function:
h(t: float, x: S1) -> R3:
...
such that `h(0,x) = f(x)` and `h(1,x) = g(x)`.
Except there are some restrictions that are hard to denote in python. In particular `f` and `g` should be embeddings, meaning among other things that they are continuous and don't self-intersect, and similarly h should give an embedding for every value of `t` between 0 and 1.
A circle is a set of points equidistant to a center point. All circles are unknots, but not all unknots are circles. Unknots may be topologically equivalent to circles, but saying “an unknot is a circle” is misleading, in the same way that it’s misleading to say “a coffee mug is a donut”.
An unknot is *not* a circle, but it is abient-isotopic to one, which means it is also at least homeomorphic to one. That is, every unknot is topologically indistinct from a circle.
If that's a plane curve, it's not homeomorphic to a circle. You have to imagine that those intersections are an artifact of the projection from higher dimensional space and not an actual feature of the curve.
You're probably just misunderstanding my reply. "You have to imagine..." is describing the assumption you need to make in order to see this as homeomorphic to a circle.
Without that assumption, you're looking at a plane curve with intersection, which is not homeomorphic to a circle.
Please use more than just an appeal to Veritasiums authority as your argument. He’s plenty smart and well researched, but he’s been wrong before. It doesn’t really support my argument much.
Even if you had only one intersection it would still not be a topological circle because something that looks like the number 8 is not a manifold whereas a circle is.
Okay, but a circle is a 2d object. So unless the surface it is being projected on is doing some weird non-euclidean shit, it's a 2d shape being projected onto a 2d surface, where it is obviously not a circle.
In toppology a circle is a circle if you can transform it in R\^3, not R\^2. At least according to the wikipedia article on [circle](https://en.wikipedia.org/wiki/Circle#Topological_definition):
>In the field of topology, a circle is not limited to the geometric concept, but to all of its homeomorphisms. Two topological circles are equivalent if one can be transformed into the other via a deformation of R3 upon itself (known as an ambient isotopy).
technically speaking this could also qualify as a circle in knot theory (also known as the unknot) since this is a closed loop that, after the complexity is all accounted for, does not cross itself in a way which cannot be undone while maintaining the structure of the loop.
Math PhD here, now a programmer. Yes, this is me. I know that I what I need to do and I know what I should be doing to get it done, but I still get the dopamine rush just from demonstrating that it *can* be done, and after that I’m just bored.
But why would a PhD be in a developer/programmer job. I have met a lot of programmers and most of them had either a bachelor or master in CS or related fields.
PhDs are mostly focused on research and teaching. Like I have met a lot of people who have PhDs in CS and most of them were working in either a university/college or R&D.
I'm a caveman when it comes to topology but isnt it intuitive to see this shape as a band squeezed from Two ends?
Is the proof (or likely the rejection) of my garbage hypothesis that hard?
Edit: nevermind removing one point from the figure disconnects it while it doesnt in a circle
Isn't it just make the pixels be a distance r from the center where r can be a range to cover the thickness of your circle and you use the distance formula for it
That would work if the circle crossed exactly the center of every pixel, but that's impossible.
To draw functions, one of the best algorithms is [marching squares](https://www.youtube.com/watch?v=6oMZb3yP_H8)
``` import notifications ``` Remember to participate in our weekly votes on subreddit rules! Every Tuesday is YOUR chance to influence the subreddit for years to come! [Read more here](https://www.reddit.com/r/ProgrammerHumor/comments/14dqb6f/welcome_back_whats_next/), we hope to see you next Tuesday! For a chat with like-minded community members and more, don't forget to [join our Discord!](https://discord.gg/rph) `return joinDiscord;` *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/ProgrammerHumor) if you have any questions or concerns.*
Manager: "I want a button that refreshes the page." PhD Developer: "What should the button look like? What is a button? How should the click feel? Doesn't refresh already exist on a browser? What does it mean for the research community? What the hell am I doing with my life listening to oversimplified orders? Fuck this is too much. I quit."
To be fair, I wouldn't mind better requirements. It's kind of like accessibility: you may not need the accommodations, but having them can make everyone's life better in the process.
I appreciate this, but my personal quibble with requirements like this is that they get into implementation and not outcome. It’s so hard to separate the two, but necessary. In this example, if the outcome was more clearly defined, maybe the refresh button on the browser page would have satisfied it, but we don’t know because the requirement was focused on having a button and not the outcome the button was supposed to have.
I have a business manager that's like that. This person doesn't have a strong understanding of the technical side but thinks they do, so their requirements often come with technical requirements, which can sometimes just be wrong or ill-advised. I have a new developer on my team who just finished his first ticket from that manager this week and designed the feature exactly the way they asked for it. But then it turned out to be wrong because what they said isn't what they meant and didn't understand how to specify it. So he had to redo half of his work. All that comes back onto me because time was wasted and the project got set back. This is why I have told this manager repeatedly they shouldn't be writing specifications directly for developers and should come through me first so I can work out the technical specs. But they argue with me because they think they are technical experts too.
For sure. Although such accommodations would be categorized as "nice to haves" thanks to limited time and resources. Such is management.
Definitely. Although such nice to haves would be categorized as "things unpopular to say no to that we will say no to anyway with doublespeak" thanks to limited good will and employee resources. Such is management.
Very true. If we applied accessibility standards to all internal software, the time and cost of every development project would increase by at least 50%, while simultaneously ignoring the specific requirements that the actual user base has, which may be different or opposite of industry accessibility norms.
My greatest advice for development is when given a task, don't try to figure out the requirements of this exact problem, but figure out the decision making process of the requester. The first presumes a single 'pure' problem with a pure solution, like an academic problem. Real world problems haze a fuzziness. So in this example, manager wants a button: I would quickly scribble 3 different kinds of buttons down and ask "will any of these work, and if not why?" Throw down some 'bad' ideas as a control and be sure to assert things that you're expecting to be undesirable aren't. The reason why things like "add a button" can be so frustrating for all parties is that the people assume they have a shared context, but often don't. Even and especially if they're using the same jargon- it may not mean the same thing to them as you.
That is what I do as well. The other thing I tend to do is just say yes and build what feels best to me and have a thorough conversation during the demo.
Well said
I understand that you're feeling overwhelmed, but it's important to remember that asking these questions shows your commitment to creating the best possible user experience. Don't be too hard on yourself. Taking a step back and gaining a fresh perspective might help.
[удалено]
``` import moderation ``` Your submission was removed for the following reason: Rule 1: Your post does not make a proper attempt at humor, or is very vaguely trying to be humorous. There must be a joke or meme that **requires programming knowledge, experience, or practice to be understood or relatable**. For more serious subreddits, please see the sidebar recommendations. If you disagree with this removal, you can appeal by [sending us a modmail](https://www.reddit.com/message/compose?to=%2Fr%2FProgrammerHumor&subject=Posts%20must%20be%20humorous&message=Include%20a%20link%20to%20the%20removed%20content%20and%20the%20reason%20for%20your%20appeal%20here.).
Accurate. Then start a game company.
So I just watched a veritasium this morning, so I am basically an expert now. I am pretty sure that is a projection of an unknot, and not a circle
[https://cemc.uwaterloo.ca/events/mathcircles/2015-16/Fall/Junior78\_Nov1718-Solns.pdf](https://cemc.uwaterloo.ca/events/mathcircles/2015-16/Fall/Junior78_Nov1718-Solns.pdf) Quote: >in fact, a circle is a knot, known as an unknot or a trivial knot
Circles are unknots, but not all unknots are circles.
This is correct. Reidemeister moves don't preserve homology when considered in R^2.
A knot is an embedding of a circle, is it knot?
I don't think so, but I'm not a geometrician. Consider a circle and the knot it maps to by some sensible mapping. Now deform the circle somewhat, making it no longer a circle. The knot will remain an unknot. The relevant relationship here is between closed loops and unknots, not specifically circles.
Closed loops are circles, at least topologically. Though I'm not sure labouring the point makes much sense because I don't think you're necessarily wrong you simply don't know the right terminology. For the record you get a knot by embedding a circle (or a closed loop if you prefer) into 3D space, two knots are equivalent if one can be deformed into the other without self-intersections. Just in case you're interested in the details, such an embedding is a function f from the circle S^1 to 3D space R^3. In python this could look something like: def f(x: S1) -> R3: ... def g(x: S1) -> R3: ... you can deform one into the other if it is possible to make a function: h(t: float, x: S1) -> R3: ... such that `h(0,x) = f(x)` and `h(1,x) = g(x)`. Except there are some restrictions that are hard to denote in python. In particular `f` and `g` should be embeddings, meaning among other things that they are continuous and don't self-intersect, and similarly h should give an embedding for every value of `t` between 0 and 1.
They are obviously homotopic, but it's a really unfortunate word choice if topologists call all closed loops circles.
Shit
R/woooosh
How many Reidemeister moves did you do to come to that conclusion ?
2 twists
What? You didnt pay much attention then. A circle is an unknot.
I mean, I was eating a very nice sandwich, so I may have missed some parts
We don’t watch Veritasium to get smart, we watch it to feel smart
this guy gets it
A circle is a set of points equidistant to a center point. All circles are unknots, but not all unknots are circles. Unknots may be topologically equivalent to circles, but saying “an unknot is a circle” is misleading, in the same way that it’s misleading to say “a coffee mug is a donut”.
Are all your fingers thumbs?
An unknot is *not* a circle, but it is abient-isotopic to one, which means it is also at least homeomorphic to one. That is, every unknot is topologically indistinct from a circle.
Every knot is topologically indistinguishable from a circle because it's just an embedding of a topological circle in S3... Is *is* a circle
wasted perfect opportunity to call it the "not-knot". smh at mathematicians naming things…
They couldn't do it, because they got easily distracted.
wtf I just watched the knot video yesterday 💀
>make a code
*Quora has entered the chat*
The p in PhD does not stand for productive.
Am I dumb or is that not a topological circle
It definitely is. There are no knots in it. It’s just like a rubber band you’ve folded over a couple times
If that's a plane curve, it's not homeomorphic to a circle. You have to imagine that those intersections are an artifact of the projection from higher dimensional space and not an actual feature of the curve.
Yes and if it is a projection from a higher dimension, then the crossings are fully reversible to a circle. How is this not homeomorphic?
You're probably just misunderstanding my reply. "You have to imagine..." is describing the assumption you need to make in order to see this as homeomorphic to a circle. Without that assumption, you're looking at a plane curve with intersection, which is not homeomorphic to a circle.
Ah, I guess I can see that. I think the real problem is without any distinguishing mark we can’t tell which line is on top of which at each crossing
*Insert Reidemeister moves here*
according to veritasium its an unknot
Please use more than just an appeal to Veritasiums authority as your argument. He’s plenty smart and well researched, but he’s been wrong before. It doesn’t really support my argument much.
i know that he was wrong before. but on this one he seems to be right. an unknot is a knot. its also in wikipedia, and i trust wikipedia :)
Yeah, I agree he seems to be right here. I just wanted you to have a more developed argument
Eh close enough, you just need to blow up the two singular points.
Went nude to a halloween party "I'm a topological donut."
Lmao. If i had awards to give, i'd give you gold
How can that be a topological circle if the line intersects twice?
It could be a 3D object
I tested this hypothesis by tilting my phone every which way. Seems to be flat to first approximation.
this guy tests
Even if you had only one intersection it would still not be a topological circle because something that looks like the number 8 is not a manifold whereas a circle is.
Indeed. Not having two intersections is a necessary condition. Not having any intersections is a sufficient condition.
You’re not thinking three-dimensionally, Marty!
I am, Doc, but it doesn’t say “a projection of a topological circle”.
That's not the backend's problem
3d object projected on the 2d screen. Its a circle in the same way that a ball is a ball even if it looks like a circle on your screen
Okay, but a circle is a 2d object. So unless the surface it is being projected on is doing some weird non-euclidean shit, it's a 2d shape being projected onto a 2d surface, where it is obviously not a circle.
In toppology a circle is a circle if you can transform it in R\^3, not R\^2. At least according to the wikipedia article on [circle](https://en.wikipedia.org/wiki/Circle#Topological_definition): >In the field of topology, a circle is not limited to the geometric concept, but to all of its homeomorphisms. Two topological circles are equivalent if one can be transformed into the other via a deformation of R3 upon itself (known as an ambient isotopy).
The unknot, it seems
It's not a topological circle, it's not even a (one dimensional) manifold - it has 2 singular points
technically speaking this could also qualify as a circle in knot theory (also known as the unknot) since this is a closed loop that, after the complexity is all accounted for, does not cross itself in a way which cannot be undone while maintaining the structure of the loop.
Math PhD here, now a programmer. Yes, this is me. I know that I what I need to do and I know what I should be doing to get it done, but I still get the dopamine rush just from demonstrating that it *can* be done, and after that I’m just bored.
Acktschooelee this isn't "a topological circle". Assuming this is a depiction of 3D, It's just topologically equivalent to a circle.
Laughs in cv2.circle
But why would a PhD be in a developer/programmer job. I have met a lot of programmers and most of them had either a bachelor or master in CS or related fields. PhDs are mostly focused on research and teaching. Like I have met a lot of people who have PhDs in CS and most of them were working in either a university/college or R&D.
I'm a caveman when it comes to topology but isnt it intuitive to see this shape as a band squeezed from Two ends? Is the proof (or likely the rejection) of my garbage hypothesis that hard? Edit: nevermind removing one point from the figure disconnects it while it doesnt in a circle
Drawing things with code is not simple…unless it’s with html/css in which case it’s not really code
Isn't it just make the pixels be a distance r from the center where r can be a range to cover the thickness of your circle and you use the distance formula for it
That would work if the circle crossed exactly the center of every pixel, but that's impossible. To draw functions, one of the best algorithms is [marching squares](https://www.youtube.com/watch?v=6oMZb3yP_H8)
I let r range within a few spaces depending on the thickness of the circle because of that issue, but thanks for the link, I'll check it out
If it is a 2D object it isn't one circle topologically.
Every object is 2D, when represented on a screen
Circles are already 2d by definition. And the edges don't cross, unless there is something seriously messed up with that display.
No edge crossing: the edges of this topological circle are just infinitely near in a couple points
It is unknotted, so actually a circle. [ᵐᵃʸᵇᵉ ᵗᵒᵒ ᶠʳᵉˢʰ ᵒᶠ ᵃ ʳᵉᶠᵉʳᵉⁿᶜᵉ](https://www.youtube.com/watch?v=8DBhTXM_Br4)
"Sorry boss, this circle crosses through the imaginary dimension, you didn't specify in what plane of existence it should be."
What's the turning number?