social.sour.is
  • Communities
  • Create Post
  • heart
    Support Lemmy
  • search
    Search
  • Login
  • Sign Up
@sunshine@lemmy.ml to Programmer Humor@lemmy.mlEnglish • 1 month ago

I'm new to using Ruby and this tickled me pink

lemmy.ml

message-square
95
fedilink
289

I'm new to using Ruby and this tickled me pink

lemmy.ml

@sunshine@lemmy.ml to Programmer Humor@lemmy.mlEnglish • 1 month ago
message-square
95
fedilink
  • comfy
    link
    fedilink
    2•1 month ago

    That sounds serious, can you give some example values we can test?

    • @mrgoosmoos@lemmy.ca
      link
      fedilink
      English
      13•1 month ago

      look I’m not trying to be a dick or anything, but do you not know about leap years and which years they are?

      • @Crashumbc@lemmy.world
        link
        fedilink
        English
        2•1 month ago

        Yes, and I have no idea…

        • @Kazumara@discuss.tchncs.de
          link
          fedilink
          5•
          edit-2
          1 month ago

          Leap years are each fourth year, except each hundredth year, except each thousandth fourhundredth year.

          1896 leap year
          1900 not leap year
          1904 leap year
          …
          1996 leap year
          2000 leap year
          2004 leap year
          …
          2096 leap year
          2100 not leap year
          2104 leap year

          Then you just arrange the 10 year window in different positions to overlap 1 to 3 leap years to reveal the three outcomes of the bug.

          - / - - - / - - - /
          - - / - - - / - - -
          - - 0 - - - / - - -

          - is a normal year, / is a leap year, 0 is an exceptional non-leap year.

          • @sexybenfranklin@ttrpg.network
            link
            fedilink
            English
            3•1 month ago

            Small correction, it’s every fourth year except every hundreth year except every 400th year. I’m assuming the misconception comes from the last time it was a 100th also being a 1000th (2000) but the next time a leap year will end in 00 is 2400

            • @Kazumara@discuss.tchncs.de
              link
              fedilink
              3•1 month ago

              Ahh right! Thanks for correcting me. Now that you mention it I remember too. It also makes sense, a year is roughly 365.2425 days long. Add 0.25 (one out of four), subtract 0.01 (one out of hundred), add another 0.0025 (2.5 out of thousand which is 1 out of 400)

        • @Hupf@feddit.org
          link
          fedilink
          1•1 month ago

          https://youtu.be/-5wpm-gesOY

      • comfy
        link
        fedilink
        1•
        edit-2
        1 month ago

        edit: just realized it was the python and not ruby example, I was very tired and distracted when I was reading this thread.

    • @Kazumara@discuss.tchncs.de
      link
      fedilink
      12•1 month ago

      Sure, here’s one example for each case:

      1 day off: 3650 days before 1907-01-01 is 1897-01-02

      2 days off: 3650 days before 2027-01-01 is 2017-01-03

      3 days off: 3650 days before 2025-01-01 is 2015-01-04

    • gonzo-rand19
      link
      fedilink
      4•1 month ago

      29 February 2028, 29 February 2032, 29 February 2036…

Programmer Humor@lemmy.ml

!programmerhumor@lemmy.ml

Subscribe from Remote Instance

Create a post
You are not logged in. However you can subscribe from another Fediverse account, for example Lemmy or Mastodon. To do this, paste the following into the search field of your instance: !programmerhumor@lemmy.ml

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.
  • 560 users / day
  • 784 users / week
  • 2.09K users / month
  • 8.21K users / 6 months
  • 38.4K subscribers
  • 1.91K Posts
  • 41.1K Comments
  • Modlog
  • mods:
  • @AgreeableLandscape@lemmy.ml
  • @cat_programmer@lemmy.ml
  • BE: 0.19.3
  • Modlog
  • Instances
  • Docs
  • Code
  • join-lemmy.org