Fork me on GitHub
#off-topic
<
2017-11-06
>
Jon11:11:02

this is strange, as far as I know we don't have many ClojureScript jobs in China

Jon11:11:14

same situation for Clojure

borkdude11:11:07

Maybe it’s coming

Empperi12:11:11

who cares about China, look at Finland!

Empperi12:11:45

5 million people vs a billion and relative interest is that high comparatively

Empperi12:11:58

but yeah, @jiyinyiyong you can do the math there, if in China you get 5 times more queries into Google about Clojure than in Finland but you have 200 times the people and even in Finland it’s not easy to get a Clojure job then it comes to me as not such a big surprise that actual companies using Clojure in China are very rare

Empperi12:11:53

and I bet that at least 90% of that activity from Finland comes from me troll

val_waeselynck13:11:14

For those who were at EuroClojure and remember Nada Amin's keynote 🙂 https://news.ycombinator.com/item?id=15626816

danm14:11:09

Is Clojure particularly popular in Finland? It seems like quite a few people active in the #clojure IRC channel on FreeNode are from there too

Empperi14:11:08

yes, Clojure is relatively big thing in Finland. I’d say bigger than Scala in general

Empperi14:11:55

but of course my view of this thing is kinda affected by the fact I follow the Clojure community but not the Scala

Empperi14:11:04

obviously Clojure in Finland absolutely dwarfs when compared to eg. Java

Empperi14:11:13

Java is everywhere, Clojure is not

Geoffrey Gaillard14:11:13

I spent some time in Kuopio (Finland) and I was quite impressed by how many people considered functional programming to be "normal". I learnt Clojure there 🙂

Empperi14:11:40

FP people are still the minority but not a significant minority these days

horza14:11:58

yeah, I've run across more Clojure than Scala people/projects in Finland, and my office is mainly Scala

bherrmann14:11:46

In the lightmod demo video (https://www.youtube.com/watch?v=1_iwCGh5j8I) Does anyone know what tool @sekao was using for creating the video?

vuuvi15:11:01

anyone have idea what’s the best way to map clojure code visually?

bherrmann15:11:31

@sekao Thanks! I enjoyed your presentation on lightmod! It is cool!

seancorfield21:11:10

Or https://gershwin.github.io/ if you want a mix of Clojure and Forth 🙂 (it's abandonware at this point, but still an interesting project)

bcbradley21:11:58

If you had an offer to do remote work in shelby north carolina in clojure for 40-60k working for a well established 18 year old company, versus moving to palo alto to do work in scala for 85-105k + equity at a startup preparing to enter phase b investment, what would you choose

bcbradley21:11:06

I feel like i'm at a crossroads

seancorfield21:11:46

Cost of living in Palo Alto is high, so you'd probably find your quality of life is lower in the Bay Area than in Shelby, NC (even with the difference in pay).

seancorfield21:11:36

Also, California is an at will employment state so if your startup goes belly up -- which most of them do -- you could find yourself job-less with zero notice (and even if they don't go belly up, you could still be laid off with zero notice).

seancorfield21:11:06

Also, Bay Area startups tend to be extremely high pressure and long hours. A lot of engineers get burned out.

dpsutton21:11:17

palo alto is really, really expensive. my friend started a job at a big 4 today and his rent is somewhere near 3800-4000

dpsutton21:11:00

he got an 80-100k paybump and his takehome after rent and taxes is going to be the same i think as here in louisiana

seancorfield21:11:03

Yeah, your choice is an arm and a leg to live in PA or an or a leg to live in the East Bay and commute (and commuting here can really suck).

dpsutton21:11:22

he's stoked to be in CA but it's quite expensive

seancorfield21:11:18

I live in the East Bay and work from home, but I used to commute to SF (which was OK, it was on public transit) and prior to that to Redwood Shores (near PA) from Oakland and that could be up to two hours each way. Occasionally more (and sometimes less).

seancorfield21:11:51

Palo Alto is just about the worst commute in the Bay Area (no public transit to speak of).

dpsutton21:11:31

he's lucky to be at a company that provides transport so i think commute won't be too bad since he can work on his commute

dpsutton21:11:41

but he's got an hour each way since he wants to live in SF proper

seancorfield21:11:02

@dpsutton and I'll bet he works way longer hours than 9-5? 🙂

dpsutton21:11:13

today is literally his first day

dpsutton21:11:15

so he doesn't know

seancorfield21:11:39

Oh, OK. Most Silicon Valley folks I know have a door-to-door day that is close to 12 hours.

dpsutton21:11:40

or at least i don't know if he will. although i'm sure there will be some times of long hours

seancorfield21:11:57

(unless they live close to work)

dpsutton21:11:01

haha and i meant that "literally" as in i don't mean new i mean in orientation lol

dpsutton21:11:52

honestly @bcbradley i'm not sure which of those two are intriguing. NC should pay more than 40-60 and the valley should pay more than 100K

dpsutton21:11:07

i'll bet both could be cool but that is decidedly on the lower end of pay scales

bcbradley21:11:07

@dpsutton well i got in touch with these positions through two different technical recruiters, and these are the "minimim" figures I'd be willing to work in those areas for

bcbradley21:11:55

I absolutely love clojure as a language, but after some time with it i'm starting to grow tired of some of the warts of it in practice-- nothing to do with the language itself mind you, but the error messages and stack traces are really a pain

dpsutton21:11:20

yeah, making some changes and finding out a keyword is not sequable isn't a great feeling

bcbradley21:11:34

and to be frank, sometimes it is really painful to learn new things in clojure because there is a lack of community emphasis on documenting things clearly

qqq21:11:18

@dpsutton: there's a lot of bugs of the form "a dumb type checker would have caught that"

bcbradley21:11:42

trying to set up a webserver to serve edn across the network for instance-- I'm sure that would be super simple and easy for people who know what they are doing already, but for someone who is new to web development and loves clojure because it is a beautiful language, they might find the number of things they have to learn to set up a webserver daunting

seancorfield21:11:50

How much Scala experience do you have @bcbradley? I find the compiler errors in Scala to be just as impenetrable as Clojure at time...

dpsutton21:11:14

"what do i have to do to make you happy, mr. compiler"

bcbradley21:11:52

I don't have any real experience with scala, but the place i'm applying for is comfortable with that if they are convinced I would make a good software engineer

bcbradley21:11:28

and I believe they are, I've passed all the technical interviews-- did a live code challenge (in clojure!) and will meet with the ceo/cofounder the day after tomorrow

dpsutton21:11:59

well congratulations! it's nice to be wanted by two different places.

bcbradley21:11:13

other things that weigh on my mind is the fact that I really enjoy the clojure community and want to be a part of it-- but at the same time I love the palo alto community and want to be a part of that

bcbradley21:11:27

it would be nice to be smack dab in the middle of so much talk about software engineering

bcbradley21:11:36

it'd be nice to overhear conversations about new startups and technologies

bcbradley21:11:45

gosh this decision is so hard

dpsutton21:11:00

i'm jealous of my buddy in SF for the meetups and the people he will be around

borkdude21:11:17

Speaking about “dumb type checker”, I use this tool https://github.com/candid82/joker and it catches a lot of “dumb” errors I would normally only see after evaluating something in the REPL

seancorfield21:11:21

I live in the Bay Area and I'm not jealous of anyone who lives or works on the Peninsula 🙂

borkdude21:11:33

e.g. typos or wrong amount of args

seancorfield21:11:47

@borkdude Yeah, Joker is pretty good. I use it wrapped up in a linter inside Atom.

dpsutton21:11:55

i'll check it out. thanks

seancorfield21:11:21

@bcbradley I think you're romanticizing Silicon Valley there buddy 🙂

bcbradley21:11:34

please tell me I need to know

bcbradley21:11:41

what is it really like?

bcbradley21:11:55

you live in the east bay

bcbradley21:11:59

thats not far from PA

seancorfield21:11:17

I find the whole start up culture here to be really obnoxious, to be honest.

bcbradley21:11:27

i read that on some online reviews

bcbradley21:11:52

the at will employment seems scary

borkdude21:11:14

Just watch ‘Silicon Valley’ the TV series 😉

bcbradley21:11:22

i watched the first two seasons of that

bcbradley21:11:31

but i figured it was just dramatization and hollywood

seancorfield21:11:31

Yeah, I can't watch that show -- way too painfully close to the truth.

seancorfield21:11:10

Mind you, I'm 55 and very cynical at this point.

bcbradley21:11:40

i feel like moving to california isn't necessarily going to lock me out of ever doing clojure professionally, whether at this start up or with another job

bcbradley21:11:46

so I shouldn't think in those terms

bcbradley21:11:11

the real question is whether or not california is right for me

bcbradley21:11:19

and specifically silicon valley

bcbradley21:11:30

but its hard to know that without knowing someone who lives there or taking a visit

borkdude21:11:34

For one thing, it can get crazy hot there nowadays, I couldn’t live there

bcbradley21:11:54

i read that palo alto was 77 high in summer and 72 low in winter

bcbradley21:11:57

is it still like that?

qqq21:11:03

it's also a very intense place

seancorfield22:11:36

@bcbradley I don't think of the Bay Area as hot, temperature-wise. If you go inland -- Dublin/Pleasanton, Tracy -- then, yeah, it can be really hot. The Peninsula is kept cool by the ocean and the Bay, for the most part.

seancorfield22:11:27

We hit 100 for a few days this summer and it was unpleasant. Mostly it's fine. It (almost) never freezes here either. My wife calls it "Baby Bear weather -- not too hot, not too cold".

seancorfield22:11:58

@borkdude There are definitely parts of CA that are unpleasantly hot. Were you thinking of somewhere specific?

bcbradley22:11:12

palo alto, menlo park

seancorfield22:11:37

Those are on the Peninsula. Really not that hot.

seancorfield22:11:52

Did you misread my "somewhere specific" as being for you @bcbradley?

bcbradley22:11:08

oh sorry yeah i did

bcbradley22:11:29

i saw "@b"" and my brain skipped the rest

seancorfield22:11:06

And, yeah, you're right that there's enough Clojure here that if the Scala gig didn't work out, you could go after Clojure jobs.

bcbradley22:11:17

that is reassuring

bcbradley22:11:42

by the way do you know of any clojure.zip excersises I could do?

bcbradley22:11:54

like hackerrank problems, koans, or whatever

bcbradley22:11:58

i learn best by doing

seancorfield22:11:07

Nope, sorry. clojure.zip does my head in!

bcbradley22:11:29

huh, i guess i'm in the camp that finds them obvious

bcbradley22:11:45

i just want to integrate it with the rest of what i know about clojure, making recursive searches and such

seancorfield22:11:45

I have never needed to use zippers and I guess I just don't think like that.

bcbradley22:11:55

zip/next, zip/up, zip/down, zip/left, zip/right and zip/root basically just return a new data structure that you can't (or shouldn't) try to use directly

bcbradley22:11:43

if you want the value AT THAT LOCATION that you originally fed in implicitly when you created a "zipped" version of the original data structure, you call zip/node

bcbradley22:11:13

its like (conj [3] 4) would return [3 4]

bcbradley22:11:24

if you wanted to get the zeroeth element you could do

bcbradley22:11:34

(nth (conj [3] 4) 0)

bcbradley22:11:43

zippers are similar

bcbradley22:11:05

you'd say (zip/vector-zip [1 [:a :b]]) to make a new "thing"

bcbradley22:11:15

then (zip/next THING)

bcbradley22:11:20

(zip/next THING)

bcbradley22:11:36

and then you could do (zip/node THING) to get the value at that position

pablore14:11:19

+1 on specter. It is based on Haskell's lenses, that let you handle complex data structures very easily

phronmophobic22:11:08

it seems to have similar ideas to zippers, but looks more general

bcbradley22:11:46

i think the biggest problem people have when learning zippers is that they focus too much on what it is doing behind the scenes when it doesn't really matter

bcbradley22:11:59

it doesn't help you understand the interface any better, it just reassures you that it is in fact working

bcbradley22:11:16

but clearly it works so unless you are just curious about it there isn't a reason to beat your head over the internals

bcbradley22:11:32

the important bit is that there are functions in clojure that take persistent data structures and return new persistent data structures

bcbradley22:11:44

and you can think of walking a graph or tree in the same way

bcbradley22:11:49

each step is a new data structure

bcbradley22:11:48

it might seem odd to want to make a new data structure for each step, but unless you do you are forced to store something like an "index" or some kind of way to locate your specific position-- all zippers do is turn things inside out so that your "position" is always obvious (its the root of this "THING" we've been talking about)

jcburley22:11:53

I'm new here, but hope it's okay to shill my latest tweet, which I thought was funny (if one is keeping up with current events): https://twitter.com/burleyarch

bcbradley22:11:43

@james-clojure this must be what java programmers talking in terms of Go4 design pattern jargon sounds like to... um well i was going to say non technical personnel but nevermind

jcburley22:11:38

Heh, well I'm not a Java programmer....

jcburley22:11:28

(And I don't grok much of what they say either.)