sunshine@lemmy.ml to Programmer Humor@lemmy.mlEnglish · 3 days agoI'm new to using Ruby and this tickled me pinklemmy.mlimagemessage-square89fedilinkarrow-up1287arrow-down17
arrow-up1280arrow-down1imageI'm new to using Ruby and this tickled me pinklemmy.mlsunshine@lemmy.ml to Programmer Humor@lemmy.mlEnglish · 3 days agomessage-square89fedilink
minus-squarecomfy@lemmy.mllinkfedilinkarrow-up2·3 days agoThat sounds serious, can you give some example values we can test?
minus-squareKazumara@discuss.tchncs.delinkfedilinkarrow-up11·3 days agoSure, 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
minus-squaremrgoosmoos@lemmy.calinkfedilinkEnglisharrow-up12·3 days agolook I’m not trying to be a dick or anything, but do you not know about leap years and which years they are?
minus-squarecomfy@lemmy.mllinkfedilinkarrow-up1·edit-22 days agoedit: just realized it was the python and not ruby example, I was very tired and distracted when I was reading this thread.
minus-squareKazumara@discuss.tchncs.delinkfedilinkarrow-up5·edit-22 days agoLeap 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.
minus-squaregonzo-rand19@moist.catsweat.comlinkfedilinkarrow-up4·3 days ago29 February 2028, 29 February 2032, 29 February 2036…
That sounds serious, can you give some example values we can test?
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
look I’m not trying to be a dick or anything, but do you not know about leap years and which years they are?
edit: just realized it was the python and not ruby example, I was very tired and distracted when I was reading this thread.
Yes, and I have no idea…
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.
https://youtu.be/-5wpm-gesOY
29 February 2028, 29 February 2032, 29 February 2036…