This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-07-31
Channels
- # announcements (4)
- # aws-lambda (1)
- # babashka (25)
- # beginners (60)
- # calva (33)
- # cider (15)
- # cljdoc (1)
- # clojure (28)
- # clojure-dev (1)
- # clojure-europe (4)
- # clojurescript (29)
- # clojureverse-ops (4)
- # conjure (10)
- # datomic (4)
- # graalvm (4)
- # holy-lambda (4)
- # honeysql (13)
- # introduce-yourself (1)
- # lambdaisland (1)
- # missionary (11)
- # music (2)
- # off-topic (35)
- # pathom (17)
- # pedestal (20)
- # reagent (3)
- # sci (10)
- # shadow-cljs (39)
- # sql (6)
- # tools-deps (6)
- # vim (1)
Where can i report some issues on
? Lots of the links in the readme point to
which understandably throw return a 403. Examples:
* [List of projects]()
...
* If you are using Clojure 1.2, use clojure-contrib 1.2, or the new [modular Contrib]() libraries.
* If you are using Clojure 1.3, use the new [modular Contrib]() libraries.
@dpsutton clojure-contrib
is essentially "dead" and unmaintained... I don't know where you'd file issues with it. I guess you could post on ask...?
Looks like I have write access to that README so I can fix all the links if you list them in a post on ask with their new locations?
Had someone following a tutorial that used that. And unfortunately all of the links pointing to how to use the modern variants 403
Here's a suggested patch. Points to the list of contrib libs, removes information about how to create a new contrib project, and removes the section for maven configuration
The "favorite contrib" piece is covered on the new contrib_libs page too "If you find that active development for a library has ceased and you would like to take over as owner, please contact <mailto:[email protected]|[email protected]>. ..." so, yeah, taking that piece out instead seems like a good approach. Thanks!
OK, README updated.
I’m wondering how I can create better tests for these sorts of calculations.
(deftest greenwich-mean-sidereal-time
(testing "Get GMST given the Julian date.\n
Using reference values from XEphmem 4.0.1"
(are [sidtime jd] (= sidtime (sut/greenwich-mean-sidereal-time jd))
{:h 20 :m 31 :s 24} 2459425.5
{:h 14 :m 55 :s 50} 2127164.96610
{:h 16 :m 13 :s 23} 0.0
{:h 18 :m 48 :s 53} 3547273.0)))
Right now I’m taking values I got from an old astronomy program, but I’m not sure if my tests or my implementation failed.wildwestrom.sidereal-time-clock.time-test
4 non-passing tests:
Fail in greenwich-mean-sidereal-time
Get GMST given the Julian date.
Using reference values from XEphmem 4.0.1
expected: {:h 20, :m 31, :s 24}
actual: {:h 20, :m 34, :s 30}
diff: - {:s 24, :m 31}
+ {:s 30, :m 34}
Fail in greenwich-mean-sidereal-time
Get GMST given the Julian date.
Using reference values from XEphmem 4.0.1
expected: {:h 14, :m 55, :s 50}
actual: {:h 14, :m 58, :s 48}
diff: - {:s 50, :m 55}
+ {:s 48, :m 58}
Fail in greenwich-mean-sidereal-time
Get GMST given the Julian date.
Using reference values from XEphmem 4.0.1
expected: {:h 16, :m 13, :s 23}
actual: {:h 16, :m 9, :s 26}
diff: - {:s 23, :m 13}
+ {:s 26, :m 9}
Fail in greenwich-mean-sidereal-time
Get GMST given the Julian date.
Using reference values from XEphmem 4.0.1
expected: {:h 18, :m 48, :s 53}
actual: {:h 18, :m 50, :s 36}
diff: - {:s 53, :m 48}
+ {:s 36, :m 50}
And here’s my function
(defn greenwich-mean-sidereal-time
"For longitude zero, calculates the sidereal time given a Julian day."
[jd]
(let [MJD0 2415020.0
J2000 (- jd MJD0)
GMST (+ 18.697374558 (* 24.06570982441908 J2000))
GMST-24h (mod GMST 24)]
(sidereal-time-map GMST-24h)))
stating the obvious, but if you don't know the right answer for a given computation, you cannot possibly create a meaningful test for it :) either you'll have to take the old program's values as canon, or you'll have to understand your own program very carefully
an 'outside of the box' way to solving this might be jumping to a semi-related problem that would depend on the greenwich-mean-sidereal-time
impl being correct.
if the solution to the other problem is grossly incorrect, then that might give you a hint that greenwich-mean-sidereal-time
is also incorrect
Hmmmm, that makes things difficult I guess. So I guess for now I’ll see if I can find a good reference implementation.
NOTE: Transit is intended primarily as a wire protocol for transferring data between applications. If storing Transit data durably, readers and writers are expected to use the same version of Transit and you are responsible for migrating/transforming/re-storing that data when and if the transit format changes.
Even if there have been such changes - nothing prevents you from not upgrading the transit libraries. Or from migrating the data upon an upgrade that's not backwards compatible.
You can also give Nippy a look: https://github.com/ptaoussanis/nippy I heard a lot of good things about it.