This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-04-03
Channels
- # announcements (5)
- # babashka (8)
- # beginners (98)
- # biff (2)
- # calva (20)
- # cider (16)
- # clerk (2)
- # clj-kondo (20)
- # cljdoc (19)
- # clojure (90)
- # clojure-art (3)
- # clojure-boston (1)
- # clojure-europe (7)
- # clojure-nl (2)
- # clojure-norway (47)
- # clojure-uk (3)
- # clojurescript (10)
- # cursive (10)
- # data-science (1)
- # datalevin (1)
- # defnpodcast (1)
- # events (2)
- # fulcro (11)
- # gratitude (2)
- # honeysql (18)
- # hyperfiddle (11)
- # introduce-yourself (1)
- # jobs (2)
- # lambdaisland (4)
- # lsp (6)
- # malli (4)
- # membrane (3)
- # off-topic (58)
- # polylith (14)
- # portal (2)
- # releases (2)
- # ring-swagger (4)
- # tools-deps (8)
- # xtdb (8)
Java has some interesting maths:
user> (= Double/POSITIVE_INFINITY (- Double/POSITIVE_INFINITY 5))
true
It breaks the laws of algebra
If we cancel out the infinity on both sides of the equation we end up with 5 = 0
infinity is not a number
its a symbol and arithmetic on it is not defined
Number.POSITIVE_INFINITY - Number.POSITIVE_INFINITY
is NaN
I think this is defined by https://en.wikipedia.org/wiki/IEEE_754-1985
Wow that's cool
I dont agree with infinity being equal to infinity though
Breaks all reasonable assumptions about how arithmetic works
Infinity is not a part of arithmetic.
Just as division by zero is not legal in arithmetic. So you can't do 1 * 0 = 2 * 0 => 1 = 2
.
Java does allow addition, subtraction, multiplication and division on infinity
Just because something doesn't correspond to your current assumptions doesn't mean that that something should be changed or that those assumptions are correct.
I guess I just have to add a special case for infinity to protect against the chaos it causes.
infinity in programming is pretty useful to generalize some things, like a function that accepts a lower and upper range can be expanded to everything by passing it negative and positive infinity
or giving a node in a graph a weight of positive infinity simplifies dijkstra's to represent something impassable
hm right I see
I guess it can be useful but its infinity = infininty I have a problem with.
I dont think its true and it break algebra
Algebra gives you certain rules about how you can manipulate numbers regardless of their values
Infinity + 5 is still infinity, you can't cancel out infinity by adding a finite number
> Algebra gives you certain rules how you can manipulate numbers An infinity is not a number.
I agree but Java dont
whatever particular behavior infinity exhibits in java doesn't necessarily reflect more rigorous mathematical definitions in its various contexts
> I dont agree with infinity being equal to infinity though Sounds like you miss some pretty basic education, tbh.
Furthermore, you should pretty much never compare floating-point numbers by equality, it's a bad idea not only because of this infinity case.
If you want to deal only with integer values, then it makes sense to enforce it. Otherwise, it is better to compare the absolute difference between two numbers to some epsilon, and also handle infinities and NaN explicitly.
Wouldn't call it "basic". Infinity is a deep and fascinating concept that continues to surprise even the most accomplished mathematicians. And now you're in on the fun @U043HLWSYUQ!
Yeah theres countable infinity and uncountable isnt there. I guess since it's a float it's uncountable.
Real numbers are uncountable, but that's assuming infinite precision and scale. When realized on computers, floats are represented by finite bytes, so you can indeed count them. (And they're not infinite.)
Here's another one that can break assumptions if you are not careful.
user=> (= (* (/ Double/MIN_VALUE 2) 2) Double/MIN_VALUE)
false
user=> (= Double/MAX_VALUE (+ Double/MAX_VALUE 1))
true
There is an extended real numbers concept in math, where infinities are included and operations are defined. It's nothing wrong to treat the infinity as an entity and define operations on it. https://en.m.wikipedia.org/wiki/Extended_real_number_line
Another example: In complex numbers you can have an infinity (which is not related to real infinities) and 1/0 is defined and equals infinity also 1/inf is 0. So everything depends on context.
What’s a polite way to ask someone if they are using AI? A coworker is producing documentation that has factual errors, that is unfocused and loquacious, and which makes my mind feel like I’m asleep and I’m dreaming about reading.
To me it has all the fuzzy characteristics of AI, but I don’t want to accuse someone
I think that don't matter which tool he is using. I would focus my criticism on the existing problems in the documentation
AI can invent false facts faster than I can proofread
Just in case you decide to go with the opposite: "Damn, even AI would've done a better job." :)
Addressing a coworker about the quality of their work, especially when suspecting the use of AI, can be a sensitive topic. It's crucial to approach the conversation with tact, focusing on the work's impact rather than the method of its creation. Here’s a suggestion on how to approach the topic politely and constructively: 1. Start with a Positive Note or a Common Goal: Begin the conversation by mentioning something positive about their work or reiterating a common goal you both share, like improving team documentation or ensuring clarity and accuracy in shared projects. ◦ “I’ve noticed the effort you’ve put into our recent documentation, and I appreciate how comprehensive it is. We all aim to enhance the clarity and accuracy of our project documentation.” 2. Express Your Observations Without Accusations: Instead of directly accusing them of using AI, share your observations about the documentation in a way that focuses on the work itself rather than the person. Use "I" statements to express how the documentation affects you or the project. ◦ “I’ve observed some instances in the documentation where the details seem to veer off-topic or contain inaccuracies. I sometimes find it challenging to follow, which might also impact our clients’ or team's understanding.” 3. Suggest a Collaborative Review: Offer to work together to review the documentation or suggest implementing a peer review process. This approach emphasizes teamwork and quality improvement without directly addressing the use of AI. ◦ “Would you be open to collaborating on a review of the documentation? A second pair of eyes can help us catch errors and refine the focus, ensuring our documentation is as clear and accurate as possible.” 4. Introduce the Topic of AI Carefully (if necessary): If you believe it’s crucial to address the potential use of AI, frame it as a broader team or project concern rather than singling out their behavior. ◦ “As we’re all navigating the use of new tools, including AI, it’s important we ensure they’re helping us meet our standards for accuracy and clarity. Let’s discuss how we can best leverage these tools responsibly.” 5. Encourage Open Communication: Make it clear that your goal is to support each other in producing the best possible work. Encourage them to share their thoughts and be open to feedback. ◦ “I value your input and would love to hear your thoughts on how we can continue to improve our documentation process. It’s important to me that we support each other as a team.” Remember, the goal is to foster a supportive environment where feedback is shared constructively and where all team members feel encouraged to strive for improvement together.
The proper way to ask this depends on various things, including how confident you can be that it was written by an LLM. Is the dev in question competent and do they usually write good documentation? What's their seniority? Do you know them well and know that they are familiar with the codebase in question? Like if you are 99% confident that they did not write this themselves and that they know the codebase well you could go with "It's a reasonable approach to accelerate the writing of documentation by handing the task off to an LLM, but you absolutely have to check what it produced and correct that if necessary. There are multiple things in this doc that are factually incorrect and I know that you know that they are."
it seems like @U08JKUHA9 is quoting ChatGPT but it’s actually good advice for dealing with a sensitive topic carefully
a possible way to indirectly confront the issue without even mentioning AI would be to find an example that you specifically found to be unhelpful because it was incorrect and ask your colleague to explain why they wrote that answer for that particular topic.
You should not worry about "accusing" someone of using an LLM, because there is nothing per se wrong with using LLMs. What you should worry about is if they didn't use one you just told them their writing is so bad you thought a computer did it.
Thanks for all the viewpoints and counsel