UmbralRaptor changed the topic of #kspacademia to: https://gist.github.com/pdn4kd/164b9b85435d87afbec0c3a7e69d3e6d | Dogs are cats. Spiders are cat interferometers. | Космизм сегодня! | Document well, for tomorrow you may get mauled by a ネコバス. | <UmbralRaptor> … one of the other grad students just compared me to nomal O_o | <ferram4> I shall beat my problems to death with an engineer.
<egg>
hm, that forgotten beast in the caverns seem to have some respiratory issues
<egg>
maybe I should deal with it at some point
<egg>
it did get a few doses of GCS venom, but on larger beasts that's not very effective
<soundnfury>
!wpn
* Qboid
gives soundnfury an unit
<Iskierka>
...
<egg>
!wpn Iskierka
* Qboid
gives Iskierka a linear observable with a basilisk attachment
<UmbralRaptor>
Why is the moon smaller in a 40 mm than a 30?
<UmbralRaptor>
(the 40 was a 25)
<UmbralRaptor>
hrm. seeing is bad for the 10.
* UmbralRaptor
should have brought a lunar atlas. And maybe a chair.
<UmbralRaptor>
♃! With balanced moons!
<UmbralRaptor>
bands visible w/ 30 mm, but easy w/ 18.
<UmbralRaptor>
Polar regions not visible.
<UmbralRaptor>
No, go away clouds.
<UmbralRaptor>
M13!
<UmbralRaptor>
Feh, Lyra's too low down, and the angle's bad for anything in Ursa Major.
* UmbralRaptor
did at least get some use from a laser^Wred dot sight pulled off of a cat.
<UmbralRaptor>
!wpn egg|zzz|egg
* Qboid
gives egg|zzz|egg a radon semigroup
<egg|zzz|egg>
!wpn UmbralRaptor
* Qboid
gives UmbralRaptor an associative 666 timer which vaguely resembles a slug
<UmbralRaptor>
!wpn egg|zzz|egg
* Qboid
gives egg|zzz|egg a flaming delta goto-like atlatl
<egg|zzz|egg>
UmbralRaptor: your eyepiece are long
<UmbralRaptor>
I guess?
* UmbralRaptor
used 30, 25 (once), 18, 12.7, 10, and 6.4 (unsuccessfully) mm. >_>
<UmbralRaptor>
This scope (60 mm ƒ/15) has what, 3x the focal length of yours?
<egg|zzz|egg>
UmbralRaptor: it's just that with my tiny scope here they appear long, yeah :-p
<egg|zzz|egg>
UmbralRaptor: I do my star-hopping with a 13 mm
<egg|zzz|egg>
(the 2.5 mm tends not to be helpful though)
<UmbralRaptor>
In terms of useful, it's 30-90x. And, uh, max FOV is like 1.75˚
<UmbralRaptor>
If that.
* UmbralRaptor
tends to think of ~13 mm as zoomed in. And, well, possibly running out of aperture >_>
<egg|zzz|egg>
UmbralRaptor: yeah, with the 13 mm I get 23x :D
<egg|zzz|egg>
UmbralRaptor: also Nagler, so 3.36 deg FOV
<egg|zzz|egg>
UmbralRaptor: the 2.5 mm is a bit too short even for that scope though, 120x (not an insane magnification, but with the short-focal opticks things get hairy)
<egg|zzz|egg>
UmbralRaptor: amusing note: even with the 2.5 mm I can fit a full moon in the field
<UmbralRaptor>
@_@
* UmbralRaptor
stares at an array of plössls.
<egg|zzz|egg>
UmbralRaptor: eventually I should get a cat
<egg|zzz|egg>
(and then possibly some longer-focal eyepieces)
<UmbralRaptor>
But will you get a cat to look through the cat?
<egg|zzz|egg>
UmbralRaptor: are there catadioptric eyepieces
<UmbralRaptor>
Uh, some types of cameras and/or spectragraphs?
* UmbralRaptor
was leaning more towards the kind of cats that meow.
<Sigma88>
I'm still not sure what all this has to do with my issue :D
<egg|afk|egg>
> printbits (round (0.6 * (2^54)))
<egg|afk|egg>
Sigma88: anyway, I forget how I wrote that, but these are the first few bits of 0.6
<Sigma88>
ok
<egg|afk|egg>
Sigma88: so you can see that it's 1.0011001100110011... * 2^something
<Sigma88>
ok
<egg|afk|egg>
Sigma88: so that's going to get rounded to 53 bits, and the result of that is the number that you will actually be dealing with
<Sigma88>
ok
<egg|afk|egg>
Sigma88: now if you used Decimal floating point, 0.6 would be representable (but 1/3 still wouln't be)
<Sigma88>
all this makes sense
<egg|afk|egg>
Sigma88: but let's not go there, that doesn't help
<egg|afk|egg>
Sigma88: so back to the problem at hand: you have the number of seconds in a year in double, and the number of seconds in a day in double, right?
<Sigma88>
"Decimal floating point" is that a type of number?
<Sigma88>
like "double"
<Sigma88>
right
<egg|afk|egg>
Sigma88: it's a thing, C# does have it, it's called Decimal
<Sigma88>
ah ok
<Sigma88>
but yes, year in double and day in double
<egg|afk|egg>
but you don't actually need that, because you don't really care whether 0.6 is representable
<egg|afk|egg>
Sigma88: ok, and then you want to return a year number which is an integer, a day number which is an integer, and you want there to be leap days so that over the long run the length of the year approximates the true length of year
ferram4 has quit [Read error: Connection reset by peer]
ferram4 has joined #kspacademia
<Sigma88>
well, how I do it right now is
<egg|afk|egg>
the question isn't what you do, it's what you want :-p
<Sigma88>
ok
<Sigma88>
so, I want the year to end at the last full day
<Sigma88>
so if 0.25 days are left, the next year starts
<Sigma88>
at the end of that year will remain 0.5 days
<Sigma88>
(0.25 from the first and 0.25 from the second)
<egg|afk|egg>
ok, I see what you mean
<Sigma88>
third year 0.75
<Sigma88>
fourth year LEAP DAY!
<Sigma88>
\0/
<Sigma88>
so in 400 years, new year's day is still on the same side of the sun
<egg|afk|egg>
Sigma88: but do note that if you're using the Gregorian calendar, that one is based on a year length of 365.2425 (it's not the Julian calendar)
<Sigma88>
I'm not using a calendar
<egg|afk|egg>
I know
<Sigma88>
I am defining a calendar
<egg|afk|egg>
yes
<egg|afk|egg>
I understand that
<egg|afk|egg>
but underlying the calendar you define is a year length
<egg|afk|egg>
it is the same thing for the Gregorian calendar
<Sigma88>
if I wanted to use the real life calendar I would have used the Time functions :D
<egg|afk|egg>
Sigma88, ascolta!
<Sigma88>
sure
<egg|afk|egg>
it is the same thing for the Gregorian calendar, that's how you get the 100 years 400 years thing
<egg|afk|egg>
Sigma88: so, here's a cumulative number of leap days for each year ^
<Sigma88>
there are 5 years without 1?
<egg|afk|egg>
yes
<egg|afk|egg>
.2425
<egg|afk|egg>
Gregorian calendar
<Sigma88>
right
<egg|afk|egg>
Sigma88: now, the issue with using truncation as you are doing is that if the year length is say 365.000001, the one-in-a-million missing leap year is going to be visible, because it's the first thing that happens
<egg|afk|egg>
Sigma88: if you rounded, instead of truncating, it would happen half a million years in and nobody would ever see it
<egg|afk|egg>
(because iirc bits of the game still break long before that)
<Sigma88>
not sure about that
<Iskierka>
could truncate the other side and only add a whole day when there's one going spare
<Sigma88>
I can go backwards in time 65 million years in one of my mods
<egg|afk|egg>
Iskierka: that is also a possibility, but then there's the case where you have 364.999999999 days per year
<Iskierka>
true
<egg|afk|egg>
Sigma88: but anyway, you don't really care about a one in a million leap year
<Sigma88>
yup
<Iskierka>
solution: start in year 1
<Iskierka>
to cancel the first error flip
<Sigma88>
I can do that
<egg|afk|egg>
Sigma88: and even that's too big actually, 1 double ULP is tiny
<Sigma88>
I have an offset value available
<egg|afk|egg>
;rpn 365 2 -53 ^ *
<kmath>
egg|afk|egg: 4.0523140398818214e-14
<Sigma88>
oh god what's that?
<egg|afk|egg>
Sigma88: when you have a rounding error, that's how often it will round the leap year
<egg|afk|egg>
s/round /change
<Qboid>
egg|afk|egg meant to say: Sigma88: when you have a rounding error, that's how often it will change the leap year
<Iskierka>
double is a 53 bit int with separate sign and exponent
<egg|afk|egg>
;rpn 1 365 2 -53 ^ * /
<kmath>
egg|afk|egg: 24677258232167.1
<Iskierka>
and 53 is a lot of bits
<egg|afk|egg>
Sigma88: once every 24677258232167 years or so
<Sigma88>
ok
<egg|afk|egg>
aka, you don't care :-p
<Iskierka>
53-bit time will get you 285 megayears before the precision is above seconds
<egg|afk|egg>
now if you truncate one way or another, you'll put that extra leap year right at the start, which screws things up
<Sigma88>
so I'm a bit confused about what you are suggesting I would do
<egg|afk|egg>
Iskierka's suggestion seems good
<egg|afk|egg>
alternatively, use rounding instead of truncation