just listened to Stuart Hallowayโs talk
and now really excited about todays โAWS, meet Clojureโ talk ๐
which starts in an hour I guess
sad also
lol
mixed feelings
yeah well, really a teaser
the lately added Datafy protocol is a center part of the mix
datafy = ?
https://github.com/clojure/clojure/commit/93841c0dbf9db2f358474408d5e21530f49ef8b3
(defprotocol Datafiable
(datafy [o] "return a representation of o as data (default identity)"))
ok
not sure yet, but with that one could make the java stuff more data-like
if the idea with aws-clj-sdk is to go and make aws http apiโs more like data, then Datafiable can just benifit from that work
thereโs the concept of Navigable too
which would allow seeking (might allow paging too)
anyway, quite exciting
not yet sure if their idea is to work on operating on the pure material (xml/json etc.) of the http apiโs though
well anyway, have to watch the presentation at some point in near future ๐
lol
great
iโll have at least 4 weeks off, just tell me if I finish the project or not ๐
if @viesti is right on the money then it means they use datafy over AWS java libs
so axs-clj-sdk has still value proposition of being pure clojure and cljs
yes
I was a bit wary of saying that, but the java libs have quite much stuff in them which is valuable and aws-clj-sdk still has itโs value proposition
so if that is the case, there is just novel work, no losers here
๐ญ๐ญ๐ญ๐ญ๐ญ๐ญ๐ญ
:D
hmm so traveling back from company little Christmas party still today, can I bear watching the presentation in train? :)
๐
Must be interesting anyway
hmm so Datafy on ClojureScript, there's the question on amount of work bridging JS to Datafy
thinking that one artifact is an upside too
anyways we hit a spot :)
Datafy is on cljs ?
well the protocol is in a clj file
don't know the story of cljc in core actually
Ok
Didnโt watched aws, I think Iโll wait after London ^^
hmm, didnโt yet find Davidโs recording
ah there
โฆ.
next slide is the one that @baptiste-from-paris referenced
anyway we got onto a slide in the Conj ๐
hmm, this isnโt just Datafy over Java classesโฆ I hopeโฆ
Lol
ahaa, David found js, ruby and go sdkโs with service descs
?
you did not watch the whole talk? ๐
Iโm progressing slide by slide
Nope
Having a drink with friends
I geeked all week ;-)
you not dare? ๐
Lol
in a train back to home, have to decide if I drink something to my misery or get enlightened after this ๐
they (Cognitect) started in 2015
11 people involved
Rich himself
damn!
Lol
I havenโt watched it but I guess you (@viesti and @baptiste-from-paris) can be proud.
com.cognitect.aws/api
you too ๐
Christophe ๐
they too use the other sdkโs for models to generate clojure artifacts
man oh man, If Iโd just had really promoted this in my company, thereโs so many people getting betting on AWS, just that not that many on particularly on Clojure
Real question is : can we be better at it
Iโm 16min in the presentation still
Humm, seems our lib is better ^_^
(api/ops s3-client)
is like (amazonica/show-functions)
we have specs
cider-browse-specs rules here
we even have docstrings
(ok, not for all apiโs but anyway)
ah, but they have specs
(me: interlude, where are spec dosctrings)
they have pay-as-you-go, docs/specs get loaded during call, not on require
lower-level response in metadata, it seems
not streaming, since the client they use (same http client as datomic uses)
๐
Thanks kimmo
Keep going with news ^^
yeah, not live but anyway ๐
retryable? predicate, can retry requests via throttling
(thinking that this is a โRelease itโ book like addition)
seems there are more backpressure things, backoff retry
credential chain as normal, maybe nothing interesthing here, but for completeness sake, works in EC2 and containers
ok but for testing one can provide a :credentials-provider
(aws.async/invoke)
gives back a channel
(now Christophe could chime in for async support :))
Demo!
REBL!
(def ddb (aws/client {:api :dynamodb}))
demo effect
clojure -A:rebl...
(almost like clojure -A:rebel
for Bruceโs work)
wifi problems, demo effect continues
oh damn! wifi fails demo
would have demoed documentation navigation
library state is alpha
designed for dealing with services, no helpers (like aws-clj-sdk)
meaning that lacks stuff like the TransferManger in the Java S3 api which does multipart download in parallel
try it out! feedback!
it lives here: https://github.com/cognitect-labs/aws-api
jars in maven central
questions?
(I would have but Iโm no there)
ack, he didnโt repeat the questions
ahh, someone asked about versioning the apis
they generate clojure specs
Stu comes with a laptop
demo time!
(Stu says this is supercool)
Stu takes the stage
comedy style of Stu finding a connnector for his laptop ๐
okay, he demoes the thing that I demoed with Emacs cider-browse-spec gif
caps lock remapped confuses David!
๐
html as html (hrm, we have html to nice string)
ok, list tables in dymanodb, then get arn, Datafy the arn, turn that into table describe
(neat!)
Datafy the resouce, Nav throught it
(i.e. jump through all the AWS api)
TALK FIN
there, phew
So
Pros & cons
?
well the spec generation struct me
Datafy is something that didnโt exist just until now
obviously we didnโt know about it
I think David mentioned that this lib is in experimental use
but odds are that this will get more eyes on it than ours
didnโt catch how many APIโs they actually support
thinking that probably not API Gateway, for which Cristophe did a fair amount of work
https://github.com/cognitect-labs/aws-api/tree/master/src/cognitect/aws/protocols
0% tree src/cognitect/aws/protocols
src/cognitect/aws/protocols
โโโ common.clj
โโโ ec2.clj
โโโ json.clj
โโโ query.clj
โโโ rest.clj
โโโ rest_json.clj
โโโ rest_xml.clj
right off the bat, more protocols than we support
and since they release to maven, this lib has immediate user base
0% tree test/resources/aws-sig-v4-test-suite
test/resources/aws-sig-v4-test-suite
โโโ get-header-key-duplicate
โ โโโ get-header-key-duplicate.authz
โ โโโ get-header-key-duplicate.creq
โ โโโ get-header-key-duplicate.req
โ โโโ get-header-key-duplicate.sreq
โ โโโ get-header-key-duplicate.sts
test suite might look familiar to Baptiste? ๐
Lol
Yep
But itโs all good, the journey does count, not the destination and if I feel that I can bring something new with finishing the last protocol during Xmas Iโll do it
If not, fuck it, it was awesome anyway
my thoughts exactly, awesome anyway ๐
I donโt see HAL in the lib
wiggle that in to make the thing better
glad that this wasnโt just glue over Java artifacts
but a proper datafying
I say we pat ourselves on the back in London, and continue the Clojure journey, wherever it leads us ๐
Amen
๐
Lol
https://github.com/clojure/clojurescript/commit/fcc4495462f35ea74b74468354fdc893302c4284