This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-09-20
Channels
@mynomoto: thanks for the updates to the demos!!
@flyboarder: glad to help
@micha: any tips to find how/why castra is getting empty sessions just after setting it have users on castra-chat?
I wish I can help out too but i was dragged down to the beach to play w my daughter... :) maybe later today
@flyboarder: https://github.com/exicon/homepage is our fully hoplon/castra, opensource app which worth looking at as a real world example. It might not be the best example because we don't understand these technologies very deeply but im constantly trying to keep it running on cutting edge versions and incorporate the lastest understandings i gain right here on slack. (The backend part is not open but maybe I will chuck in a mock backend to complete the picture)
@piotrek: dont wait for more documentation. Just keep reading and re-reading the hoplon and castra sources. They r a few hundred lines only. U r still better off than trying to use the better documented react.
I think the trick with React is it's simple to explain it superficially. U might think u got it and it must be easy to use. The u look at some simple examples and it seems straightforward. They are similar to what u saw in ember, angular, etc just a bit cleaner and somewhat simpler conceptually. But the if u look at more complex examples, where different widgets are collaborating over a bigger app state and they also have their own local state, etc, then u will end up learning about those lifecycles micha mentioned and quickly find urself thinking about super abstract shit instead of working directly on your problem.
I cant say I never had to do the same with Hoplon, but with Micha's help our day to day work was not impeded noticeably. Now that we switched all of our repos to Hoplon6 (alpha6 or 10) Im foreseeing a lot smoother sail. It will take a few more weeks until we have great docs and up to date examples but we r more than half way there already. In the meantime this Slack channel is your living documentation ;) We have people here from the Americas, Europe and Asia so most timezones are covered...
@onetom: thanks - I will take a look at the source code. However, it is usually much easier to read the source code when you know the concepts behind it so you don’t have to wonder why things are implemented as they are
@piotrek: there are several youtube videos which can illuminate concepts, https://www.youtube.com/watch?v=UoZyyo2Bwr8 is latest and greatest, in case you haven't seen
Current status on demo updates: - Done: castra-simple, contacts, counters, demos-homepage, google-maps, hoplife, infinite-scroll, infinite-scroll-paginated, inputs, plotSVG, todoFRP and validated-form - Castra session issues: castra-chat, territory-build (possibly). - htlm2cljs issues: async-webinar, tictactoe, todoFRP-html - libs not updated issues: jquery-date-picker and jquery-selectize
@micha: were you able to find the session issue on castra? Also do you have an example of the html2cljs task?
That is supposed to convert html.hl to cljs right? That's what I'm thinking at least
Oh, I'm wrong then. I will try to find what's wrong then. I'm couldn't make html.hl
files work yesterday.
@micha: you meant adding a <script>
on this line and closing in the end of the file? https://github.com/hoplon/demos/blob/hoplon6/async-webinar/src/index.html.hl#L141
java.lang.ClassCastException: clojure.lang.LazySeq cannot be cast to java.lang.String
@micha: That also works for me. But when I add (html2cljs :file "index.html.hl")
before (hoplon)
on the dev
task I get:
`
java.io.FileNotFoundException: index.html.hl (No such file or directory)
...
io.clj: 229
io.clj: 69
io.clj: 258
io.clj: 69
io.clj: 165
io.clj: 69
io.clj: 102
...
clojure.core/apply core.clj: 632
clojure.core/slurp core.clj: 6653
...
hoplon.boot-hoplon.impl/html2cljs impl.clj: 50
...
clojure.core/apply core.clj: 630
boot.pod/eval-fn-call pod.clj: 184
boot.pod/call-in* pod.clj: 191
...
boot.pod/call-in* pod.clj: 194
hoplon.boot-hoplon/eval801/fn/fn/fn boot_hoplon.clj: 133
boot.task.built-in/fn/fn/fn/fn built_in.clj: 171
boot.task.built-in/fn/fn/fn/fn built_in.clj: 149
boot.task.built-in/fn/fn/fn/fn/fn/fn built_in.clj: 230
boot.task.built-in/fn/fn/fn/fn/fn built_in.clj: 230
boot.task.built-in/fn/fn/fn/fn built_in.clj: 227
boot.core/run-tasks core.clj: 695
boot.core/boot/fn core.clj: 705
clojure.core/binding-conveyor-fn/fn core.clj: 1916
...
ah right, because it's looking in the filesystem for "index.html.hl", not on the class path
I don't use the html syntax at all but that seems like a lot of work for people that need the syntax no? Also the html.hl
file cannot be on a input
role fileset because it will break the hoplon
task if it's there.
Oh, I misunderstood then. I'm trying to add the html2cljs
because it's not working automatically... I get:
java.io.FileNotFoundException: index.html.hl (No such file or directory)
...
io.clj: 229
io.clj: 69
io.clj: 258
io.clj: 69
io.clj: 165
io.clj: 69
io.clj: 102
...
clojure.core/apply core.clj: 632
clojure.core/slurp core.clj: 6653
...
hoplon.boot-hoplon.impl/html2cljs impl.clj: 50
...
clojure.core/apply core.clj: 630
boot.pod/eval-fn-call pod.clj: 184
boot.pod/call-in* pod.clj: 191
...
boot.pod/call-in* pod.clj: 194
hoplon.boot-hoplon/eval801/fn/fn/fn boot_hoplon.clj: 133
boot.task.built-in/fn/fn/fn/fn built_in.clj: 171
boot.task.built-in/fn/fn/fn/fn built_in.clj: 149
boot.task.built-in/fn/fn/fn/fn/fn/fn built_in.clj: 230
boot.task.built-in/fn/fn/fn/fn/fn built_in.clj: 230
boot.task.built-in/fn/fn/fn/fn built_in.clj: 227
boot.core/run-tasks core.clj: 695
boot.core/boot/fn core.clj: 705
clojure.core/binding-conveyor-fn/fn core.clj: 1916
...
Sorry, I meant:
Compiling Hoplon pages...
• index.html.hl
java.lang.ClassCastException: clojure.lang.LazySeq cannot be cast to java.lang.String
hoplon.boot-hoplon.compiler/read-string-1 compiler.clj: 32
hoplon.boot-hoplon.compiler/compile-string compiler.clj: 120
...
clojure.core/apply core.clj: 632
hoplon.boot-hoplon.compiler/compile-file compiler.clj: 132
...
hoplon.boot-hoplon.impl/hoplon impl.clj: 46
...
clojure.core/apply core.clj: 630
boot.pod/eval-fn-call pod.clj: 184
boot.pod/call-in* pod.clj: 191
...
boot.pod/call-in* pod.clj: 194
hoplon.boot-hoplon/eval762/fn/fn/fn boot_hoplon.clj: 124
boot.task.built-in/fn/fn/fn/fn built_in.clj: 149
boot.task.built-in/fn/fn/fn/fn/fn/fn built_in.clj: 230
boot.task.built-in/fn/fn/fn/fn/fn built_in.clj: 230
boot.task.built-in/fn/fn/fn/fn built_in.clj: 227
boot.core/run-tasks core.clj: 695
boot.core/boot/fn core.clj: 705
clojure.core/binding-conveyor-fn/fn core.clj: 1916
I'm using bower with sassc when I need css deps, it could be worse. Also I'm trying to inline all styles. I was more sure about including css before, but still see the value.
the stacktraces are crazy. I'm used to VBA debugging where you can step through code, put in breakpoints, watches, see and inspect the value of all variables, change them etc
well when I think about it, looking strictly at debugging, the REPL is like a poor man's IDE
cursive is unlikely, I'm too set in my ways and when it comes to lisp I feel this sorrow anytime I'd have to leave emacs
to be honest I talk a lot but don't code that much. I mean look at me I'm here for a month and all I did is the markdown editor, which is like 50 loc
1 line of clojure = 20 lines of java, so you only need 1 clojure dev and 20 java devs
http://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so
https://www.reddit.com/r/programming/comments/3h52yk/someone_discovered_that_the_facebook_ios/
FBEventUpdateNotificationSubscriptionLevelMutationOptimisticPayloadFactoryProtocol-Protocol.h