[HN Gopher] 22-11-22 22:11:22 ___________________________________________________________________ 22-11-22 22:11:22 A palindrome date, time and datetime (: Author : lun4r Score : 70 points Date : 2022-11-22 20:41 UTC (2 hours ago) | orliesaurus wrote: | happy 22-11-22 everyone, can't wait to wait for 23-11-23 | huhtenberg wrote: | 23-11-32 then | DrNosferatu wrote: | Just realized that on 22-11-22, 22:11:22 I had exactly 212 HN | karma points - surely the Universe is trying to say something... | sillysaurusx wrote: | Now the question is, would you like to be downvoted to maintain | stasis, or try to get to 2112 karma before tomorrow? :) | bproctor wrote: | I still regret missing Michael Scott's 05-05-05 party. It only | happens once every billion years. | aidenn0 wrote: | Surely every 100 years? | chungy wrote: | He was quoting Michael Scott. | timeaway wrote: | Unix time 1666666666 happened last month, on October 25th | 02:57:46 UTC. | | A closer "round" number will be 1670000000, happening next month | on December 2nd 16:53:20 UTC. | | But for 1700000000 we'll have to wait until next year, November | 14th 22:13:20 2023 UTC. | subarctic wrote: | Coming up soon in UTC :) | coding123 wrote: | I wonder if there was a single person in 1922 that had the same | thought. | 31337Logic wrote: | ...or last year, on Nov. 12th. | quickthrower2 wrote: | or 11-11-11 11:11:11 | | or 01-01-01 10:10:10 | | Interview question: write a program to list them all! | yamtaddle wrote: | > write a program to list them all! | | Me: Is it OK if it doesn't print until it's done? | | Interviewer: Uh, sure, why not? | | Me: while(1){} | | Me: Finished. This produces the exact desired output of the | program you specified. | | Interviewer: GTFO. | carl_dr wrote: | Sounds like a great Code Golf contest. | | ruby -e 'require"date";a=DateTime.new(0,1,1,0,0,0);(0..4e9) | .each{|d|b=(a+Rational(d,86400));c=b.strftime("%y%m%d%H%M%S | ");puts b.strftime("%y-%m-%d %H:%M:%S")if c==c.reverse}' | | About the most inefficient anyone could make it, but I | think it works! | lcnPylGDnU4H9OF wrote: | Looks like it would be defeated by the dreaded leap | second. | SAI_Peregrinus wrote: | They're going away. Resolution 4 of the CGPM 2022[1]. | They didn't want to deal with having to add a negative | leap second, and it looks likely they'd have to if they | didn't end them. | | [1] https://www.bipm.org/documents/20126/64811223/Resolut | ions-20... | carl_dr wrote: | I don't think so. It would be only year 2006 (which map | to second 60) which could be a problem, and there wasn't | a leap year in that year. | AkshatJ27 wrote: | Some saves: `Rational(d,86400)` -> `d/86400r` | | Get rid of the variable `a` since it is used in only one | place. | | `DateTime.new(0,1,1,0,0,0)` -> `DateTime.new(0,1,1)` | | also in newer ruby versions you can use numbered | parameters to replace d with _1 and remove `|d|` | | Pretty sure there might be some more which i do not see | immediately :) | carl_dr wrote: | ruby -e 'require"date";(0..4e9).each{b=DateTime.new(0,1,1 | )+_1/86400r;c=b.strftime("%y%m%d%H%M%S");puts | b.strftime("%y-%m-%d %H:%M:%S")if c==c.reverse}' | | 151 bytes (including the ruby -e, down from 174.) Thanks! | AkshatJ27 wrote: | `ruby -e 'require"date";0.upto(4e9){b=DateTime.new(0,1,1) | +_1/86400r;c=b.strftime"%y%m%d%H%M%S";p | b.strftime"%y-%m-%d %H:%M:%S"if c==c.reverse}'` | | 142? Sorry if I broke anything, on phone. | carl_dr wrote: | You need to use puts to avoid quotes being added around | the output - so I'll give you 145! I'm on my phone too, | I'm impressed I even got something working, you've done | brilliantly. | | Edit: DateTime.new(0) seems to work. 141. | AkshatJ27 wrote: | ~~`b=DateTime.new(0,1,1)+_1/86400r;`-> | `b=_1/86400r+DateTime.new 0`~~ oops | carl_dr wrote: | That doesn't work unfortunately, you need the brackets - | DateTime has to be on the left. | AkshatJ27 wrote: | ah, my bad. | | This should work for 134: | | `ruby -r date -e | '0.upto(4e9){b=DateTime.new(0)+_1/86400r;puts | b.strftime"%y-%m-%d | %H:%M:%S"if(c=b.strftime"%y%m%d%H%M%S")==c.reverse}'` | carl_dr wrote: | ruby -rdate -e'b=DateTime.new | 0;loop{b+=1/86400r;c=b.strftime"%y%m%d%H%M%S";puts | b.strftime"%y-%m-%d %H:%M:%S"if c==c.reverse}' | | 127. Script never terminates, but it does display all | possibilities, so I think it still passes! | | Edit: 126. ruby -rdate -e'b=DateTime.new | 0;loop{b+=1/86400r;puts b.strftime"%y-%m-%d | %H:%M:%S"if(c=b.strftime"%y%m%d%H%M%S")==c.reverse}' | | I think I'm done for the moment, will revisit tomorrow if | you can find any further savings! | [deleted] | [deleted] | hirundo wrote: | 2022-11-22 22:11:22.02 ___________________________________________________________________ (page generated 2022-11-22 23:00 UTC)