These are chat archives for got-lambda/expression

2nd
Dec 2016
Marco Zocca
@ocramz
Dec 02 2016 08:48
Good morning all, sorry for the no-show yesterday but I really needed to unwind, went climbing instead ^_^
Magnus Therning
@magthe
Dec 02 2016 08:58
@ocramz the PWL was good, I'll be going again I'm sure
Suvash Thapaliya
@suvash
Dec 02 2016 08:59
same here. really wanted to show up, but was super tired. gotta show up next time.
Magnus Therning
@magthe
Dec 02 2016 08:59
where have you been interviewing @ocramz?
Marco Zocca
@ocramz
Dec 02 2016 09:07
all 3 were calls in fact
Standard Chartered, Improbable and Tweag.io
for Tweag I already spoke with Mathieu Boespflug and yesterday with Facundo Dominguez, who's one of the maints of Cloud Haskell
Magnus Therning
@magthe
Dec 02 2016 09:09
ah, so nothing local then
Marco Zocca
@ocramz
Dec 02 2016 09:10
@magthe I really wanted to live here in Gbg but the job market isn't really.. snappy. It takes them ages to reach a decision, and in general there are few new roles every month or so
I did 2 interviews with Combine AB, then they turned me down for my lack of industrial experience. Too bad for them!
I've also been interviewed by Fingerprints, but I sent my CV early September, heard from them only two weeks ago, and I know it will take them "several more weeks" to know something
It's excruciating
So I look elsewhere as well
Magnus Therning
@magthe
Dec 02 2016 09:17
@ocramz, yes, I know, it amazes me that they can be so slow
where is Improbable and Tweag.io located, the US?
I'm guessing SC is either London on Singarpore?
Marco Zocca
@ocramz
Dec 02 2016 09:17
Improbable is in London, Tweag in Paris but they have people all over Europe whereas Facundo works remotely from Uruguay
Magnus Therning
@magthe
Dec 02 2016 09:18
[edit] I'm guessing SC is either London on Singapore?
Marco Zocca
@ocramz
Dec 02 2016 09:18
Yep
Magnus Therning
@magthe
Dec 02 2016 09:19
so, for Tweag.io you could remain in Gothenburg?
Marco Zocca
@ocramz
Dec 02 2016 09:19
there is a small chance. Fingers crossed
Interviews went seemingly well, maybe I'll get some leverage for this
Magnus Therning
@magthe
Dec 02 2016 09:19
my experience with job search on the continent (non-UK) is that HR should be avoided at all costs :)
I'll keep my fingers crossed, and there is an untapped pool of FP-interested people in Gothenburg, so leaving you here could be beneficial for their future hiring ;)
Marco Zocca
@ocramz
Dec 02 2016 09:21
It depends, I think. The headhunter that scoped me out for the SC role is actually a nice and caring person, always calling me beforehand to advise
@magthe Absolutely!
Magnus Therning
@magthe
Dec 02 2016 09:21
I'm amazed every time I bump into a decent headhunter ;) they exist, but there aren't that many of them
at SC you'll join some rather famous people :)
Marco Zocca
@ocramz
Dec 02 2016 09:23
Word is on the street that Lennart Augustsson will move to Facebook. But I didn;t tell you anything
Magnus Therning
@magthe
Dec 02 2016 09:24
haha, well Facebook seem to be doing interesting stuff with FP nowadays... though I'm still sad when I think it's all done in pursuit of increasing clicks on ads
What do you ppl think of this? I reckon it's mostly geared towards FP and obviously it generated much internet beef already
Erik Svedäng
@eriksvedang
Dec 02 2016 10:49
@magthe Regarding the Advent of Code repo – I'm really bad at git... Is it possible to keep a private .gitignore around for my project without making changes to the one in the root of the repo?
(I want to ignore the .stack-work folder)
@ocramz I don't get the point of that poster... I guess you could use it as a route for learning but yes, it seems very Haskell oriented. And I think people have very different needs so it's not really that kind of straight progression
Like, someone trying to solve a certain problem might have to start with "high performance" much earlier, and might never have to learn co-data or whatever
jolod
@jolod
Dec 02 2016 10:53
@eriksvedang Indeed. The problem with mapping different aspects onto a single dimension.
Erik Svedäng
@eriksvedang
Dec 02 2016 10:53
nice unicorn though
@jolod yeah, I think it's easy to underestimate how different the programs other people write are from your own
Magnus Therning
@magthe
Dec 02 2016 10:58
@eriksvedang: I think you can put them in subfolder and then .gitignore only affects that folder and down
Erik Svedäng
@eriksvedang
Dec 02 2016 11:03
it worked, thanks
jolod
@jolod
Dec 02 2016 11:04
@eriksvedang I guess it is a symptom of most people only working in a limited domain.
I think the FP ladder can be useful for ranking though, and if you go to a talk or a workshop then you know what you might want to refresh or look up. Maybe.
jolod
@jolod
Dec 02 2016 11:09
I wonder if it is supposed to be descriptive or normative though, i.e. does it reflect the current skill levels among programmers, or prescribe a desired learning path (if applicable).
Erik Svedäng
@eriksvedang
Dec 02 2016 11:26
@jolod yes, if so it might be slightly useful... for some people who are just learning a FP language in a general context
Magnus Therning
@magthe
Dec 02 2016 11:53
isn't the people behind lambdaconf also tightly connected to purescript?
AoC for today has been merged :)
Magnus Therning
@magthe
Dec 02 2016 12:05
@eriksvedang: it's interesting reading your solutions to AoC :)
Erik Svedäng
@eriksvedang
Dec 02 2016 12:22
@magthe Yours too ^^ Any suggestions for things I should think of?
Magnus Therning
@magthe
Dec 02 2016 12:26
I'm not sure... reading your solutions makes me think that it would be quite interesting to just sit down and discuss how we arrived at our solutions, there's som underlying view on the problem that manifests itself in the code, but the view is not always discernible
Erik Svedäng
@eriksvedang
Dec 02 2016 12:27
yes, very true
I really enjoy the aspect of "changing requirements"
makes it worthwhile to guess in what way the first solution should be extensible
You're way better at using the monadic functions, I keep forgetting when they are useful
Magnus Therning
@magthe
Dec 02 2016 12:30
yes, and by putting the two solutions in different files it's later possible to see wether one's solution really is extensible
I tend to go over my solutions a few times before actually pushing them, my process is far from straight I'd say ;)
Erik Svedäng
@eriksvedang
Dec 02 2016 12:33
yeah, same here
I looked at some other solutions too, so far I think the python one have been the most inspiring, in terms of terseness
estomagordo
except solution B today, that one isn't that nice
Magnus Therning
@magthe
Dec 02 2016 12:35
I'd say he chose badly when representing the keypad
Erik Svedäng
@eriksvedang
Dec 02 2016 12:35
yeah ^^
Magnus Therning
@magthe
Dec 02 2016 12:36
representing it as code rather than data wasn't good... and I suppose he got stuck in that, instead of rewriting it from scratch he just continued on the same trajectory :)
Erik Svedäng
@eriksvedang
Dec 02 2016 12:37
not an uncommon way to go :D
Magnus Therning
@magthe
Dec 02 2016 12:37
indeed, I think we've all done the same thing... but it's cool to see it in such a small example ;)
it was surprising to find a solution to yesterday's problem in rexx :)
Erik Svedäng
@eriksvedang
Dec 02 2016 12:38
I have never heard of that, haha
reading about it now...
Magnus Therning
@magthe
Dec 02 2016 12:39
there was a rexx available on the Amiga, arexx
Erik Svedäng
@eriksvedang
Dec 02 2016 12:39
haha
my representation of the keypad in 2B was inspired by Norvig's AI book, he models Othello with the same kind of structure, putting "padding" around the actual playing field
Magnus Therning
@magthe
Dec 02 2016 12:39
IIRC it's a slightly weird language, only one type, strings, no?
Erik Svedäng
@eriksvedang
Dec 02 2016 12:40
haha ok
Magnus Therning
@magthe
Dec 02 2016 12:41
the padding was nice! I was first considering something zipper-like, but came to the conclusion that building the whole board, making use of lazy eval was easier to grasp
Erik Svedäng
@eriksvedang
Dec 02 2016 12:42
mm, that's cool too
Magnus Therning
@magthe
Dec 02 2016 12:43
and I love that I managed to find a use for mapAccumL :)
Erik Svedäng
@eriksvedang
Dec 02 2016 12:43
very Haskell ^^ never heard of that either!
but seems very useful
in this kind of problem
also '&&&' ... O_O
so advanced
Magnus Therning
@magthe
Dec 02 2016 12:45
it's actually worth reading through the docs for the functions in Data.List, there are many useful gems in there
Erik Svedäng
@eriksvedang
Dec 02 2016 12:46
yes
Magnus Therning
@magthe
Dec 02 2016 12:47
I've always found the difficulty to be recognizing when a problem fits one of those basic functions
Erik Svedäng
@eriksvedang
Dec 02 2016 12:48
yup
Magnus Therning
@magthe
Dec 02 2016 12:48
in this case I needed to map a fold over a list, but the base case for each fold was given by the earlier one... it took a while to just get to that point... then a while longer to remember the mapAccumX-functions
I love the Arrow-stuff... so amazingly impenetrable, haha
Erik Svedäng
@eriksvedang
Dec 02 2016 12:49
yeah, I had to write two levels of folds, could probably simplify my code with that function too
Magnus Therning
@magthe
Dec 02 2016 12:49
I need a lot more practice with them before reading Arrow-based code easily
Erik Svedäng
@eriksvedang
Dec 02 2016 12:49
OK, good to hear since I don't get that line at all :D
Magnus Therning
@magthe
Dec 02 2016 12:50
no, it's magic, and the types are impossible to just grasp, basically (f &&& g) x = (f x, g y)
then there's the other, ***... also useful at times
Erik Svedäng
@eriksvedang
Dec 02 2016 12:52
haha ok if you say so
Magnus Therning
@magthe
Dec 02 2016 12:52
or you use bifunctors instead
(sort of)
Erik Svedäng
@eriksvedang
Dec 02 2016 12:54
mm... are they for pairs?
Magnus Therning
@magthe
Dec 02 2016 12:57
they can be :)
I mostly use them for pairs
though they are more general
Erik Svedäng
@eriksvedang
Dec 02 2016 13:01
ok, obviously ^^
Marco Zocca
@ocramz
Dec 02 2016 13:22
@eriksvedang when in doubt, use Hayoo : http://hayoo.fh-wedel.de/
you can type in the signature and it will return a list of potential matches
from Hackage
Erik Svedäng
@eriksvedang
Dec 02 2016 13:24
ok, thanks for the tip
Marco Zocca
@ocramz
Dec 02 2016 13:24
wat
Magnus Therning
@magthe
Dec 02 2016 13:28
nice!
Suvash Thapaliya
@suvash
Dec 02 2016 13:50
ah, that's brilliant !
Marco Zocca
@ocramz
Dec 02 2016 14:40
@eriksvedang , what's that diagram? a solution to the first puzzle in AoC?
Erik Svedäng
@eriksvedang
Dec 02 2016 15:40
yes
probably was faster than the time it took me to write my solution actually ^^
though I wouldn't trust my answer if doing it like that!
Marco Zocca
@ocramz
Dec 02 2016 15:47
yep, doesn't scale
jolod
@jolod
Dec 02 2016 20:17
@ocramz @eriksvedang Also https://www.haskell.org/hoogle/ .
@eriksvedang Easier to peer review the pen and paper solution though. :-)
Marco Zocca
@ocramz
Dec 02 2016 20:55
So it turns out that if you want to make some Real Money with software, you actually need C++ (and must work in the financial sector)
jolod
@jolod
Dec 02 2016 21:05
@ocramz Not just C, but C++?
Marco Zocca
@ocramz
Dec 02 2016 21:08
yep, it's disproportionately popular in that sector
(these days I'm keeping an eye on everything with the "Quantitative" label on linkedin, glassdoor etc)
jolod
@jolod
Dec 02 2016 22:27
@ocramz What's the rationale for C++ over C? Some (many?) prefer to write their application in some higher level language like Python and dish out the algos to C. I don't know C++, but it seems to me that C++'s strengths would come into play for larger scale applications and/or frameworks.
Pierre Krafft
@Zalastax
Dec 02 2016 23:56
@ocramz Financials is pretty special in that there is a lot of money directly visible, so developers get payed more. C++ is just the tool they have to use to get the job done.