Bruce, you seem like a really nice person. If you read this, thank you for figwheel.
Thanks for getting this up on ClojureTV so soon after the conference! An entertaining speaker, and a lot of fun to watch the live coding.
That was a really good presentation! Way more entertaining than other presentations on similar topics.
Man i’m late to the party on this one but this was a great talk
Great talk, Figwheel is truly an amazing tool!
Regarding auto-reloading files into the REPL on save in Clojure, Counterclockwise has this feature as an option, I don't personally have it enabled since sending the file contents to the REPL is always a simple key combination away - with ClojureScript, it has never (in my experience) been that easy, and Figwheel fills that need exceptionally well.
This just makes me cry. I wish I could have things as nice as his starting conditions.
3:48 this little experiment, i created a file that reloaded itself,
and i found the feedback, like .. amazing
i found the fact that i could like
change a file, and then see the changes [ at the same time ] ..
it was an ahaa moment
it is funny, the experience of it, is different than hearing about it
or watching people do it
when you finally experience it,
youre like .. what the heck? you know
the return on investment
for thinking about the load time side effects
is very very high
cos youre iterating so much faster [ mutate + select, predict + verify, write + read ]
and you are actually enjoying yourself
cos you are staying in this state of flow
so ultimately, i became an advocate [ of my own cultural revolution ]
people need to experience this, at least
and .. on the extreme side
everybody needs to do this, all the time
this is the best thing in the world
you gotta try, you really do
i mean, you really do
5:04 but there is a tradeoff, and the tradeoff is
in order to get instant feedback
you have to write reloadable code [ figwheel.org/docs/reloadable_code ]
That makes worth the whole clojurescript.
I love ClojureScript, finally a powerful language for the FE.
Awesome product, awesome talk!
Amazing toolset, I would love to watch another video explaining the protocol and technique behind the tool. It's not that complicated but there would be some tips and tricks there :D
Thank you for sharing!
Great presentation
That's super cool!!
Is it possible to develope web interactively without clojurescript? And without using webs like codepen i.e.
Certainly, with tools like webpack. It has a filewatcher for hot-realoading and a node test server. Also, any decent test runner has a filewatcher.
I built something like this in python, a few years back. I had a function log_once for debugging that was useful inside loops. Just use a hash-map and only print when a key value isn't in the hash map, the key can be module name and linenumber. If it was called with no arguments it would print out locals() of the surrounding function, since you need a special debugging shell to get *locals* in Clojure its not here.
Sorry for ugly formatting:
(def *keys* (atom #{}))
(defmacro p [key & args]
(let [key (or key (keyword *ns* ~(:line (meta &form))))]
`(when-not (contains? @*keys* ~key)
(prn ~@args)
(swap! *keys* conj ~key))))
+aoeu256
gist.githubusercontent.com/aoeu256/2cefd82914506a17d39b78e78e1e352b/raw/386613b760a5a954afa9e02fd84b43747a5307cf/log_once.clj
that is surely a unique combination of narcissism and talent. very nice presentation.
I love this idea, but it's always used in "gamey", proof-of-concept things. How would you use this in a typical boring old line-of-business app?
if it's a single page web app with tons of forms it would be super useful. otherwise, not so much
or anything with a bunch of state changes that you don't want to lose
You mentioned you haven't done conference speaking much, but you have a humorous, entertaining style. Keep it up!