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-squareKazumara@discuss.tchncs.delinkfedilinkarrow-up25·3 days agoThe python version seems buggy as fuck. Depending on which year you run it it’s off by 1-3 days
minus-squaredumples@midwest.sociallinkfedilinkEnglisharrow-up8·3 days agoPython does have a year option that they are not using. Depending on the application I would use 365 for a year to get a consistent number of days.
minus-squaresunshine@lemmy.mlOPlinkfedilinkarrow-up7·2 days agoI did look up the help for that function to make this meme but I must have missed that option. in my defense I’ve only been using Python for like 10 years
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…
The python version seems buggy as fuck. Depending on which year you run it it’s off by 1-3 days
Python does have a year option that they are not using. Depending on the application I would use 365 for a year to get a consistent number of days.
I did look up the
help
for that function to make this meme but I must have missed that option. in my defense I’ve only been using Python for like 10 yearsThat 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…