Fork me on GitHub
#untangled
<
2016-05-17
>
fenton19:05:39

it would be nice to not have to clone a project to use untangled. typically just a dependency reference/version, plus some examples.

ethangracer20:05:24

@fenton: I’m working on a more basic introduction that would walk through creating a very basic project, not anywhere close to done yet, but I’ll post in here when it is

fenton20:05:38

ethannavis: if u want some feedback, share a github' repo or something. 🙂

ethangracer20:05:11

https://clojurians.slack.com/archives/untangled/p1463077993001467 — still in the very early stages, no actual code yet, just concepts

fenton20:05:17

i hope it begins by just adding a dependency to your project.clj or build.boot or something.

ethangracer20:05:58

creating a new project.clj, adding the right dependencies, starting to build things out

fenton20:05:22

I'd suggest you have another track...one that doesn't talk about the overview/architecture, but just gets right down to the (hopefully) few steps to get started.

fenton20:05:43

i like onion approach. start with the simplest example and build on it.

fenton20:05:29

maybe be careful not to duplicate the tutorial that is already there...since it seems okay...but the assumption it makes to clone a repo isn't the right starting point for people who want to use the stack.

fenton20:05:36

thats more for people who want to learn it.

ethangracer20:05:49

I’m not sure I understand that distinction

fenton20:05:50

there is a difference...

fenton20:05:01

which distinction?

ethangracer20:05:04

how can you use the stack without learning it?

ethangracer20:05:28

sorry I’m a super literal person

ethangracer20:05:39

especially via instant messaging, just trying to understand what you mean

fenton20:05:45

hah, np, thats good...lemme try to elaborate...

fenton20:05:03

if i want to use untangled. i DONT want to start by cloning a project.

fenton20:05:43

that is what the tutorial does, u start by cloning a project...thats great for learning it...but when i want to use it in my own project...thats not the way to start...so there should be docs that focus on the using use case.

fenton20:05:52

any clearer?

ethangracer20:05:24

kind of. do you have an example of an intro that you like which illustrates the difference?

fenton20:05:46

sure...all the clojure libraries out there begin with something like this; "Include: [abc/cool-lib "0.3.3"] in your dependencies"

ethangracer20:05:25

maybe like figwheel?

ethangracer20:05:29

sure, bidi too

ethangracer20:05:41

“Take 5 minutes to learn bidi"

ethangracer20:05:45

that kind of thing?

ethangracer20:05:34

I guess the challenge is that untangled is considerably more complex

ethangracer20:05:50

we could have the simplest possible intro, but it would miss the whole reason untangled exists

fenton20:05:07

sure...but... you start with the simplest use case...

ethangracer20:05:33

fair enough, I think I understand what you mean

fenton20:05:49

no i dont think so...people dont want to read a whole bunch of stuff they maybe already know more or less just to give the framework a spin

fenton20:05:05

people can come to appreciate the goodness over time...

fenton20:05:13

but people want to get up and running asap

ethangracer20:05:21

that makes sense

fenton20:05:45

we hear from the grapevine...untangled is cool give it a try....so we go to the web page, look for the dependency and then the simple examples to start using it.

currentoor20:05:08

@fenton: IMO that's is only possible when you are trying a library not a framework.

fenton20:05:08

i realize you need more pieces...for this... you need a server etc... but you can have the 0-60 for the basic pieces... i.e. walk through building the todo app or something.

currentoor20:05:30

a framework has a bunch of opinionated decisions that your existing application probably does not conform to

currentoor20:05:40

yeah that would be cool

ethangracer20:05:42

yeah I like the idea of a walkthrough for todomvc

fenton20:05:59

opinion is fine... you can just quickly state the assumptions this framework makes...

ethangracer20:05:00

we’ve talked about that a fair bit, just an issue of finding time

ethangracer20:05:29

thanks, I’ve got a clearer picture of what you mean

fenton20:05:30

dont over complicate it...

fenton20:05:45

boom this is the server setup < 400 words.

fenton20:05:55

boom here is the client setup you'd need to connect to that...

fenton20:05:09

you can presume folks setup their own datomic schema or something.

ethangracer20:05:21

yeah, or even mock a database with a clojure atom

fenton20:05:35

thats it...simplest first.

fenton20:05:49

then onion layer it to add a real datomic backend later...

fenton20:05:03

what is the smallest useful piece...do that...

ethangracer20:05:29

k. i’ll add it to my backlog. the one I’m working on now is intended for a different audience

fenton20:05:30

i wouldn't bother with all the background explanation you have on that github page...

fenton20:05:08

ok keep in mind you've got people waiting who just want to give it a spin....

ethangracer20:05:19

i’m not just doing it for the open source community, we have many developers at my company who are highly unfamiliar with the pieces of the stack

ethangracer20:05:33

and we have to get them spun up to develop enterprise level apps

ethangracer20:05:44

but yes, I completely hear what you’re saying

fenton20:05:47

for sure i get that...but all devs want a quick, short cookbook to get started...

ethangracer20:05:47

and see the value in it

currentoor20:05:18

@ethangracer: how did tony convince you to use such a foreign stack?

fenton20:05:18

no better way to see the value than to start using it 😉

ethangracer20:05:55

@currentoor: he was given the task of choosing what to use, that’s a question for him. I was hired after the decision was made, though from what I understand the reasoning was based primarily on the value of immutability for large scale enterprise software

fenton20:05:57

@currentoor: probably years of supporting complete crap js/java etc...

ethangracer20:05:08

yup, that too

fenton20:05:30

@currentoor: do u understand the value prop for functional programming?

currentoor20:05:06

i had a pretty tough time convincing my team to use full stack clojure(script) and we were traditionally a rails and ember shop

fenton20:05:07

anyway...this is getting a smell of flame war lol

currentoor20:05:37

@fenton: i believe so, i've been coding in some variant of Lisp for a few years now

currentoor20:05:00

mostly clojure, but started with common lisp

fenton20:05:24

@currentoor: so are u looking at help to convince people the FP world is better?

currentoor20:05:55

no, i'm fine with just taking advantage of FP myself

currentoor20:05:31

i was just curious, usually it's hard to make someone see the benefits of FP and Lisp without having them actually use it

currentoor20:05:39

so you get this chicken and egg problem

currentoor20:05:09

in my experience that is

fenton20:05:15

@currentoor: sure... probably a personality thing. you make relationships with other devs and you talk with them... communicate the disadvantages, etc..., over time some come around...the ones that dont...well they are probably low-level devs anyway...so dont throw perls before swine so to speak.

monjohn20:05:06

I agree with what @fenton was suggesting. The example that I thought of was om.next itself. It is hard to get your head around, so rather than diving into todomvc with all of its parts, David Nolen just started out the very least that you needed, including creating the files. It helped me stay focused on the one idea that he was trying to get across, instead of getting distracted by trying to follow the flow of the program.

fenton20:05:35

as it stands very few people will bother learning untangled if they cant use it. cloning a repo is not indicating the ability to use untangled.

fenton20:05:53

i can learn it but i cant use it! no thanks! Lol

tony.kay20:05:34

So, there is work being done on a cookbook, the tutorial exists, and a lein template is partially done. Once the latter exists, we'll be adding docs of the form you're looking for (do X, then Y). I agree that most people want a 0-60 in 4.2 seconds...that is, unfortunately, not where we're at...and really, if that is all the patience you have you are not our target audience. If you like "easy" and evaluate a framework based on how easy it is (90% of engineers), then you're not going to like Untangled or Om.

tony.kay20:05:58

You're going to fall into the Reagent/Angular/whatever crowd

tony.kay20:05:53

So, from a marketing perspective, I'm not sure what the correct target is. Am I trying to win the Angular crowd. No. Reagent...maybe, if they've already experienced pain there.

tony.kay20:05:51

So, Untangled isn't really in a popularity contest as I see it. It makes Om more approachable for enterprise programming. If you, as an engineer, (not an armchair programmer) are interested in truly evaluating relative merits of dev stacks, then 0-60 isn't what you care about....nor do I care to attract people that cannot think for themselves or read a manual....so, I guess those things stack together to make me think that the users I care to attract will currently overlook the lack of the 400 word tutorial, and will instead use the more extensive materials that are present...including full-stack working code, and interactive tutorial.

fenton20:05:32

@tony.kay: fair enough...dont mean to knock the good work you have done....but I do disagree that a 0-60 thing doesn't have value. I'm here looking at untangled because I understand the merits already and want them, but we are all short of time and I also dont want to spend extra time reading about stuff I already understand... give me the 0-60 and assume I'm one of those people who have drunk the cool-aid. 🙂

fenton20:05:15

each framework already has its inherent ramp up time.... look at all the time i wasted on angular! lol. Minimizing that is useful and a good criteria on how to judge a framework...do you have to learn a lot of anciliary stuff, or can you just go staight to the heart of the matter.

fenton20:05:07

its not always easy to communicate succintly, but it has tremendous value.

fenton20:05:23

and engineers tend to be awful at it! lol

fenton20:05:44

i'd go so far as to call it a dark art! lol

tony.kay20:05:50

yeah...I did not say it doesn't have value. I said it doesn't have my priority

fenton20:05:06

sure sure...

tony.kay20:05:15

The second I put up a 0-60, I'll have 800 people in here asking me how to do X Y and Z

tony.kay20:05:17

don't need that

fenton20:05:30

lol! so you dont want people to use it! lol

tony.kay20:05:44

those kind, correct 😉

tony.kay20:05:53

absolutely not

tony.kay20:05:43

I want a hard-core set of early adopters that "get it"

fenton20:05:04

the value prop of untangled was to make om.next more approachable?

tony.kay20:05:22

I'll make it "easy" when there is so much documentation and material available that these other users can handle it.

tony.kay20:05:33

approachable is always relative...you're being a bit of an ass

tony.kay20:05:41

You are welcome to you opinion. You've head from the horses mouth where we're at. Take it or leave it....or Contribute what you think it should have.

fenton20:05:45

i really dont intend to be... but i started with the untangle tutorial...i liked it, and wanted to use it...but didn't really see where/how to do that in a succint way so am now back at om.next... I'm being honest... just realating my experience.

tony.kay20:05:59

Ah, ok. Point taken.

tony.kay20:05:59

If you find Om.next easier, then go for it...it is definitely more flexible. Lots more to write to get anything going...but plenty of people are productive with plenty of different things

tony.kay20:05:49

The amount of material I myself have contributed to both projects should make it possible to build something in either. Both will require work.

fenton20:05:51

Yes you have contributed a lot and thanks for that...I'll keep digging around.

tony.kay20:05:57

I do agree with you on more docs, easier stuff....I want to do more video tutorials, walk-throughs, build things step-by-step...all that.

tony.kay21:05:03

just not there yet

fenton21:05:44

sure sure... i know you guys are doing a lot already... hopefully i can help out a bit.

kenbier22:05:07

itd be really helpful if the untangled server also printed out the stack trace for unknown exceptions: https://github.com/untangled-web/untangled-server/blob/master/src/untangled/server/impl/components/handler.clj#L73

kenbier22:05:40

right now it seems its only printing out the type and the message

kenbier22:05:15

i find myself adding debug statements myself to find the root cause at the moment, and its not fun 😕

ethangracer22:05:20

@kenbier: agreed — the concern we have is from a security standpoint. we don’t want to send server stack traces back to the client, however we should show the full trace on the server

ethangracer22:05:29

can you submit an issue on untangled server?