These are chat archives for lift/framework

14th
Aug 2015
illandan
@illandan
Aug 14 2015 13:53
D-Roch: I never understood the dislike for full-stack frameworks. By that logic, play! should also have the same reaction, right?
The difference is, it has corporate backing (play!)
(the irc-bridge needs some work -- it's too brittle :-)
Matt Farmer
@farmdawgnation
Aug 14 2015 14:57
I’m with @illandan – full stack frameworks have their place.
Perhaps you start using Scala to do some SOA stuff on your backend. But there are a lot of organizations who will evaluate moving their entire stack to Scala and will be replacing an entire webapp.
Or perhaps they’ll have an experience like some of the companies I’ve worked for where the Lift paradigms are a perfect fit for what they’re doing.
nafg
@nafg
Aug 14 2015 17:08
@illandan no that's not the difference IMO
Lift also has commercial support
Matt Farmer
@farmdawgnation
Aug 14 2015 17:08
Not really in the same way, though.
Typesafe actually finances actual development of Play doesn’t it?
nafg
@nafg
Aug 14 2015 17:09
@farmdawgnation yes, you're right
Weell...
Matt Farmer
@farmdawgnation
Aug 14 2015 17:09
Really what Lift has is a group of people that you can hire to get help with Lift and potentially do something in Lift for you if you need it, but that’s fundamentally different than what Play has.
I think they also get the benefits of Typesafe’s marketing department. hehe.
nafg
@nafg
Aug 14 2015 17:09
@farmdawgnation Hi, btw ;)
Matt Farmer
@farmdawgnation
Aug 14 2015 17:09
Hallo
nafg
@nafg
Aug 14 2015 17:10
I mean James Roper, the tech lead is hired by Typesafe, and so is the play-slick guy (in the past he worked on scala-ide)
But in general, it's just whoever wants to contribute
Play has a much lower barrier to contribution than Lift
Matt Farmer
@farmdawgnation
Aug 14 2015 17:10
Oh right, yeah. But the people working for Typesafe also are paid to do that for a percentage of their time right?
nafg
@nafg
Aug 14 2015 17:11
Both in terms of red tape and in terms of community atmosphere
@farmdawgnation sure. James is prob. one of the biggest contributors
Matt Farmer
@farmdawgnation
Aug 14 2015 17:11
Yeah, so huge difference on that front.
nafg
@nafg
Aug 14 2015 17:11
True
Matt Farmer
@farmdawgnation
Aug 14 2015 17:12
If I could convince Elemica to pay me to work on Lift 50% of my time I’d probably make a huge dent in the framework’s backlog. ;)
nafg
@nafg
Aug 14 2015 17:12
Right now he's leading a massive effort to redo Play on top of akka streams / akk http
Matt Farmer
@farmdawgnation
Aug 14 2015 17:12
hehe. Reactive™
nafg
@nafg
Aug 14 2015 17:12
@farmdawgnation actually I think the main motivation is more equal support for Java. Right now it's all based on top of iteratees
Matt Farmer
@farmdawgnation
Aug 14 2015 17:13
Ah, yeah, that’s right. Play tries to support both Scala and Java.
nafg
@nafg
Aug 14 2015 17:13
@farmdawgnation Lift used to try ;)
Matt Farmer
@farmdawgnation
Aug 14 2015 17:13
I need to pull the latest version of their stuff and play with it some. It’s been a minute since I have.
Heh, well, honestly, I think PartialFunctions are the key to our patterns.
nafg
@nafg
Aug 14 2015 17:13
@farmdawgnation were you around in those days, when there was an effort to make Java APIs for Lift? Not to mention Ruby APIs?
Matt Farmer
@farmdawgnation
Aug 14 2015 17:13
Nope.
Before my time.
I think ultimately focusing on Scala is the right move for now though. But if Java keeps adding functional features to the language, it could be interesting.
nafg
@nafg
Aug 14 2015 17:14
wow, memories... how many things were started and aborted. Goat Rodeo / stambecco
Matt Farmer
@farmdawgnation
Aug 14 2015 17:15
That’s the nature of OSS.
nafg
@nafg
Aug 14 2015 17:15
Yes
Matt Farmer
@farmdawgnation
Aug 14 2015 17:15
Honestly, I think our barrier to entry actually helps combat that.
nafg
@nafg
Aug 14 2015 17:15
Memories...
Matt Farmer
@farmdawgnation
Aug 14 2015 17:15
The worst thing for a framework with enterprise users is drive-by contributions.
nafg
@nafg
Aug 14 2015 17:15
Not if you have a good review process
Matt Farmer
@farmdawgnation
Aug 14 2015 17:15
No, it is even still.
nafg
@nafg
Aug 14 2015 17:16
And you have a very modular design, like Play
Matt Farmer
@farmdawgnation
Aug 14 2015 17:16
I’d still argue that drive-by contributions are bad.
nafg
@nafg
Aug 14 2015 17:16
I don't know, but I've been watching play github quite a bit, and I don't see it happening
@farmdawgnation I agree
But if you have a good review process, "contributions" that fit into that category don't get in
Matt Farmer
@farmdawgnation
Aug 14 2015 17:17
I don’t think that’s accurate.
nafg
@nafg
Aug 14 2015 17:17
Well maybe "if you have a good review process" is inaccurate, I can't say
Matt Farmer
@farmdawgnation
Aug 14 2015 17:17
A good review process would ensure that those contributions meet a certain quality. But they won’t ensure that you can get a hold of that human in the future when you need them.
nafg
@nafg
Aug 14 2015 17:17
Maybe review is the wrong word
Just "process" then ;)
Matt Farmer
@farmdawgnation
Aug 14 2015 17:17
Sure, sure. And I think that exists.
nafg
@nafg
Aug 14 2015 17:18
I.e. if some random guy opens a PR on playframework adding some feature, it doesn't just go through
Actually I good example was recently someone wanted to add support for postioning, like to send down video
start from byte X
And indeed the way he first did it, was really not that elegant, more complex than necessary, etc.
But no one was in a hurry to merge it in
Matt Farmer
@farmdawgnation
Aug 14 2015 17:20
So, still here it sounds like you’re concerning yourself primarily with code quality. That’s not what I’m talking about.
nafg
@nafg
Aug 14 2015 17:20
So there were robust discussions on the mailing list, and on github PR(s?)
Okay maybe I misunderstood
@farmdawgnation what then?
(IIRC the final result was much more minimal, and more generally useful)
Matt Farmer
@farmdawgnation
Aug 14 2015 17:21
I’m talking about - with Lift - if something goes wrong with something I’ve contributed I am committed to making myself available indefinately to answer questions about that. Eventually it’s likely I’ll move on (probably several years down the road), but I’m committed enough to the framework that if I contribute something there’s a high degree of likelyhood I’ll be around to answer questions about my reasoning, why this way is better than another, etc.
I think that emphasis is important. The emphasis on owning changes you make over time.
I can still get a hold of Joni if I have questions about lift-json, for example. About why it was done this way and not that way.
nafg
@nafg
Aug 14 2015 17:22
Right
That was always a big topic on the lift ML
It's an important point
Matt Farmer
@farmdawgnation
Aug 14 2015 17:23
Yeah. I think Play gets that by having some corporate oversight. So they can be more lax about it.
nafg
@nafg
Aug 14 2015 17:23
doesn't seem that way to me
I think if code is written well, it's much less of an issue
E.g. the play codebase is extremely well written
I often learn about how things work by exploring the code
In Lift, that's really hard to do
Try to sort of browse LiftSession.scala
it's more like an in-depth study ;)
Matt Farmer
@farmdawgnation
Aug 14 2015 17:24
Oh I have, which is why there’s a task assigned to me right now to refactor it.
nafg
@nafg
Aug 14 2015 17:24
Wow, that's exciting news :)
Matt Farmer
@farmdawgnation
Aug 14 2015 17:24
It’ll happen at some point.
And we’re rebuilding the Lift site too.
Slowly.
But yeah, I think our difference from opinion is that I’m a lot more paranoid about code being written well being a subjective thing.
nafg
@nafg
Aug 14 2015 17:26
@farmdawgnation last time the discussion came up about refactoring the core HTTP code in Lift, DPP was very adamant about not wanting to touch it, even himself
Matt Farmer
@farmdawgnation
Aug 14 2015 17:26
That’s not unfair.
We need better test coverage first.
nafg
@nafg
Aug 14 2015 17:26
True
Matt Farmer
@farmdawgnation
Aug 14 2015 17:26
That will likely happen before I do a major refactor.
nafg
@nafg
Aug 14 2015 17:26
Makes sense
Matt Farmer
@farmdawgnation
Aug 14 2015 17:26
We now have Travis checking all our builds on each PR.
It is (mostly) accurate when the Iran time zone doesn’t cause unexpected failures.
nafg
@nafg
Aug 14 2015 17:27
You also move there from cloudbees? Play just did yesterday ;)
Iran?
Matt Farmer
@farmdawgnation
Aug 14 2015 17:27
Yeah, something weird with the Iran time zone means that if tests are executed on Travis during a certain hour of day the hour addition specs fail.
nafg
@nafg
Aug 14 2015 17:27
What's in Iran?
Travis is in Iran?
Matt Farmer
@farmdawgnation
Aug 14 2015 17:28
Nothing, we run those tests for each time zone available on the OS.
nafg
@nafg
Aug 14 2015 17:28
Ah
Which tests?
Matt Farmer
@farmdawgnation
Aug 14 2015 17:28
Travis has some time zones OS X doesn’t, it seems.
TimeHelpers
nafg
@nafg
Aug 14 2015 17:28
Ah
Interesting
@farmdawgnation howcome DPP has been totally silent on the mailing list?
Pretty much from the time he banned me actually
Matt Farmer
@farmdawgnation
Aug 14 2015 17:35
Lol. You know, it’s incredibly untactful to continue bringing that up.
You got banned. You probably shouldn’t even be in this room. Move on man. Move on. :p
nafg
@nafg
Aug 14 2015 17:36
Just wondering about DPP's absence
Matt Farmer
@farmdawgnation
Aug 14 2015 17:37
I imagine he’s had some non-Lift related contracts. C’est la vie.
nafg
@nafg
Aug 14 2015 17:37
whatever
In other news...
@farmdawgnation what I really would like (getting back to the "full-stack" point above) is to be able to mix and match
And you can to a very large degree
E.g. recently in a Lift project I used play's "form handler" and twirl templates. They're just libraries (and an sbt plugin)
It would be nice to be able to use Lift's session state in play.
Actually I've written similar functionality as a library
Matt Farmer
@farmdawgnation
Aug 14 2015 17:43
Nice. I recently wrote something that plays with the idea of view first development in Node.js / Express applications.
It’s interesting to port concepts around to different frameworks and see how they play out. (pun pun pun)
nafg
@nafg
Aug 14 2015 17:44
:D
But I think the broader point is to break the lines between "framework" and "library"
Play is doing a really good job on that front
They broke away twirl, anorm in to their own lifecycles
own repos
It really comes down to modularity I suppose