These are chat archives for typelevel/general

9th
Mar 2016
InTheNow
@InTheNow
Mar 09 2016 00:18
@SethTisue Its not funny. You chatted me in private and told told me not to mention something that I was not privy to. Please do not pretend otherwise.
And to be clear, .. Oh what's the point
InTheNow
@InTheNow
Mar 09 2016 00:29
@SethTisue Actually...... never tell me what to say or not to say ever again. Understand??
Rob Norris
@tpolecat
Mar 09 2016 00:40
The #scala IRC channel is very helpful for lots of people. I like it.
InTheNow
@InTheNow
Mar 09 2016 00:50
I don't think the problem is the choice of channel, nor you, nor @SethTisue, maybe not even me (but I'm still open on that one.) But those ^^
Rob Norris
@tpolecat
Mar 09 2016 00:52
@fommil the IRC channel is about as active as the scala/scala gitter channel, perhaps a bit more. Slightly different cast of characters.
Seth Tisue
@SethTisue
Mar 09 2016 01:59
@fommil as a channel op, I can’t really have an ignore list :-\
Seth Tisue
@SethTisue
Mar 09 2016 02:14
@InTheNow I don’t understand what you’re upset about or why you’re upset about it. perhaps engage me privately about it? or we can just let it drop, either way.
Travis Brown
@travisbrown
Mar 09 2016 02:23
@InTheNow there's a difference between being told not to talk about something and being asked not to as a courtesy because it was a good-faith mistake and we're all basically on the same team. I'd be angry about the former, but I think it's more likely that the latter is what's happening in this case.
Merlin Göttlinger
@mgttlinger
Mar 09 2016 06:45
From talking with @larsrh yesterday I realised there is a dire need to have some kind of usage statistic on the typelevel projects. I believe there are many advanced scala developers somewhat unsatisfied at their current occupation because they would like to work with typelevel projects but are unable to talk management into accepting those libraries as there are very little known companies using those. Also developers wanting to switch to another employer who uses the typelevel stack lack the information who actually does use more of the stack than just shapeless. From my experience I think that stating as a n employer that you use the typelevel stack would therefore increase your attractiveness towards many advanced developers. So maybe a list on the typelevel.org website where people can enter what typelevel tools are in use at their companies could work as this is beneficial to both employers and developers.
Adelbert Chang
@adelbertc
Mar 09 2016 07:02
@mgttlinger similar to whats under "Customers" on http://www.lightbend.com/ ?
Merlin Göttlinger
@mgttlinger
Mar 09 2016 07:03
@adelbertc Yes something like that. I think that's part of the reason we currently use the typesafe stack at the company I work for.
Miles Sabin
@milessabin
Mar 09 2016 08:41
I think something like the "Built with shapeless" page on the shapeless github wiki would be very useful.
I think all projects should do one TBH.
It's useful to know who your users are and what they're doing.
Merlin Göttlinger
@mgttlinger
Mar 09 2016 08:43
And from the user perspective it is useful to see what is out there that may already be doing what you want to accomplish.
Dale Wijnand
@dwijnand
Mar 09 2016 08:45
Just realised that an interesting take on what should be in the stdlib is it has an impact on interviewing tests.
From what I understand purescript has no stdlib, so how does one solve an interviewing problem in purescript..
Adelbert Chang
@adelbertc
Mar 09 2016 08:47
i once solved an interview question asking me to concatenated nested lists with xs.flatMap(identity)
the interviewer was not amused
Miles Sabin
@milessabin
Mar 09 2016 08:51
What were they expecting? If it wasn't flatten you had a lucky escape!
Adelbert Chang
@adelbertc
Mar 09 2016 09:11
hah :-)
Dale Wijnand
@dwijnand
Mar 09 2016 09:16
Yeah I once saw an interview advice video where it said "here we use the filter function, but the interviewer might ask you to implement that from scratch" -.-
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 09 2016 09:20
I dream of the day when we can get rid of the random process (aka technical interview) from life.
Pascal Voitot
@mandubian
Mar 09 2016 09:32
In current startup, we use mainly TL projects because I pushed FP & types usage as much as possible and, in this context, shapeless & cats become useful without any question. But then, I introduced Finch as I like the basic ideas & having cats & shapeless, naturally go to Circe... but then I had to accept Finagle with all its pros & cons in the project which is not necessarily what I wanted... Any stack of libs lead to some inter-dependencies that you don't necessarily choose and it's always a compromise... The only principles I don't deal is Type & FP, the rest (like server libs, http) isn't really important as long as it does the job... So yes, it's important to know who uses TL projects but I think it's even more important to show that it's not only libs providing a few features, it's a "philosophy" of building software based on precise concepts & a bit of theory that make your code more trustful & robust at the end... here is the real challenge ;)
Travis Brown
@travisbrown
Mar 09 2016 13:54
@mgttlinger Finch has an adopters list, and I'm planning to add one for Circe soon. Finch has depended on Shapeless for almost a year, and Cats for a few months.
Merlin Göttlinger
@mgttlinger
Mar 09 2016 13:56
@travisbrown Cool but I think having an additional overview on typelevel.org in one place would be beneficial nontheless
Miles Sabin
@milessabin
Mar 09 2016 14:03
Oh, I agree. I think it makes sense both for individual projects and for Typelevel as a whole.
Pascal Voitot
@mandubian
Mar 09 2016 14:03
could be a page with link to all those pages
Alexandru Nedelcu
@alexandru
Mar 09 2016 15:27
For libraries depending on Cats, do you think that's healthy? I'm trying to figure out if Cats integration should be at the bottom or not.
I'm asking because the existence of Scalaz makes things confusing :-)
Rob Norris
@tpolecat
Mar 09 2016 15:34
A lot of people tell me they're using doobie at Big Company X, but ask that I not tell anyone. This is probably just a consequence of relational database stuff, which is more of a big company thing. Dunno.
So I have a fairly long list but can't put it on the website.
Travis Brown
@travisbrown
Mar 09 2016 15:38
@tpolecat We also saw that with Twitter OSS projects, and it's the motivation for the general rule that we never added orgs to adopter lists—we asked for a representative to file a PR adding their org (we also asked people to provide some detail about their usage in the PR description).
Greg Pfeil
@sellout
Mar 09 2016 15:38
@travisbrown Oh, nice policy.
Rob Norris
@tpolecat
Mar 09 2016 15:39
Yeah that's a good idea.
Travis Brown
@travisbrown
Mar 09 2016 15:40
@sellout It does mean that you usually want to have some internal way of keeping track of all the people who have promised to file PRs but haven't gotten around to it yet. :smile:
You could do the same thing with a wiki page, but it's a little less transparent.
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 09 2016 15:53
Also saying that a large corporate uses a library doesn't really mean much. There are so many disparate projects you can have teams using the same language who don't even know that each other exist.
Rob Norris
@tpolecat
Mar 09 2016 15:53
Yep.
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 09 2016 15:54
I'm not sure I'd want anybody to think that they'd be using Typelevel libraries, or even idiomatic functional programming, when they join my project just because the company might use cats somewhere else
Rob Norris
@tpolecat
Mar 09 2016 15:58
I think the goal is just to demonstrate that there are a lot of people and organizations interested in this kind of programming. It's not a fringe activity as is sometimes suggested.
"scalaz people" etc
Travis Brown
@travisbrown
Mar 09 2016 16:03

There are several different kinds of rhetorical work being done by an adopters list:

  • Project owners -> potential adopters: you're in good company, this stuff is widely used
  • Project owners -> potential contributors: you'll have an impact by helping us
  • Adopting orgs -> potential recruits: we do this kind of programming

In my view the first is by far the most important—the other goals are better served by other kinds of documents / communication.

Greg Pfeil
@sellout
Mar 09 2016 16:05
@travisbrown Also, in the case of libre/OSS, “look at this codebase for more examples of what to do with this stuff.”
Travis Brown
@travisbrown
Mar 09 2016 16:06
@sellout Do you think OSS libraries with a dependency belong on the same list as commercial / other adopters? I guess my inclination would be to keep the two separate.
Greg Pfeil
@sellout
Mar 09 2016 16:09
@travisbrown Hrmm, I hadn’t thought about it. As @fommil mentioned having orgs listed can be misleading. I think of it as a project list, potentially with their associated orgs. E.g.: “Gmail (Google)” rather than just mentioning Google. And, in that case, I don’t see a difference between commercial and OSS.
Although, Matryoshka currently only lists Quasar, which, while developed at SlamData is a … uh, independent project. But I would say that SlamData the company uses Matryoshka, while SlamData (the product) doesn’t because the dependency on Matryoshka is only transitive at that point.
So shrug
Alec Zorab
@AlecZorab
Mar 09 2016 16:13
I think I would have a hard time getting permission to talk about what we use libraries for in detail. Saying that we use Shapeless/cats/spire/whatever? Sure. Saying that we (as a totally made up theoretical example) use spire for derivatives analytics? Probably not.
Greg Pfeil
@sellout
Mar 09 2016 16:14
@AlecZorab But at the level of which public projects you use Spire in?
Alec Zorab
@AlecZorab
Mar 09 2016 16:14
Well once it's a public project, it's public knowledge
Travis Brown
@travisbrown
Mar 09 2016 16:17
I guess I'm not too worried about the potential misleading-ness of saying something at the level of "the NY Times uses Finagle" (as long as they're willing to say that), even if I know it's just the mobile team on a particular project. If someone's been able to get my project in the door at <big / impressive company X>, then I get the bragging rights (which is what this about).
Alec Zorab
@AlecZorab
Mar 09 2016 16:18
^ totally agree
Greg Pfeil
@sellout
Mar 09 2016 16:18
I definitely had no qualms about saying Amazon used Common Lisp. When, at it’s peak, that meant there were ~3 of us 😆
Travis Brown
@travisbrown
Mar 09 2016 16:19
…because the goal is to help other people who are trying to get my project through the door at their own orgs.
Alec Zorab
@AlecZorab
Mar 09 2016 16:19
and we're willing to hand out bragging rights in general
Travis Brown
@travisbrown
Mar 09 2016 16:19
right
Alec Zorab
@AlecZorab
Mar 09 2016 16:19
@sellout amazon don't (or at least didn't) have the same iron fist approach to public statements that banks do.
Greg Pfeil
@sellout
Mar 09 2016 16:20
@AlecZorab Oh yeah, I just mean, the overgeneralization aspect never bothered me. Definitely if you can’t say stuff, that’s different.
Miles Sabin
@milessabin
Mar 09 2016 16:21
FWIW, my policy is "ask for forgiveness" rather than "ask for permission".
Travis Brown
@travisbrown
Mar 09 2016 16:22
@milessabin try that with Apple :smile:
Miles Sabin
@milessabin
Mar 09 2016 16:22
If someone's using my stuff (for free) then I feel entitled to mention that fact unless they give me a good reason not to.
If I knew they were using shapeless then I would.
Travis Brown
@travisbrown
Mar 09 2016 16:23
fair enough
Alec Zorab
@AlecZorab
Mar 09 2016 16:23

FWIW, my policy is "ask for forgiveness" rather than "ask for permission".

yeah, I feel like that. I'm not sure the FCA always agree

Miles Sabin
@milessabin
Mar 09 2016 16:23
Apple especially ... they've been incredibly poor citizens wrt FOSS over the years.
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 09 2016 16:40
The thing you need to be careful of is that you're not making it look like the company is endorsing you in any way
That is when legal get involved
So just make sure there is some text to say that although these people may be using X, they are not endorsing it, then it'll dramatically reduce the possibility of confusion
Travis Brown
@travisbrown
Mar 09 2016 16:45
@fommil For me that actually is an "ask for forgiveness" situation. If some developer at company X says "this library works great for us at X" and gives me permission to quote them, I'm happy to assume that they know whether they should be saying that or not.
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 09 2016 16:46
I'd be uncomfortable if I was quoted as having said anything like that, it could result in my contract being terminated and a mark against my name
But if names are kept confidential, then yeah I have the same approach... just make it clear it's not company endorsement
Which always always needs sign off from marketing and legal
Travis Brown
@travisbrown
Mar 09 2016 16:48
But people say that kind of thing all the time and agree to be quoted (especially people at startups).
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 09 2016 16:48
:-) yeah, but startups...
It's a different story when it's Wall Street
Pascal Voitot
@mandubian
Mar 09 2016 16:53
and it doesn't mean that if you use a project today, you will use it tomorrow
Travis Brown
@travisbrown
Mar 09 2016 16:55
This is the nice thing about having this all managed through PRs. If you file a PR adding company X to my adopters list, I'll confirm that you have an X.com email address (or something similar), but it's your job to make sure X is willing to be on that list, and it's your job to file a PR removing X if X stops using my project (and you care enough to remove X).
Rob Norris
@tpolecat
Mar 09 2016 17:13
If I were to mention that X company uses my stuff then it would be clear who told me and that person could get in trouble. So I don't want to get into that situation.
Pascal Voitot
@mandubian
Mar 09 2016 17:14
but if people accept to say it loudly, not worries right?
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 09 2016 17:14
It takes about 6 months to get approval at my current customer to submit a PR on github. That's going to go via PR and legal.
Pascal Voitot
@mandubian
Mar 09 2016 17:15
those people don't understand anything to anything... almost like all companies I've been working for sadly
and remark that I'm the kind of guy taking care to tell publicly only what I can tell publicly ;)
Greg Pfeil
@sellout
Mar 09 2016 19:01
re: Ops classes … we have a lot of sealed class FooOps in our codebase. I don’t know where we got that from. (Scalaz?) I noticed that they’re just trait in Simulacrum. And a co-worker suggested final class (which it turns out is what Cats uses). So … final class, then, or are there tradeoffs I should be aware of?
Alexandru Nedelcu
@alexandru
Mar 09 2016 19:45
Final clasa îs better.
(Sorry, I'm mobile and my spellchecker was on the wrong language :-) )
Final class is better because that's encoded in the bytecode and the calls to its methods are no longer polymorphic, with the JVM being able to optimize it better.
Adelbert Chang
@adelbertc
Mar 09 2016 19:50
type Libre[F[_], A] = Free[F, A]
i kind of miss the cute names in scalaz like GlorifiedTuple
Lars Hupel
@larsrh
Mar 09 2016 19:57
@adelbertc GlorifiedTuple was a poor joke IMHO :wink:
Ghost
@ghost~540393fe163965c9bc2018ce
Mar 09 2016 21:25
:+1: libre
Vladimir Kostyukov
@vkostyukov
Mar 09 2016 21:58
I know that Finch is just an incubator project and it’s probably too yong to be an example (or an inspiration?) for other TL projects, but I think it’s doing quite well in terms of adoption (and adopters list). As for today, there are 12 companies in the list and it keeps growing. I can tell for sure, that there are at least 5-10 more companies (according to the gitter room activity) using it. What I and @travisbrown usually do is pinging potential adopters in a private gitter room (or Twitter DM) and ask them if they want to be in the adopters lists. Most of the people happily open a PR. I see in this PR the following messages. An adopter (a company) says something like: “we’re commited to this (at least today) and want to see it’s growing”. As a maintainer I merge this PR saying “I know about you; I hear you; and I with other maintainers will keep doing our best to make it (a library) better and better”.
Pascal Voitot
@mandubian
Mar 09 2016 22:16
@vkostyukov BTW finagle/finch#550 ;)