This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-09-15
Channels
- # admin-announcements (7)
- # alda (6)
- # beginners (34)
- # boot (23)
- # cljs-dev (3)
- # clojure (73)
- # clojure-italy (4)
- # clojure-japan (6)
- # clojure-nlp (1)
- # clojure-russia (104)
- # clojure-sg (2)
- # clojurescript (222)
- # clojurex (7)
- # cursive (41)
- # datascript (2)
- # datomic (56)
- # docs (1)
- # editors (6)
- # emacs (3)
- # events (8)
- # hoplon (139)
- # jobs (2)
- # ldnclj (24)
- # luminus (2)
- # off-topic (3)
- # om (12)
- # onyx (24)
- # re-frame (5)
- # remote-jobs (1)
- # yada (1)
hehe almost! workin on a few bugs, then adding a demo or two
will make official announcement once our new logo is in place
Deployed new project templates for Hoplon and Castra using boot2 and Hoplon6 / Castra3
has anyone made an emacs derived-mode for cljs.hl yet?
e.g. cljs + page
and the HTML5 elements
@mynomoto: is nubank where you work? just saw the cognitect whitepaper about datomic use, sounds really cool
@alandipert: yeap, datomic is amazing. Some colleagues will be presenting more about our use of it with Spark and Kafka at Strangeloop
neat! i wish i was going to that
demos demos demos http://hoplon.io/
@statonjr: hey, welcome 😄
@alandipert: Howdy!
nice! yeah i listened to a bunch last night, i really like the 20 minute length
btw as a newcomer, your thoughts on the new http://hoplon.io/, particularly the tone, copy, and demos - would be extremely valuable!
unfortunately many of the links point to empty wiki pages, but we're workin on it
I’ll take a look. I’ve been trying to get our team to buy-in to Hoplon for some SPAs. Maybe this new site and documentation will help.
you are in charlotte, right? have we met? i want to say we've met at a triclojure but i can't remember 😦
Yes, I’m in Charlotte. We met at a Conj. I don’t remember which one. I’ll be at Strange Loop and the Conj in Philly and would love to catch up.
cool, maybe it was the first one... unfortunately i'm not going to either of those 😞 but i imagine we'll definitely cross paths agani
Hi @alandipert, new site is looking very nice. As a newcomer, when I read the timer example, I stopped to think about whether the cell gets reused or whether each timer element gets a separate cell. Maybe something like this might make it clearer:
https://github.com/upgradingdave/hoplon.io/commit/11113ee2a93cc0ab8215a3eda7c0f550f2272aa7
(but also, totally just a nit-picky suggestion and I think it’s totally fine as is!)
@upgradingdave: that's great!
i had something like that for the todo app where a (let [n (cell 0)] (defn todo ...))
and then each app showed which # it was and of how many instances
but i like your example much more
it's definitely important to show that instances can maintain local state independently
so yeah pls PR
ok, cool, glad to help
I’m working thru getting the jquery fileupload plugin to work as hoplon element. And taking notes as I go. It’s been a good learning experience to understand how hoplon works, how boot works, and how cljsjs fits into the picture. I’m taking notes and so I’ll try to get it into shape for the wiki
but might take me a while, haha
such cool stuff though, thanks again for all of your guys work on all this
upgradingdave: it's nice that you are trying to integrate the fileupload plugin. do u know http://filepicker.io ? we are just using that with our hoplon apps (though i havent personally checked if it broke since we upgraded to the latest hoplon6...)
that looks nice, thanks for the heads up @onetom.
but for now, i’m just playing/tinkering. I maybe want to build a really small app so my parents can upload pics of my kids into my s3 bucket and since I’m familiar with jquery fileupload from life before clojurescript, I decided to run with it
isn't amazing though that file chooser/upload in webapps in general is such a pain?!
it’s really encouraging to think that eventually it’ll be possible to have a fileupload
hoplon component that I can just drop in whenever needed 😉
true, but filepicker just offers so much more out of the box and it took a few minutes for my colleagues to hook it in and they didnt even have a lot of web programming experience really... i would really recommend to do the proof of concept w filepicker and replace w the jq plugin (if u still feel it necessary 😉
@mynomoto: i saw a talk about kafka + samsa a few months ago. i had the feeling it was a competing model to datomic. im surprised to hear about datomic + kafka... let us know when the talk goes online!
@alandipert: nice work on the new site, the demo's already look slick
thanks!
@alandipert: i saw your FOUC fix. does it mean it's clear to you why is it happening? my suspicion is that there is some flashing when hoplon replaces the content of the head and keep adding the link elements. just basing the visibility of the body elem on the initial loading order of the pre-rendered html page might be not enough to completely get rid of FOUC.
and the next funny thing we are experiencing is some kind of a memory leak which leads to high cpu usage. i will attack it with a divide and conquer later if there is anything to learn from it. (i just got a bit sick lately thats why i went a bit silent) and of course the new site is awesome indeed!
the other day i tried to create a custom menu
element, but the menu element is already defined.
how can i redefine it within a .hl file without triggering a compilation warning?
@onetom: (:refer-hoplon :exclude [menu])
in the namespace of course 😛
hoplon is really slick in that most of the issues i run into have already been solved, that was one I faced last week
i agree. and i actually read a lot of its source and i understand quite a lot of the hoplon.cljs too, but not the .clj
then I think my first suggestion would be the way to go..... still a n00b at this tho 😛
@alandipert: should the hoplon boot task not compile source files and move to target if there is no additional handler?
I had to add an additional task to compile my hl components if I want them in a separate lib
it seems if cljs is not in the task then the files are left in the source type and not moved to target
yeah but it's still just as cljs so it doesnt need the dep's except in the project whil compiles everything to js
this is obviously due to my background in php and how things work with composer
@alandipert @micha : is there a proper way to package hl in a separate ns?
I was thinking about this lately - would it make sense to complete the coverage and build css into hoplon? Right now .hl
files compile to html and js, the last piece missing is css
cljs compiler solves the js part, hlisp solves html, but we don't have anything simple to solve css
and when I played around with basscss which uses some css compilers to support variables, custom media queries etc, that's seems so simple to implement. I mean the whole thing brings in one big css file with lots of cool definitions you might use, which is great. But if we bring lisp and hoplon in the picture one could just define the props/attributes of the DOM element directly and get inline defs or separate css files compiled. Which could be pretty small, depending on what you used, i.e. each page could have a separate, tiny css file associated to it
@xifi : I was thinking about how to solve this the other day, there are a few problems I see: 1. Compiler now needs to know about the css asset files
2. How should 3rd party libs include css
hi @flyboarder
1 - I don't understand. The compiler works like so: input - index.cljs.hl
-> output - index.html
and index.js
. What I was talking about would be (possibly) adding another output file, index.css
2 - 3rd party libs can't include the generated hoplon js files either, can they. If I understand correctly this isn't really a goal of hoplon
oh i see I miss understood your direction, i believe you are correct there isnt an intended way to package hoplon components it can be done with the task above
micha has a plan for how to do this
basically we will wrap all CSS in a cljs namespace, probably a generated one
@alandipert: out of curiosity what are you using right now at work?
in the top level of the namespace is some code that dynamically adds a stylesheet. so when you require one of these wrapper NSes, you get the CSS
@xifi: scss from our designer
but yeah we want to solve the problem, because without a system for transitive dependencies that interops with cljs we can't package styles alongside programs really
so micha's idea is a kind of cljsjs style approach w/ the ns wrapper, that would allow for transitive dependencies
themes could be packaged as separate jars, etc
what would the underlying data be? hlisp generates DOM elements, but you don't have a CSS object in the DOM (or js) do you
well, tehre are kind of 2 open things around CSS... one is interop and packaging of existing CSS
this is what would allow things like packing jquery plugin assets
and themes for 3rd party css systems like foundation, bootstrap
more or less a cljsjs type thing except for css
then there is the actual CSS problem
which is identifying what exactly sucks so much about CSS and how can we do better
we know CSS in the end is just properties on DOM objects, and we know lisp can do it, but the exact answer isn't yet clear
@xifi: http://hoplon.discoursehosting.net/t/lets-talk-about-layout/223 would be good reading on this if you haven't seen
the more I play with html and read stuff I fail to see the advantages the separation of html and css has brought
yeah there is no advantage
not since HTML was no longer for just documents
but it's not obvious whta's best, at least not to me
hehe i'm at peace with the dom
now that it's lisp anyway
and browsers are just views into the heap of my lisp program
browser which readls hlisp documents instead of html
I was pretty frustrated though when I started working on a very simple example project and wanted to put 2 things side-by-side, 50/50 and then spent 3 days learning about css until picking a library like basscss to do the heavy lifting for me
people on the clojurescript channel had ideas, but all were different 😄 "Use float", "Use flexbox", "Use inline-block", ...
I just want (div :layout (grid 1 2) (div :position "50%" "one") (div :position "50%" "two"))
yeah we have the beginnings of nice interface design tooling, but that stuff is really hard to build
and pre-configured integrations with firebase etc
the visual basic form designer
in the past, before cells, there wasn't really a good way to wire pieces of the page together
the last time i used XCode it had a slick designer but it was never really usable because the underlying relationships were not managed
so everyone had to code their interfaces by hand anyway
but elements, through cells, can have a pretty clean interface to other elements
i imagine using a visual interface designer that doesn't make a mess
like builds relationships between elements that are totally tractable and can be extended via code, instead of scrapped and re-hand coded
anything that abstracts it to something smarter would be a step in the right direction
it's funny how stuff in life works if you think about it. JS rules the browser and it's not very bad, but it's no holy grail either. So people build abstractions on top of it that compiles down to it. Now I'm talking about the same for CSS. Crappy things rule the world so we abstract over them so the next person won't scratch his/her eyes out
well imho there should be more investigation into lisp machines for that reason
have you seen Plan9?
this is the reason I didn't come and play with html for the last 2 years, I find it a real mess
@flyboarder: unable to connect
moves much needed thread namespaces around, more lisp
i was reffering to the whole abstraction thing, we dont even run applications correctly, and for that matter we dont run kernels well either, you can trace the whole stack and the abstraction is terrible for much of the way down
oh poor the page is down right now 😞
@xifi: this was the actual part that relates to the conversation
@flyboarder: didn't get too much from that ,sorry
@alandipert: thanks for the discourse link. Reading through it (and some of the links) there's many paths one can take
@xifi: no prob! if you have success with something i'd be curious to hear about it