Fork me on GitHub
#clojure-uk
<
2018-06-14
>
mccraigmccraig07:06:20

"both lazy and driven" - i like that

manas_marthi06:06:23

someone tweeted this yesterday

thomas07:06:57

mogge 😼

guy08:06:03

Morning!

agile_geek08:06:38

Bore da welsh_flag

πŸ‘‹ 4
thomas08:06:23

🀯

🍩 4
thomas09:06:46

thank you @guy... but I think I might need something stronger...

β˜• 4
🍩 4
🍰 4
πŸ‘ 4
😟 4
guy09:06:03

Hope ur ok 😞

3Jane09:06:39

what’s happened?

thomas09:06:03

my head exploded.... customer 1 raised a blocker... customer 2 provided the wrong data... (now rectified) customer 3 wants everything now.... PM asks every 10 minutes how things are going....

thomas09:06:35

and all I got was a 🍩

hyankov10:06:22

Sounds better than having customer 4 πŸ˜‰ Hope things will get better throughout the day

thomas11:06:38

thank you.

thomas11:06:00

and yes, it is getting better.

guy09:06:04

😞

guy09:06:13

And its not even friday 😞

yogidevbear10:06:25

Morning 🍩

🍩 8
dominicm10:06:35

morning doughnuts aren't good for you.

otfrom11:06:10

donuts are the breakfast of champions

3Jane11:06:41

sumo champions best champions!

thomas11:06:51

thank you @lady3janepl πŸ™

otfrom12:06:31

if you send them via computer they'll only come out in bits

πŸ˜‚ 12
otfrom12:06:49

(really, more food based dad puns?)

guy12:06:46

😞

thomas12:06:48

@otfrom you should never send them via computer. Just fax them, that is way more reliable.

3Jane12:06:04

most machines these days miss the requisite hardware, but we used to be able to do this

3Jane12:06:07

via cd drives

3Jane12:06:19

why do you think cds had a hole through the middle, huh?

πŸ‘ 16
jasonbell13:06:35

That reminds me of the interview with The Folksmen whose record company expected their fans to drill a hole in the middle of the records.... πŸ™‚

3Jane13:06:04

O_O …why was that?

jasonbell13:06:22

Because it was a film and it was improvised.... I was crying once I heard it.

jasonbell13:06:41

I can't find the clip on YT 😞

otfrom12:06:39

I worry that computers might be alternative fax

3Jane12:06:35

nothing happens if you sit on them, so that at least is an improvement

thomas12:06:23

and computers could also double as a coffee-cup-holder. they removed that function!

manas_marthi14:06:13

Just peeked at Groovy slack channel.. Seems haunted

manas_marthi14:06:11

I am looking for JVM lang rankings by slack community size.

manas_marthi14:06:25

I believe Jruby might be active. My gut feeling says Jython and Groovy are endangered species

manas_marthi14:06:57

For all those complaining about elitism in clojure, please try other JVM languages and wait for support

manas_marthi14:06:13

I read the clojure community survey results. Someone was asking for JCP kind of process to evolve the language. Isn't Lisp all about creating your own domain specific language without depending on BDFLs?

manas_marthi14:06:51

If you want a feature go ahead and implement it as a library. who is stopping you with the dictator role?

otfrom14:06:54

certainly the idea is that you can do what you want in libraries and that for the most part the core of the language should remain small and stable

πŸ’― 4
manas_marthi14:06:03

Besides TIOBE index and github rankings by # of repos, is there any ranking based on how active a language's google group/slack channel/twitter buzz is?

manas_marthi14:06:38

JVM specific ranking could be more useful metric to juxtapose clojure vs other JVM langs

manas_marthi14:06:47

TIOBE shows Clojure at rank 33

otfrom14:06:47

redmonk do a ranking

manas_marthi14:06:10

TIOBE is not a good metric to push for clojure usage in corporate world

manas_marthi14:06:56

We have a bunch of clojure enthusiasts in our company. But not enough data to get a clojure adaptation..

manas_marthi14:06:33

Managers and recruiters are concerned about "programmer replaceability" - a point that rich hickey touched upon in his talks

manas_marthi14:06:41

Just looked at redmonk ranking 2017. Again it is not JVM specific..

otfrom15:06:39

no, but there are enough JVM langs in there to create a subranking

mccraigmccraig15:06:59

who is complaining about elitism in clojure ?

πŸ˜‚ 8
dominicm15:06:09

Not me. I quite like being elite.

😎 12
8
guy15:06:14

is that elite dangerous? :thinking_face:

guy15:06:17

to google

guy15:06:31

i think it is :thinking_face:

otfrom15:06:09

I'm not smart enough to learn a lang with mutation and more syntax any more

16
πŸ‘ 4
thomas15:06:38

I figured I am just smart enough to realise I need a language that has simplicity as one of its design goals.

alexlynham19:06:33

100% this. My pythoning over the last few weeks has convinced me that I'm too dumb to python or OO

guy15:06:08

I just like working with happy kind people nowadays

❀️ 4
guy15:06:15

thats all i want from a job 😞

guy15:06:52

like if ur gonna work with someone 8 hours a day or more

guy15:06:00

u want them to be positive in some ways ya know?

mccraigmccraig15:06:41

@guy happy kind people are nice, but i wouldn't really want a job with happy kind people and a lang which depressed the crap out of me

guy15:06:57

can they be happy with that sort of language tho :thinking_face:

guy15:06:09

Does clojure make you and your colleagues happier

guy15:06:13

πŸ˜„

guy15:06:12

I feel like the elitism is more a functional programming thing really

guy15:06:16

🀷

guy15:06:50

Being in the Clojure community since around 1.2, I loved the language then, and I like the direction, it's been taking since. The community is great, very friendly and even its most controversial figures are usually polite, intelligent people. Heck, even the local troll from the mailing list is occasionally helpful, stays on point in his threads and sticks with the conversation, even after blowing stuff up. Another thing, that I want to add, is that practicing Clojure for that long has recently started paying huge dividends for me: When I started going to the Vienna Meetups, around 3 years ago, people were asking around for positions to do Clojure professionally. Around the beginning of last year, 2017, the market flipped and now companies are seeking to hire Clojure talent. This means more people being interested in Clojure, which is great for me, because I like to converse about it ;-) Reading through this, I'm realizing, that I probably shouldn't have taken the survey right after coming home from a party, drunk, but anyway, it's there now and I'm not backspacing it. As usual, thanks a ton for the great work! Clojure really does enable me to translate my programming passion into awesome programs, in a very effective and efficient way. cheers

guy15:06:52

πŸ˜‚

dominicm15:06:27

s/functional programming/minority programming used by developer preference/

20
guy15:06:36

true true

manas_marthi15:06:34

how to add 3 like reactions?

πŸ‘ 4
guy15:06:49

i dont know if u can

otfrom15:06:18

I have said and will say again: clojure is the most fun I've had programming since I learned logo. And I was 11 then.

πŸ’― 4
metal 4
πŸ‘Œ 4
manas_marthi15:06:19

ok. two more people, please add two more to dominic's

manas_marthi15:06:10

for me the greatest effort was to get used to parens

manas_marthi15:06:44

as my brain was wired up for curly braces.

manas_marthi15:06:12

I am interested in clojure as java syntax is a bit of "dilation" (if I can borrow Mr speaker's words)

manas_marthi15:06:05

But I have worry that clojure can add cognitive load while reading the code (yet to write a full app. this is a feeling as a beginner)

manas_marthi15:06:19

(defn dosomething [ a b c])

manas_marthi15:06:35

I have to wonder what is a, is it a map , vector, record?

otfrom15:06:55

the biggest switch I had to make when moving from java to clojure when reading was slowing down. clojure code is dense in a way java code really isn't

πŸ‘ 8
manas_marthi15:06:36

and Martin Fowler has a word for it. He talked about it in his speech about code refactoring

manas_marthi15:06:07

I forgot the exact word. But he was saying if your code makes people to think hard to understand, you should refactor it to simplify

manas_marthi15:06:44

I am thining of making it a standard practice to add type hints in function args

manas_marthi15:06:01

for readability sake

otfrom15:06:02

your (defn dosomething [ a b c]) feels like it is missing an implementation for the function

manas_marthi15:06:42

yes I agree. But when I am starting to read a function, I have to worry what their types and then go through the code to remind me what type it's going to be

alexlynham19:06:45

Well there's also a standard that says that scalar entities go in first and collections/seqs go last, so that helps :)

otfrom15:06:47

spec is supposed to help with documenting what goes into a function (sorry I got wrong footed on your description above, I see what you are driving at).

manas_marthi15:06:02

The other day i was introduced to reduce-kv by sean. I looked it up in clojuredocs, the params are single letters.. it took some time to get my head around it.

manas_marthi15:06:36

swift has nice feature, we can have an alias to a param. The alias is used in API docs. But the code uses the short form param

guy15:06:47

This is quite a nice way to understand clojure conventions

guy15:06:56

like what k or v mean or m

guy15:06:00

typically

guy15:06:23

I'm not saying its true everywhere

guy15:06:27

but theres some elements of truth

guy15:06:38

like this for example

guy15:06:46

:man-shrugging:

guy15:06:47

πŸ˜„

manas_marthi15:06:55

thanks a lot!!

dominicm15:06:09

^ I found that super useful when I found it

manas_marthi15:06:27

I want a JCP process for enhancing Clojure to accept param aliases like swift lang. Or, help me to extend the lang..

guy15:06:37

πŸ‘€

guy15:06:54

πŸ˜‚

guy15:06:56

you got me

manas_marthi15:06:05

my attempt at humor

dominicm15:06:20

I've found that naming params "a" doesn't happen all that much (outside of utilities at least). Most of the time I'm talking about re-used abstractions, which are clear from something (sql schema, params schema, seed data, etc.)

dominicm15:06:33

To expand, my params are usually "user" and such.

mccraigmccraig16:06:36

i'll often use a suffix to indicate 'container' types, such as user-s for a stream of users, or user-d for a Deferred<user>

manas_marthi16:06:37

how about something along the lines of "^:is user-seq" users

mccraigmccraig17:06:43

yeah, i remember joel's post on apps-vs-systems hungarian... i don't generally bother with hungarian at all, finding just the names enough, excepting containers... i've got a lot of monadic code and knowing whether something is e.g. a user or a promise<user> is crucial

3Jane17:06:28

β€œI promise I will be a user at one point”… sounds like they need more commitment πŸ˜‰

mccraigmccraig17:06:31

i used to find it scary having a chain of promises a couple of hundred long

alexlynham19:06:38

I quite often just use longer names tbh so user-seq or whatever. The style guide is useful but readable params is the main goal. Also type hinting a long when doing interop reminds you to check your java isn't going to blow up your clojure :)