Fork me on GitHub
#clojure-uk
<
2020-05-18
>
dharrigan04:05:31

Good Morning!

seancorfield05:05:39

How was your weekend @dharrigan?

dharrigan05:05:52

It was okay thanks! With the easing of restrictions here in the UK - we actually went out for a small pinic yesterday!

dharrigan05:05:39

It was good to get out of the house (further than the local park) and let the kid run around a bit - and take some nice photos - we took our DSLR which I've been using as my webcam. You get far better pictures even with the recent tech on mobile phones

dharrigan05:05:58

(you know mobile phones don't you...I think you call them cell phones now..... 😛 )

dharrigan05:05:09

How was your weekend?

seancorfield05:05:24

We ate a lot 🙂 We got takeout from a wonderful southern/soul food restaurant on Friday, then a mountain of Indian food on Saturday -- and we also binge-watched The Clone Wars and finished season 7. After a short break we've switched to Star Trek and we started TNG from s1 ep1 🙂

seancorfield05:05:21

I think it's bed time now, so ep6 will wait for tomorrow.

dharrigan05:05:43

TNG - a good series, although I think it doesn't age that well.

dharrigan05:05:03

Sleep well! Speak tomorrow! 🙂

seancorfield05:05:10

It ages a lot better than TOS

seancorfield05:05:31

The missus is off to bed. I still have a beer to drink.

seancorfield05:05:50

Another weekend over and I didn't get around to making a new Clojure video 😞

dharrigan05:05:51

I see they have green-lit another new star trek series

seancorfield05:05:11

Picard season 2?

dharrigan05:05:26

No, let me get you the details

seancorfield05:05:38

Discovery season 3? 🙂

seancorfield05:05:53

(both of those are confirmed, I believe)

dharrigan05:05:04

a Pike + Spock spin off

dharrigan05:05:44

I haven't done much clojure past week or two atm. I've been put onto another project that needs some help (kotlin)

seancorfield05:05:21

(glad we have a CBS All Access subscription at this point!)

seancorfield05:05:50

I sort of promised last week I'd do a new YouTube "episode" but I'm struggling to find the time

dharrigan05:05:16

What would it be on?

dharrigan05:05:40

I'm looking forward to Discovery season 3 - although I did find season 2 a bit of a drag

seancorfield05:05:44

I want to show the usermanager-example repo running with Atom/Chlorin/REBL and show how you can modify the app while it's running, and display webpages in REBL.... nothing special.

dharrigan05:05:12

that would be a good video!

seancorfield05:05:20

The one I really want to do is around add-lib and building a small web app from scratch in a running REPL without restarts.

dharrigan05:05:51

One day it'll get into base deps...

seancorfield05:05:54

Part of me feels like I should just run OBS and Twitch and live-stream how I work day-to-day 😐

seancorfield05:05:30

I'm just a bit nervous of showing some proprietary stuff

dharrigan05:05:56

OBS is a great bit of kit

dharrigan05:05:18

I saw yesterday that there now is a virtualcam for mac, so it stream to google meet/zoom

dharrigan05:05:41

I use camera live + camtwist atm, but will explore obs with virtual cam sometime today

dharrigan05:05:02

(I only use the mac for doing media stuff - my main machine is all linux)

seancorfield05:05:16

TBH, the whole video thing is pretty alien to me. When I got started, we had IRC and Usenet and everything was slow and just text.

seancorfield05:05:31

There weren't even that many books to read 🙂

dharrigan05:05:33

I'm part of that crowd too

dharrigan05:05:41

irc, usenet and mailing lists

seancorfield05:05:52

(I'd been doing C++ for some time before the Gang of Four book appeared, for example)

dharrigan05:05:52

and altavista

seancorfield05:05:08

I bet you used Eudora for mail? 🙂

dharrigan05:05:29

and winsock on windows

seancorfield05:05:41

The Internet was a lot smaller back then...

dharrigan05:05:51

and friendlier

seancorfield05:05:58

Aye, that too.

dharrigan05:05:22

I remember walking into my local university (who managed DNS records) and asking for some domain names.

dharrigan05:05:27

Bingo, had them there and then.

dharrigan05:05:39

Spoke directly to the DNS maintainer guy.

seancorfield05:05:50

I was a fairly early user of Demon. Cheap dial-up and your own subdomain.

seancorfield05:05:00

Not sure if any of that is preserved on http://archive.org... Ah, the early days of being online...

dharrigan05:05:19

I have a reference to me on wired going back decades

dharrigan05:05:11

....nd, if that's not enough, David Andrew Harrigan (<mailto:[email protected]|[email protected]>) of the University of Manchester Institute of Science and Technology in England has set up a Cthugha Web site featuring information about the latest version of Cthugha

dharrigan05:05:51

good times...good times

seancorfield05:05:36

https://web.archive.org/web/19961228121411/http://www.ocsltd.com/ is about the earliest reference I can find to my consulting website.

dharrigan05:05:53

websites back then

dharrigan05:05:56

so basic 🙂

dharrigan05:05:04

and quick, and not 10MB of javascript to download

dharrigan05:05:23

Who's that? 🙂

seancorfield05:05:58

Yeah, a cautionary tale that whatever you put online is there forever...

seancorfield05:05:41

...when I worked at Macromedia (in the 2000's), every year my boss would do my performance appraisal, and at the end of it she'd always say "Oh, yeah, HR asked if you would take those body piercing pictures off your website" (because http://macromedia.com linked to my personal website) and every year I'd say "no!"... even a decade after my personal site was created...

dharrigan05:05:23

You did right!

dharrigan05:05:51

Do you still snowboard?

dharrigan05:05:53

I love snowboarding

seancorfield05:05:08

I haven't since I moved to America, sad to say.

seancorfield05:05:38

I loved it for years...

dharrigan05:05:06

The best place I've snowboarded was in Hokkaido

dharrigan05:05:27

deep deep powdery snow, lots of fresh tracks, even late into the afternoon/evening

dharrigan05:05:31

amazing experience.

seancorfield05:05:00

I used to go with the BSA (British Snowboard Association) to various places in France. Almost 200 of us. We'd pretty much take over a resort... it was wild...

dharrigan05:05:38

Yeah! party party! 🙂

dharrigan05:05:55

I qualified as a BASI instructor with wild dreams of doing it full time

dharrigan05:05:06

until the realities of how much instructors earn hit home

dharrigan05:05:16

ah well 🙂

seancorfield05:05:44

Yeah, a ski/snowboard bum sounds like a great life apart from the actual money aspect.

seancorfield05:05:29

I'm still in touch with a few of that old crowd on Facebook. Some of them are still tearing it up, even in their forties and fifties.

dharrigan06:05:22

I still have a dream to do snowboarding/programming....slow steps

dharrigan06:05:34

I too want to be bombing down those blacks into my fifties 🙂

seancorfield06:05:12

Once I moved to California, there was just so much else to do... even tho' snow is only a "few" hours drive from me...

dharrigan06:05:12

I've only been to california once, and that was at santa monica, LA then san francisco

dharrigan06:05:16

I liked Santa Monica

seancorfield06:05:45

They say if you're bored in the Bay Area, you're bored of life.

dharrigan06:05:46

isn't there a similar expression about London?

dharrigan06:05:57

and I'm done with London, I can tell you that.

seancorfield06:05:03

My wife lived in Santa Monica for several years, on a houseboat, while she did her masters in international business (at Pepperdine). She used to drive up to the Bay Area every weekend to get away from LA.

dharrigan06:05:42

My recall of Santa Monica is fantastic weather, great beach, wonderful cafes with amazing food (sooooo much)

seancorfield06:05:01

That describes most of California! 🙂

seancorfield06:05:09

OK. Beer's all gone. Time for zzz.

dharrigan06:05:26

night night!

Jakob Durstberger06:05:33

Good morning 👋

Edward Hughes06:05:02

Morning folks.

dominicm07:05:59

Corona sleeping in has set in

dharrigan07:05:46

I have a lovely(!) alarm clock known as 3-year-old-waking-up-at-5-am. Its siren call is "Daadddddyyyyyy. I need to peeeee peeeeeeeee"

Ben Hammond07:05:38

haha mine doesn't ask

Ben Hammond07:05:48

she just quietly does it in the bed

dharrigan07:05:10

A lovely little present for daddy in the morning...

dharrigan07:05:14

A "Good Morning" of sorts

Ben Hammond07:05:10

we did have a couple of dry nights last week...

Ben Hammond07:05:18

is everybody well?

Ben Hammond07:05:32

I guess this is a self-selecting sample

Jakob Durstberger07:05:58

Ah kids, can’t wait to have some of my own 😄 Yeah doing well considering the circumstances. I am looking forward to it being > 20c How about you Ben?

dharrigan07:05:46

We use normal underware pants during the day, and a nappy at night. We're keeping a tally of the number of nights he wakes up with a dry nappy. Once it reaches maybe 7 nights in a row, we'll try normal pants overnight too. So far, max has been 4 nights in a row 🙂

jasonbell08:05:38

<< 3-year-old-waking-up-at-5-am >> @dharrigan They grow up…. last night I had a beautiful Dad/Daughter experience. Dad: “Hey you okay, [teen]?“, The Teen: “Yeah dad, I stole your last beer, hope you’re okay with that”, Dad: “………yeah.” 🙂

dharrigan08:05:06

ha! something to look forward to!

Ben Hammond08:05:46

I love that they had a bit of fun with this headline https://twitter.com/thecourieruk/status/1262297006862594048

Edward Hughes09:05:34

Anyone else had Atom suddenly stop bringing up the prompt for connecting to a REPL when invoking the command? I figure it was an Ink version mismatch but I'm not sure and I'm not getting any error prompts.

rhinocratic09:05:49

With Chlorine? Yes, I've had that.

Edward Hughes10:05:18

@U0HJFE43U With Chlorine yeah. What did you do to remedy it?

rhinocratic15:05:19

I haven't found a remedy yet - I've just been pressing Ctrl-Shift P and typing the first few characters of "Chlorine: Connect Socket REPL", then selecting the menu item.

maleghast11:05:33

Hello All…

maleghast11:05:19

Quick straw poll, no Googling - who here has heard of Barbara Liskov?

28
😕 4
mccraigmccraig12:05:53

nope, the name seemed familiar, but i couldn't put any detail to it without google's help

maleghast12:05:20

Glad it’s not just me, though having found out about her I am experiencing some white-male guilt 😞

joetague12:05:48

There’s a hint of memory about Liskov substitution principle, the L in SOLID

maleghast12:05:13

Yeah, that’s part of her legacy, but there’s something that I think is bigger, that I only discovered today after 20+ years of programming, that blew my mind…

rickmoynihan13:05:14

Curious which of her many contributions is the one that blew your mind…

maleghast12:05:48

I am having one of those “how did I NOT know?” moments quickly followed by “Ah yes, Patriarchy 😞

rickmoynihan13:05:51

In fairness to the patriarchy, they did at least grant her a Turing Award! Though I must admit I’m shocked at how few have one; I was expecting the count to be a little higher than 2!!! I mean not even Grace Hopper!?! Very, very poor.

maleghast12:05:43

(admittedly that’s Patriarchy’s affect on me, leading me to not seek out information about women in the history of computer science, not directly hiding information from me like a moustache twirling baddie)

alexlynham12:05:55

only aware of her cos of liskov substitution yep

thomas12:05:40

I only heard of her about 2 months ago. so not that much better

dharrigan13:05:54

Barbara Liskov

maleghast15:05:24

OK, good, it’s really not just me…

maleghast15:05:32

I will be publishing a blogpost about the guilt-shock of finding out that she essentially invented the concept of abstract data structures and code modularisation, effectively paving the way for Object Orientated Programming.

maleghast16:05:58

Blew my mind that I had literally never heard her name, but I’ve heard a lot of other names, like Dijkstra, Cooley, Flowers, Furber, Hoare etc

dominicm16:05:16

Her Doctoral Advisor was John McCarthy :o

dominicm16:05:35

https://en.wikipedia.org/wiki/CLU_(programming_language) clicking through to CLU is the kicker from her wikipedia page. CLU introduced some of these concepts. It was created by Liskov & students.

dominicm16:05:52

And yes, it is named after Tron (first thing I checked!)

dominicm16:05:23

CLU didn't see much use, which probably contributes to not hearing about this more.

maleghast16:05:43

Yeah, I know! But I only found out TODAY! I’ve been a programmer for over 20 years and working as one for 20 years and I had never heard of her. Blows my mind!

dominicm16:05:43

Me too :) You showed me. I'm not sure I'd attribute code modularisation to her though. That seems better attributed to Larry Constantine who came a decade prior to CLU - he invented the terms coupling and cohesion.

maleghast16:05:49

From what I understand it, she was the first person to create practical implementations of reusable modules, before her work and CLU the closest you could get was a subroutine

maleghast16:05:51

but I imagine that all of these things are hotly debated in terms of attribution, and I am not going to pretend that I have the relevant background / reading / knowledge ’cos I don’t 😉

maleghast16:05:08

i.e. you may well be right about Constantine 😉

maleghast16:05:47

Either way she has definitely made a significant contribution to the way that people think about software development, and I can’t help thnking that her name not being widely known does not help with the reinforcement of software development being a male pursuit / world.

maleghast16:05:57

It sounds simplistic, but Ada Lovelace is not enough, women need a cadre of role models to make it seem like a place women ought to be, as well as a workplace / industry and male colleagues that make them feel welcome, of course.

👍 4
maleghast16:05:05

Still, if I can tell ten people about her today then hopefully some of them will tell 5-10 people about her tomorrow and on and on…

maleghast16:05:10

(I know it’s a bit soon, but I want my daughter to have many many positive role models and for gender to be far less of an issue in just ten short years’ time when she is 19)

maleghast16:05:35

(I may have been thinking about this a bit…)

dominicm16:05:46

This will sound worse than it is - Ada Lovelace is not a great masthead. That's not to detract from her contribution in any way. But having someone from 200 years ago, which predates computers significantly, detracts in many ways from the message of her contribution. I usually point at Grace Hopper. It's a great time to mention the origin of the term "bug".

maleghast16:05:56

I agree, Ada Lovelace is far from an ideal standard bearer in lots of ways, but she does have a mystique and a “first” quality that has made her stick - just think of Ada’s List, for example - they like her just fine as their firebrand.

maleghast16:05:09

I like Grace Hopper, she’s a fantastic example

maleghast16:05:51

Ketherine Johnson as well.

dominicm16:05:28

I don't know that name :) Googling

dominicm16:05:00

Oh, the lady from Hidden Figures.

maleghast16:05:18

Margaret Hamilton is another one that I think makes for an excellent example of a great computing pioneer

dharrigan16:05:37

Grace however, wasn't the originator of the term "bug"

dharrigan16:05:45

It predates her quite a bit.

dominicm16:05:03

Oh really. I thought she found the moth in the computer...

maleghast16:05:06

So I gather, I knew who she was (COBOL) but I didn’t know about the moth anecdote until today

dominicm16:05:09

Have I been told a lie!

dharrigan16:05:20

She didn't find it, which she acknowledges in her account of the story

dominicm16:05:45

I've never seen that.

dharrigan16:05:49

She kept the bug in her notebook and that caught on, but finding it was by others

maleghast16:05:59

Not really, from what I can tell it’s a true story, but she did not personally find the moth and the term “bug” had been widely used for some time before the incident

dharrigan16:05:09

> Hopper did not find the bug, as she readily acknowledged. The date in the log book was September 9, 1947.[11][12][13] The operators who found it, including William "Bill" Burke, later of the Naval Weapons Laboratory, Dahlgren, Virginia,[14] were familiar with the engineering term and amusedly kept the insect with the notation "First actual case of bug being found." Hopper loved to recount the story.[15] This log book, complete with attached moth, is part of the collection of the Smithsonian National Museum of American History.[12]

dharrigan16:05:18

that's a c&p from wikipedia.

dominicm16:05:30

Yeah, just reading that. That's a shame.

dominicm16:05:55

I much preferred the version of history with the moth vs the bugaboo

dharrigan16:05:08

but, it's still a great thing to reference. I too actively support including more under-represented groups in programming 🙂

dominicm16:05:30

Yeah, still a great story.

dharrigan16:05:48

I'm a little ashamed that in the company I work for, there are zero female progammers.

maleghast16:05:10

I hear you @dharrigan - we have two, but one’s an intern and none in Platform

maleghast16:05:21

But then, when I was on the organising committee for Clojure eXchange 2018 we had less than 5% female identified / identifying attendance to the conference.

maleghast16:05:56

By which I mean to say if there were loads of women who were Clojure developers there would be more women working in my team, likely as not…

maleghast16:05:49

Less than 10% of the World’s programmers are women, I am told… (can’t remember where the stat is from, but it rings true if I run my work experiences through it like a filter)

maleghast16:05:31

And yet, I would absolutely state that some of the absolute best programmers I have ever worked with have been women.

maleghast16:05:01

Two, in particular, make my immediate “would hire” list, if only they would do me the courtesy of not already having awesome jobs and no need of help from me or indeed anyone on that score…

maleghast16:05:46

I hear that the javaScript world is a little less of a sausage party, but so many areas of our business really still are… 😞

maleghast16:05:08

Honestly it’s structural, we need to find ways to encourage women to train and enter the talent pool and then we need to create an environment where they want to stay. Sounds easy, but as someone who has been doing a fair bit of hiring and is going to do more (soonish I hope) it’s actually pretty depressing.

dominicm17:05:50

Things like microbit & rasbpi are pretty encouraging

folcon17:05:14

I hope things like clojurebridge help? Beyond that I’m not certain what to do other than go to places and encourage women + other underrepresented populations from trying. Are there good paths that can be pointed to? Anecdotally I’ve been seeing a number of women live streaming their coding which is really cool =)… I hope those sorts of things increase visibility that this is a good path?

rhinocratic18:05:56

I have seldom worked anywhere where there were more than a couple of female devs. The places that have created the best balance tended to be academic institutions - with the honourable exception of Sainsbury's, the only place where I've been part of a team that was more than 50% female.

rhinocratic18:05:04

Some companies do create an inclusive enclave, but the toxicity of the wider geek culture must have an overwhelming discouraging effect, and the pay gap remains. It's particularly shameful since women used to form the majority of programmers from the end of WW2 to the early 60s - curiously, about the time that it started to become a lucrative career choice.

rhinocratic18:05:18

Co-op Digital is very good on this - I think they have a policy of hiring at least 50% women. Probably @alex.lynham could confirm!

folcon19:05:12

Anyone looked at aws lambda dev recently? Is this the best starting point now? https://github.com/uswitch/lambada

alexlynham20:05:18

Better to use cljs cos of cold start penalties

alexlynham20:05:54

I would probably just roll my own with shadow cljs and interact directly with a js lib like serverless tbh

alexlynham20:05:45

The tooling in js and typescript land 💩 s on cljs and js so just get close to that and use it. The interop story is p good these days too thx to shadow

folcon20:05:09

Right, thanks 😃

alexlynham09:05:33

np! been meaning to rewrite my serverless workshop using shadow and direct node interop but haven't had the kreplits

alexlynham09:05:06

currently on a greenfield typescript/serverless project (couldn't swing cljs) and typescript is taking up my brainpower lol

alexlynham14:05:42

debugging lambdas is easy - as long as you're deploying your changes to dev/staging often

alexlynham14:05:01

then just catch stuff in cloudwatch and use that to debug

alexlynham14:05:06

most of the natural advantages of clj(s) don't apply as much in serverless world purely cos you're effectively working with loads of teeny tiny microservices, so using the repl and debugging that way etc isn't really as effective as running the real thing on staging and poking it

folcon15:05:37

Hmm, is there any docs/examples around talking to pg with core.async that you know about? I’m using the gist that I linked to and I have no idea what I’m getting back atm, other than some js object of one kind or another… Just trying to connect to a local db for testing and it’s just like talking into the void… Ok, starting to get somewhere =)… But yea, any resources you could suggest would be golden ;)…

folcon23:05:57

Ended up using the uswitch lib, trying to get a proper handle on js promises on top of everything else is a bit too many things who’s pieces I don’t quite know how to use in clojurescript…

alexlynham09:05:24

in cljs I just use the funcool stuff

alexlynham09:05:55

but yeah pervasively async is a massive PITA

alexlynham09:05:03

works more nicely in typescript imo

alexlynham09:05:21

clj is better story for async but you get bulky slow lambdas

alexlynham09:05:41

tho probs you don't need to use async so much in that case anyways

alexlynham09:05:51

although jdbc next is async I think?

folcon10:05:40

Yea, it’s just having to work out where promise reject is happening or working is a massive PITA, having an example project which just touches on something slightly non trivial would be excellent: here’s how to connect to a db in cljs in lambda without the sky falling etc =)…

folcon10:05:08

I’m just not clear how to structure my application in that way…

alexlynham12:05:40

yeah so you end up with every function returning promises basically

alexlynham12:05:17

with functions that can return data then unit tested & wrapped by promises where necessary

alexlynham12:05:27

anything side effecting (e.g. db calls) is usually a promise

alexlynham12:05:09

& then all the handler does is (d.chain promise1 promise2 ...) assuming the promises have all been called in e.g. a let block

alexlynham12:05:19

this is not how I'd do it now - old old code that I wrote to try making something in cljs but https://github.com/envoylabs/envoys-backend/blob/master/src/envoys_backend/core.cljs#L103

alexlynham12:05:31

a lot of this also depends what your usecase is

alexlynham12:05:49

serverless is great if you want to stitch together complex stuff in aws

alexlynham12:05:05

for a smaller, simpler site, you may be better off with a clj backend and heroku 😄

folcon14:05:58

Yea, it’s more trying to have a single endpoint that does 3 or 4 things at most =)… It needs to talk to a db, but generally it’s just trying to do some compute when asked.

folcon14:05:45

I’ll have to give that a look later though, thanks!