This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-10-15
Channels
- # bangalore-clj (4)
- # beginners (53)
- # boot (7)
- # cider (1)
- # clara (1)
- # cljs-dev (13)
- # clojure (29)
- # clojure-dusseldorf (3)
- # clojure-russia (7)
- # clojure-spec (63)
- # clojure-uk (7)
- # clojurescript (51)
- # css (1)
- # datomic (5)
- # emacs (1)
- # events (1)
- # fulcro (15)
- # hoplon (3)
- # immutant (3)
- # juxt (1)
- # midje (2)
- # off-topic (24)
- # om (1)
- # parinfer (1)
- # portkey (54)
- # re-frame (4)
- # reagent (13)
- # schema (1)
- # shadow-cljs (19)
- # sql (1)
- # testing (37)
- # yada (2)
Just in case anyone was wondering: the conversation between @qqq and I about guildsman gradients happened in #tensorflow
what does the ^:portkey/no-sync in
(ns ^:portkey/no-sync portkey.ouroboros
"The JVM that instruments itself."
(:refer-clojure :exclude [descendants])
(:require [ :as io]))
mean ?@U0JHH97UK’s answer is correct but It’s vestigial code inherited from powderkeg
I haven't seen it used often for namespace, but it's shorthand for metadata: https://clojure.org/guides/weird_characters#__code_code_and_code_code_metadata
I imagine that portkey uses the information internally for something.
Essentially it attaches the metadata map: {:portkey/no-sync true}
to the namespace.
Some code operating on the namespace itself could then look up the metadata and do something depending on the value of that key in the metadata.
Clojure, the first 10 years
What did we think we were getting (10 years ago)? A programming tool.
What did we get (10 years later)? A lens for viewing program construction and systems design.
The next 10 years? It's all to you
I suppose this talk would go into one of clojure classics
https://www.youtube.com/watch?v=9N7xM40fio0operating inside boot, I get:
(clojure.core/require 'portkey.ouroboros) ;; => nil
(clojure.core/use 'portkey.ouroboros) ;; => namespace 'portkey.ouroboros' not found
this confuses me, as the nil implies the require succeeded, but for whatever reason, I can't 'use' the namespace@qqq It seems that boot’s classloaders shenanigans and portkey’s ones are not mixing up well
https://github.com/portkey-cloud/portkey/blob/master/src/main/clojure/portkey/ouroboros.clj#L173 java.lang.IllegalStateException: This class is expected to be loaded by the system classloader. java.lang.ExceptionInInitializerError: clojure.lang.Compiler$CompilerException: java.lang.ExceptionInInitializerError, compiling:(portkey/ouroboros.clj:173:37) ^^-- that's the silent error when I try to (require 'portkey.ouroboros)
so the namesapce portkey.ouroboros is not loading, and it's complaininga bout that line 173 -- as for how to fix that, I don't know how
Actually the source of the exception is https://github.com/portkey-cloud/portkey/blob/master/src/main/java/portkey/Agent.java#L8
okay, so https://github.com/portkey-cloud/portkey/blob/master/src/main/clojure/portkey/ouroboros.clj#L173 wants to look at portkey.Agent/instrumentaion which then causes the class to be loaded .. and runs the static functions to initialize it
Can’t fix it right now, would you mind opening an issue? I’ll try to take care of it once at the airport.
@cgrand: I'm not used to filing github issues. Here's my attempt at https://github.com/portkey-cloud/portkey/issues/36 -- please let me know if there is more info I should add.
(this is not an issue coming out the blue, we have discussed it so the issue as a summary of the current analysis is the right thing to write down)
It’s not an epsilon resolution, portkey needs people like you and @baptiste-from-paris that are brave enough to try it and find limitations and edge cases. :thumbsup:
I think that tactic has been successful and has gotten us this far, so continuing it will get us further :)
Hi! Is there some sort of “mentoring” program/website/else for Clojurians who would like to get paired with an experienced Clojure dev for feedback on a project and/or questions?
By that I mean not “one-off” pairing (like coming here to ask a question), but over a longer period of time
@cgrand: documenting the error = epsilon 'contribution' resolution / fixing the error = lots of work = won't be done by me 🙂 btw, https://www.youtube.com/watch?v=qJXqQATJNTk was an excellent talk -- basically what got me to try portkey