clojure-europe

For people in Europe... or elsewhere... UGT https://indieweb.org/Universal_Greeting_Time
dharrigan 2021-04-28T05:08:17.344Z

Morning!

djm 2021-04-28T06:02:27.344200Z

:waving:

dharrigan 2021-04-28T06:16:21.344400Z

Creative!

mccraigmccraig 2021-04-28T06:18:00.344500Z

maanz

slipset 2021-04-28T06:43:17.344700Z

morgen!

2021-04-28T06:43:35.344800Z

Morning

djm 2021-04-28T06:49:10.344900Z

I'm not the first person to use that in this channel, iirc

anthony-galea 2021-04-28T07:36:07.345200Z

Morning

pez 2021-04-28T10:15:48.345700Z

Good morning!

2021-04-28T10:21:28.346400Z

I've been thinking more about this and now feel guilty every time I write a function that tweaks a map rather than calling update with a function that just works on the value https://clojurians.slack.com/archives/CBJ5CGE0G/p1619255965278400

2021-04-28T10:21:41.346900Z

and also thinking how it relates to clojure.spec

borkdude 2021-04-28T10:22:45.347200Z

what is the difference between tweaking a map and calling update(-in)?

slipset 2021-04-28T10:46:56.352500Z

To me, I guess the difference is what you make top-level

(defn whatever-foo [my-map]
  (update my-map :foo #(...does whatever...)))
vs
(defn whatever [foo]
  ... does whatever...)
I guess it’s in the same vein as https://stuartsierra.com/2015/08/10/clojure-donts-redundant-map

slipset 2021-04-28T10:47:44.353100Z

So the latter fn, can do whatever to a foo regardless of wether the foo resides in a map or not (and under which key the foo might be stored.

2021-04-28T12:57:06.353600Z

@slipset that is what I mean

2021-04-28T12:58:11.355Z

I think my only annoyance is that having a function that works on a map does encode knowledge about the structure in the function and this does matter when I'm working on two fields at once (tho maybe that is the right time for a bit of coupling as it relies on the structure of the map to make sense in the domain)

borkdude 2021-04-28T12:58:26.355300Z

@slipset are you talking us into "data hiding"

2021-04-28T12:58:37.355500Z

I think the opposite

1👍
slipset 2021-04-28T12:59:11.356100Z

Let the foos be free!

borkdude 2021-04-28T12:59:39.356500Z

It was not clear to me whether you preferred the first whatever or the second whatever

slipset 2021-04-28T12:59:51.356700Z

whatever 🙂

borkdude 2021-04-28T13:00:11.356800Z

borkdude 2021-04-28T13:00:30.357300Z

Anyone here got an idea? I could secretly put this dynvar into clojure.core but that would be evil.

borkdude 2021-04-28T13:02:32.358100Z

It would be very useful if clojure had something like a proxy-var, which just proxied everything to another var. This would also solve the potemkin/import-vars stuff.

2021-04-28T13:36:20.358400Z

I was going to say, isn't that what potemkin is doing

pez 2021-04-28T17:54:30.359400Z

A bit of a train crash with my presentation. But I’ll use it for learnings.

2021-04-28T17:56:08.359800Z

sounds like victory to me. 🙂 congrats!

1❤️
pez 2021-04-28T18:19:15.361800Z

It was partly a miss-communication, I now realize. I thought I had been given more time than I had. So learning there is to double check this several times.

borkdude 2021-04-28T18:27:39.362Z

how much time did you actually get?

pez 2021-04-28T18:40:21.367Z

Not sure actually, will check the recording, but when we planned it there was only two speakers. I thought the time of the event was extended, but apparently we were supposed to shorten down… All that said though. I had underestimated how much I like to talk about Clojure, so I was also going a bit longer on that part than I had plan. In combination: Not good.

ordnungswidrig 2021-04-28T18:44:22.367100Z

I've been there. Although by today I'm still convinced that they accidently cut me short on my very first presentation. Midway through i got that sign "5min" and I was speeding up like nothing. It was a little crazy.

ordnungswidrig 2021-04-28T18:45:07.367300Z

@pez is the talk available somewhere?

borkdude 2021-04-28T18:45:08.367400Z

Better luck next time @pez

borkdude 2021-04-28T18:45:34.368Z

Tomorrow I'll do a presentation for a company for their in-house monthly developer meetup, first time I'm doing something like that

pez 2021-04-28T19:45:17.373900Z

@ordnungswidrig it will be made available. Not sure when. What you mention is exactly what happened today. He (the host) apologized deeply for this afterwards. It's new for him as well, so we both learned valuable things today. I'll keep at it. It was fun after all. Even though the live coding ended in a stupid crash of the app and I was too stressed out to see where I had errored.

slipset 2021-04-28T20:00:02.374800Z

My very first talk was a Clojure talk and I had live coding in it. I believe it went well, although it’s not recorded, so I don’t know. @ikitommi does 🙂

slipset 2021-04-28T20:01:38.376700Z

Then I did a talk with live coding that did not go well at all, and I basically stopped trying to live code after that. Just too much which can go wrong, and personally, I’m unsure about how valuable it is for people to see me evaluate forms which I’ve typed up already. I guess that to demonstrate “hot code reloading” to non believers, it’s worth it.

borkdude 2021-04-28T20:11:46.377600Z

For some reason I'm more comfortable with live coding in an online talk than on stage. I try to avoid it on stage, but online it feels more natural since I'm at my own desk... or something...

borkdude 2021-04-28T20:13:50.378200Z

Also depends on the length of the talk. When I'm really time constrained (a 20 minute talk) I avoid it

pez 2021-04-28T20:42:59.379300Z

Yeah, definitely easier online. This was digital, but much more on stage than what you probably refer to as online.

pez 2021-04-28T20:45:41.381500Z

I’d say it was worth it even though I ended up in a crash. And I will probably do it again. There was other factors involved today that threw me off balance so I couldn’t fix my stupid error because my brain totally shut down.

borkdude 2021-04-28T20:50:07.382600Z

FWIW, I have given a few presentations that I thought went like shit, but years later someone came to me and told me he is doing Clojure professionally because he started trying it because of those talks (I remember one at a school and one at a non-Clojure IRL meetup).

borkdude 2021-04-28T20:51:19.383600Z

So even if you think it was a failure, someone else might feel inspired by it. :)

pez 2021-04-28T20:51:33.384Z

That is worth a lot, FYI. ❤️

1👍1
pez 2021-04-28T20:55:22.387600Z

I got some super nice comments in the live chat and also in another channel on this Slack. So, yeah, it was probably not all shit. I will need to work hard with figuring out how to stay within my time checkpoints. I get carried away speaking about Clojure, it is a much bigger deal for me than I had realised.

1😎