A recording of all that I saw and hear at Clojure West 2016 in Seattle Washington.
This library lets you navigate and modify deeply nested and deeply repetitive data structures. Fundamently, it raises the barrier before you need to start putting things in a database by making it possible to just reason about data when the data is very deep or very broad. It makes the actionable code look like a DSL in its conciseness; without actually being a DSL. Having said that, it is bringing in a rather large "mini DSL" in order to allow for the data manipulation.
This was a walkthrough of a 16,000 line of code Clojure App. Lessons were learned, libraries were used, and discarded. Code is being used on the Boeing 737 MAX; which is evidently a new plane with a focus on efficiency.
https://github.com/SparkFund/spec-tacular
An attempt at putting some sort of stronger typing on entities in Datomic. Graded various aspects of her attempt. Did not entirely follow due to lack of familiarity with Typed systems in particular.
This was just a deep dive into exactly what a record is and when it is appropriate to use one. A record is just a collection of fields, possibly of different data types, typicially with a fixed number and sequences.
Big exception is that =
and .equals
are NOT the same when comparing Record to a map even with the same value.
It can be a bit surprising to see this. Unfortunately, they often still look like records. In fact, this is one of the reason record? exist.
Showcased an API for interaction to the Alexa Skill system from the Clojure API. It is called Boomhauer, from the king of the hill character. GITHUB
This might be good for the sales reps. I mean, they are already wearing a headset, it would be cool if they could do things like take voice notes and make calls and all that stuff without even having to touch the screen.
I have no use for this, thought it was neat. It is basically a system for doing distributed computation in a peerless system.
Refresh the page after performing an action, you should have the same state as you had when you finished. Without tying to a particular thing you have proven that it has been persisted.
When you need development, just merge all the systems into one map
tldr; Source Code != Program
Honestly, it looks rather complex to me. I do not convinved these new models based on Falcor are actually superior.
l - can be used to show a list of the locals
o - takes you out of the current debugger
s - stacktraces
which-key package -
http://cider.readthedocs.org/en/latest/
there is a really good story in terms of being able to trace recursive functions
enlighten mode basically enables lightable in emacs
cider-scratchpad is usual for prototyping ideas
C-c C-e for normal evaluation
C-j to print out the result
cider-inspect lets you look at complex data
cider-docs - to see docs
cider-grimoir - to see examples
cider-apropo - match all symbols related to the word you name
Projectile installed allows you to toggle between implementation and test
Yes.
No.
Some modular web framework that is going to normalize how people do web programming.
What if we thought of it less as "request/response" (webdev) programming and more as a game? Where we have to do local level rendering of a segment of the entire world.
So, for good caching, also include a timestamp as part of the UUID, this way you don't have to revert data, instead you can just increment the timestamp and this will mean the cache is no longer used. Thi smight actually apply to Elasticsearch for my own uses.
Some great Resources at the end
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
Good conference. Met a number of people that we can bring in to work if we need their skills. Learned about new technologies in the Clojure community. Specifically, I think the Alexa system might be something we should look into for Reps. Specter might be good for keeping our system as Data and not needing to put everything in a database. The Data science team might like that; of course, it would involve learning clojure. I think that would be a win win for everyone. :]