Fork me on GitHub
#off-topic
<
2017-07-31
>
roberto02:07:57

Song Exploder Functional Geekery Guitar Wank Greater Than Code Build Phase The Bike Shed Reply All All Songs Considered

hmaurer14:07:57

That’s quite a list; thanks!

curlyfry14:07:29

@hmaurer Freakonomics is probably my favourite podcast: http://freakonomics.com/archive/ It's about "the hidden side of everything" and it's extremely interesting and well made. Software Engineering daily is a cool very broad podcast where the host interviews tech people: https://softwareengineeringdaily.com/

hmaurer14:07:17

Amazing, thank you!!

curlyfry14:07:56

Don't miss the guy above me that also posted a bunch! 🙂

hmaurer14:07:33

Ah, I had indeed missed it since he didn’t tag me. Thanks ^_^

dpsutton16:07:52

people who use json a lot, would you keyword your keys less if there was a similar syntax for string? I'm wondering if keywords are preferred for their terse reader support :keyword and changing json to use these is for this convenience. Would you be more likely to leave keys as strings if there was a reader macro (?) for simple strings, like #keyword => "keyword"?

dpsutton16:07:10

although perhaps the octothorpe is a little overloaded

alandipert16:07:01

for me, probably not, as the important difference to me is that strings aren't functions, which isn't a syntax issue

tbaldridge18:07:39

also strings aren't interned, keywords are, which helps with comparison performance

dpsutton18:07:51

i've seen some criticism of people who just reflexively tell cheshire to turn all keys into keywords. So I was wondering if there was a shorthand for strings this would largely go away

dpsutton18:07:59

but both points here are very strong

mpenet19:07:12

It depends where the input comes from really

mpenet19:07:32

You can trust your db schema as source (ex col names etc), user input not so much

tbaldridge19:07:00

@dpsutton as one of those who dislikes auto-conversion, I see it as a tree walking problem. If I'm going to convert all the keys to keywords, only to walk the tree and transform it into some other format, why bother with the cost of keyword conversion?

tbaldridge19:07:19

But if the JSON is the final format I'm going to use, then I might convert them.

tbaldridge19:07:25

or just use Transit from the start

dpsutton19:07:19

i haven't been in this sphere yet. but i'm starting a clojure job next week-ish. just wondering. not sure if they use transit there.

tbaldridge19:07:53

I've used Transit on a lot of projects, and it's super cross-platform these days. Even supporting Erlang and C#

hmaurer20:07:32

Does transit serialises Clojure records?

hmaurer20:07:47

(keeping track of the record type)

ghadi18:08:33

it can, yes

tbaldridge19:07:10

We even used it to extend Riak's indexing engine at one point (written in Erlang)

tbaldridge19:07:42

And it's sometimes faster/smaller than json 😄

dpsutton19:07:02

supports self-reference as well?

tbaldridge19:07:11

no, it's a tree format

tbaldridge19:07:26

but it does support arbitrary nesting of keys and values

tbaldridge19:07:48

so you can transmit something like {[1, #{:a}] 42} via . json

tbaldridge19:07:32

although Transit is extensible, so I guess you could write some sort of cashing self-referencing system out of it. I've never thought of that...

qqq19:07:52

is aws / cloud services basically just giong up the chain and replacing humans with APIs ?

qqq19:07:53

in the most recent project I'm working on, when I went from ec2 -> beanstalk, and beanstalk -> lambda, every time I felt like I only needed 50% the engineering power since aws provides so much

tbaldridge20:07:32

Sure, it's probably replacing grunt work @qqq. But someone still has to design and implement the logic those servers are running.

tbaldridge20:07:04

It's a bit like saying "the GC replaces humans". True, but we just found harder things we could tackle.

qqq20:07:58

@tbaldridge : I'm bootstrapping a startup, and I have been measuring it in terms of "number of people I don't have to hire before I get 10M users"

qqq20:07:08

ec2/benastalk/lambda --> not hiring any sys admins any time soon

hmaurer20:07:08

@tbaldridge Thanks for recommending me cognicast; I’ve listened to a few episode and it has been great so far

qqq20:07:20

aurora db --> not hiring any db admins any time soon

qqq20:07:35

route53 / security groups --> not hiring any network admins any time soon

tbaldridge20:07:06

JVM, not hiring any memory management specialists any time soon

qqq20:07:07

pre Java, did people hire 'memory management specialists' ? I feel your argumen tis "GC eliminates this human job that never existed in the first place", whereas AWS is replacing real human jobs

tbaldridge20:07:49

We've had low level specialists for years, ASM coders, C programmers etc. Most of that is now gone and replaced by higher end development.

tbaldridge20:07:00

Same with GPU programmers, OS programmers, etc.

tbaldridge20:07:46

Abstraction removes the need for the lower level jobs, yes.

tbaldridge20:07:56

But why I'm not worried about it is that the jobs simply adapt. We no longer have punch card programmers, or machine code translators, etc.

tbaldridge20:07:24

But also on the other hand, it still takes someone knowledgable in AWS to know how to configure these things without leaving massive security holes or performance problems.

qqq20:07:52

@tbaldridge : I agree that you in particular need not ever worry about it, but I do think 1. alot of programming jobs will start getting replaced and 2. the levle of expertise required to be a programmer will be a rising and rising bar

tbaldridge20:07:28

maybe, but where were the PHP programmers 20 years ago?

qqq20:07:37

@tbaldridge : I have no aws expertise. However, for $100/month, I get unlimited phone calls with AWS engineers who walk me step by step through how to set things up. I can't recall the last time I read any AWS docs.

tbaldridge20:07:52

There will always be entry level jobs in new areas as well. And in the case of PHP/CSS/JS/etc. the bar was actually lowered from where it was 20-30 years ago. PHP is way easier than C or asm.

qqq20:07:03

Maybe for client side, as there isn't AWS-Designer yet. I would argue that if you want to be a sysadmin, the bar is much higher, because for simple problems, ec2/aurora suffices.

tbaldridge20:07:59

well, that's where the whole devops thing comes along right? We no longer have dedicated sysadmin teams, instead we have devops specialists working with the developers.

qqq20:07:30

I don't understand devops -- so I'll concede here.

tbaldridge20:07:49

Having worked with many programmers who try and configure AWS stuff on their own it's not as easy as it seems. AWS has a ton of rough edges.

tbaldridge20:07:40

And even then, I have a relative that works for a major hotel conglomerate, and he has a full time job doing AWS network configurations. At the enterprise level, you still have plenty of need for sysadmins even on AWS.

qqq20:07:49

Perhaps that was due to a legacy codebase. @tbaldridge , if you were designing a clojure app that did the hotel conglomerate work, -- would your app need sysadmins on AWS ?

tbaldridge20:07:06

Managing tens of thousands of servers is never easy and takes an entire team.

qqq20:07:06

or would you design it using elastic beanstalk / lambda / datomic / aurora in such a way it just scaled on its own

tbaldridge20:07:25

But that's the problem, they don't.

hmaurer20:07:33

Things don’t scale on their own

tbaldridge20:07:49

It will scale on its own to a point, but at some point you hit the limits of AWS, and then you have to rethink your problem, and reframe it with a better design.

tbaldridge20:07:10

Just start thinking about multi-region systems and you got design problems to keep you busy for years.

qqq20:07:40

quoting myself:

@tbaldridge : I'm bootstrapping a startup, and I have been measuring it in terms of "number of people I don't have to hire before I get 10M users"
I agree that at some scale, you need experts; however, with AWS, that point has been pushed really far back.

tbaldridge20:07:46

even 10mil is high, and depends on a lot of stuff. I agree for a startup where you don't care about reliability or performance it works out fine.

tbaldridge20:07:19

But if you want those things you need multi-region support, CDNs, etc. And that gets really hard really fast.

tbaldridge20:07:42

So...have you tested this app with 10mil connections from disparate locations of the globe?

qqq20:07:58

No. I don't have users yet.

qqq20:07:14

1. Because of AWS, I can build this myself, whereas without AWS, I would not be able to build a prototype without VC blessings due to need of hiring all the extra -engineers / -admins. 2. AWS provides CDNs. I don't know if Aurora provides multi-region, but would not be surprised if it did.

donaldball21:07:32

If I were in the bootstrapping startup phase and didn’t already know AWS, I’d look hard at having an AWS consultancy build e.g. terraform configurations for me

mobileink21:07:40

i'd like to get 10 users. i'll worry about scaling when it is a problem i actually have. and if it is, then i have the money to deal with it.

sundarj21:07:06

new to clojure (and lisp, and fp, in general) - just finished brave clojure, which book(s) would you recommend i read next? joy of clojure? clojure programming? SICP? should i just go through this list https://clojure.org/community/books ?

hmaurer22:07:50

I read the joy of clojure and really liked it. Programming Clojure is good oto

hmaurer22:07:20

@sundarj that said I learned quite a lot just hacking at code too. It’s a bit of a “standard” advice, but good to re-iterate: play with the REPL

sundarj22:07:55

@hmaurer ofc, i will do lots of that too - this is for commutes and bedtime reading

hmaurer22:07:08

@sundarj fair enough! I recently got back into podcasts too for commutes. Cognicast is great so far

sundarj22:07:06

@hmaurer i really need to buy a new pair of travel headphones - been hearing lots of good stuff about Cognicast

hmaurer22:07:03

@sundarj I bought Sennheisers HD 598 a while ago. Not travel headphones but I have been using them while walking quite frequently. I couldn’t recommend them enough (at least for desk use). Absolutely excellent

sundarj22:07:36

@hmaurer love Sennheiser! have been using these Game One's for a while now

hmaurer22:07:44

@sundarj oh! they look great. Similar earcups to the HD 598 it seems. Very comfy

sundarj22:07:26

@hmaurer absolutely 😀

hmaurer22:07:46

@sundarj to add to the original topic, I think both Programming Clojure and The Joy of Clojure are a nice addition to “Clojure for the Brave and the True”, but I am not sure I would get both (unless you want the different perspectives)

hmaurer22:07:51

they cover fairly similar material

hmaurer22:07:13

I read parts of Programming Clojure as a PDF, and have a paper copy of The Joy of Clojure

sundarj22:07:09

thanks for the tip! think ill go for joy of clojure next, seeing as programming clojure is in beta (ill get it when it's complete if need be)

v3ga21:07:03

@sundarj i'm liking Applied Clojure along with Joy of Clojure

dpsutton21:07:08

i'm reading through @alexmiller 's Programming Clojure. Fantastic chapters, good code examples. I've bought it twice now, one for me, one for intern at our company

sundarj22:07:52

sweet I'll check those out, thanks :)

Chris Bidler22:07:57

Stepping one topic back in the conversation, I'm the CTO of a small startup and I have years of AWS experience and also all three of the "Associate" certifications, and while I try really hard to write code every day, sometimes I have to be content with that code being YAML. Keeping a n-thousand user platform afloat and running happily and resilient to a Cloverfield monster eating us-east-1 is a full-time job for at least one human.

Chris Bidler22:07:11

AWS (or Azure or GCE, I'm sure) is an amazing enabler for proving a concept and demonstrating an idea, but to imagine that all the complexity of running something that can serve users at scale comes along with that first pair of access keys and super-reasonable bill is to do your future self a serious disservice.

Sy Borg22:07:50

"joy of clojure" is well-written. I ditched "for the brave" because of a chaotic explanation and stupid made-up examples.

val_waeselynck09:08:20

@U6G4QKULA such a rude language has no place here - nor does it make for a very credible critique. Let's try and keep a nice and constructive atmosphere here, please. I for one believe that the amount of work that has been put in Brave Clojure on its own deserves more consideration.

Sy Borg10:08:42

let's try and learn to accept other's opinions regardless of how they hurt you, and please get rid of the habit of lecturing strangers who don't ask for it.

val_waeselynck13:08:10

This is not about opinions, this is about manners. You can express your opinions with more respectful choices of words than 'chaotic explanation and stupid made-up examples' - would you imagine yourself saying that to the face of the author who has dedicated hundreds of hours to writing the book? Likewise, this is not about hurting me personally, but the community.

Sy Borg15:08:55

again, stop speaking for community, advocate persons who don't need it, tell people how to express opinions - these are all manners as well.

Sy Borg09:08:48

I forgot about another good one - Clojure in Action, 2nd edition, by Amit Rathore

sundarj09:08:40

@U6G4QKULA thanks! i'll add it to the list 🙂

hoang09:08:15

@U6G4QKULA thanks for the link. @U06GS6P1N I'm with you regarding the way @U6G4QKULA expresses his opinion, I'd prefer a more friendly tone. However, the Code-of-Conduct of this community says nothing against him (sadly). And there seems to be no mod/admin around here.

hmaurer22:07:50

“clojure for the brave and the true” was good imho

Sy Borg09:08:48

I forgot about another good one - Clojure in Action, 2nd edition, by Amit Rathore