Fork me on GitHub
#clojure-uk
<
2020-04-01
>
dharrigan06:04:22

Good Morning!

dominicm06:04:33

@dharrigan lie in this morning?

😂 4
guy09:04:32

Morning!

zyxmn10:04:15

Good morning

Gulli11:04:06

!gninroM

😁 4
thomas12:04:32

So I had a quick look at this article this morning: https://blog.yoshuawuyts.com/state-machines/

thomas12:04:58

and this particular line made me think The P programming language has state machines as a first-class construct in the language

dominicm12:04:25

Woah, interesting idea

thomas12:04:45

I know we can make statemachines in Clojure. But what about making them more first-class? Would it be possible to write a function/macro that you could use to check your statemachine, veryfy it, make pictures of it using graphviz and what not else.

thomas12:04:00

you can encode statemachines in maps... (and I think there are already some tools for this) , but surely there must be things where then can even be made better and perform checks at compile time? (hence the macro idea)

thomas12:04:06

thinking out loud here.

rickmoynihan12:04:58

This library does a bunch of those checks (all transitions must exist, all states should be reachable etc)… and supports graph-viz — not sure what else you had in mind that it doesn’t do

thomas12:04:01

that might well be it....

folcon12:04:26

I’ve always felt that using statemachines/harel statecharts was a bit clunky? I know some people have used it to great effect, (Kevin Lynagh’s stuff comes to mind eg: https://kevinlynagh.com/notes/2017-10-11-statechart-update/) But considering how useful they are, the setup required seems rather more difficult than I’d like?

thomas12:04:57

Fulcro has some nice statemachine stuff included. very useful as webpages quite often are statemachines in a clever disguise.

rhinocratic13:04:29

I found them really useful for end-to-end testing - creating "bots" to automate repetitive actions (e.g. logging in) using Selenium.

thomas13:04:05

I have used causatum for that. that uses an FSM as input as well.

👍 4
rhinocratic13:04:01

Hadn't come across that before. My implementation was in the form of a DSL & Groovy extension to Spock, the company's test driver of choice.

thomas13:04:23

I use Causatum for my MQTT testing. very easy to generate tons of messages.

rhinocratic13:04:49

Interesting - what are your devices monitoring? Only a tinkerer with IoT stuff - just playing around with LoRa nodes + Raspberry Pi gateway of late!

thomas14:04:06

I am not monitoring anything... I just build my own MQTT broker for the fun of it.

😁 4
thomas14:04:12

(and client for testing)

thomas14:04:28

and I used spec and causatum for testing purposes

folcon13:04:07

How is Fulcro to use in your experience? I keep thinking it’s worth a good look, but I can never seem to find the time =)…

thomas13:04:36

I have found Fulcro quite difficult, but that is mostly due to me not grokking it. My team uses it and is very happy with it.

thomas13:04:41

It is really clever in solving some really hard problems and in combination with Pathom it is really a kitchen-sink-included framework for front end work and it can also do server side rendering if needed.

folcon14:04:39

Hmm, I really need to find the time to dig into it then =)… What things do you/(or they) think it solves well, and what do you feel could be better?

thomas14:04:27

The problem it ultimately solves is that if you have a big app and you get lots of data from the server(s) then you are bound to end up with duplication in your state.

thomas14:04:52

list of customers for instance... but also a list of all the customer details

thomas14:04:26

by normalising the DB fulcro solves that problem as far as I can tell.

thomas14:04:03

but it does that in a way I don't quite grok

thomas14:04:22

but have a look at the docs and there is also a good set of videos on youtube

folcon22:04:44

Hmm, that sounds useful…

folcon14:04:56

Ok, fulcro is really moved along from when I last looked at it…

folcon12:04:40

@U052852ES, thanks for mentioning fulcro, it’s really looking like spending weekend taking it for a spin is worth the time =)…

thomas13:04:29

glad to hear that!

thomas13:04:38

and I hope it makes a bit more sense now

4
Joe13:04:26

Not sure if this is a thing: is anyone aware of 1 to 1 coaching services for Clojure and application architecture in the UK? Someone who can spend a few hours a week doing collaborative code reviews, advise on programs you're writing etc.? Most resources seem (understandably) to be focused on training teams in office settings on a one time course, but I'm looking more for an ongoing coach / adviser, like you would get for learning the Piano or chess or something.

thomas13:04:31

@allaboutthatmace1789 have a look at the stuff Eric Normand provides, that is, I suspect, the closest thing

rhinocratic13:04:04

http://exercism.io offers mentoring, but it's probably a bit more limited than what you envisage, @allaboutthatmace1789

Joe13:04:24

I'm a big fan of Eric's stuff, but his training seems to be more focused on workshops for teams.

3Jane14:04:07

There are some Clojure people listed on https://www.codementor.io/

folcon14:04:38

Yea, I think that sort of thing is a bit hit and miss =)… How experienced are you @allaboutthatmace1789? Happy to chat about stuff if I can help ;)…

Joe14:04:46

@lady3janepl Thanks, that definitely looks worth trying out! @folcon I would say I'm a beginner who has the basics down. I have a project I'm working on, trying to integrate the stuff I'm reading about DDD into a decently designed program. If you have time and inclination, chatting through design docs and code base would be great!

alexdavis15:04:49

Hi @allaboutthatmace1789, I work for https://juxt.pro and we’ve ran some training courses for teams in the past but I think ongoing one on one remote paring sessions sounds like something we could setup. Maybe we could arrange a call and have a chat about your ideas on it? Feel free to send me a message on here if you’re interested

folcon15:04:59

@alex395, I think something like that for individuals would be in demand anyway, I know I’d be interested =)…

folcon15:04:37

@allaboutthatmace1789 Happy to look stuff over, I don’t have any time this week, but early next?