off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
emccue 2021-05-28T00:11:09.182800Z

killing off the young generation first

😲 3
emccue 2021-05-28T00:11:34.183200Z

but eventually circling back to the older ones

walterl 2021-05-28T00:22:13.183500Z

@rob370 My train of thought took me from that screenshot of yours β†’ "can we do that with the braces/brackets taking up less horizontal space?" β†’ "lines will still need to be easily differentiable" β†’ "different line styles?" β†’ "different colors" β†’ "levels!" 😝

walterl 2021-05-28T00:22:20.183700Z

It's a really interesting idea, though πŸ‘

2021-05-28T00:24:27.183900Z

@clojurians-slack100 I was thinking about different line styles too! Maybe squigglies for curly brackets, long curves for parens, and square squiggles for brackets. What do you mean by levels?

Jan K 2021-05-28T00:39:27.184600Z

Printing the deepest stack trace the world has ever seen

☝️ 3
walterl 2021-05-28T00:45:13.184700Z

Sorry, meant "rainbow levels" (the link I shared above)

phronmophobic 2021-05-28T01:31:07.186300Z

2021-05-28T03:29:06.186500Z

@smith.adriane what are we seeing here? That looks cool

sova-soars-the-sora 2021-05-28T05:04:55.186900Z

:rolling_on_the_floor_laughing:

Thomas Moerman 2021-05-28T05:19:58.187Z

It would be a poet. A verbose poet.

km 2021-05-28T10:51:54.187500Z

I think this is the channel for me, haha.. so much ranting

km 2021-05-28T10:54:34.188500Z

personally I can't stand docker, it's such a sprawl of equivocal methods and cryptic docs

km 2021-05-28T10:56:21.189700Z

I don't suppose anyone has experience with simple CI/CD for luminus/docker-compose/gitlab/digitalocean?

simongray 2021-05-28T14:21:03.191900Z

I agree that the Docker docs are pretty terrible, but Docker is quite a useful tool for projects large and small.

marrs 2021-05-28T14:27:49.194800Z

@kimo not really, but I'm trying to limit myself only to Docker commands for my current project, and Makefiles for CI. If those aren't powerful enough for you, you might want to check out Salt Stack. It's docs are also pretty terrible but the examples reveal that it actually has quite a simple paradigm. Unfortunately it suffers from the same esoteric naming convention that all those tools suffer from.

marrs 2021-05-28T14:31:06.195Z

Here's my current script for initialising a db:

var path = require('path');
var sh = require('shelljs');

var dataDir = path.resolve(__dirname, '../data/pg');


var settings = [
  "-e POSTGRES_HOST_AUTH_METHOD=trust"      // Trust all connections (local dev only)
, "-p 3201:5432"
, "-v ${dataDir}:/var/lib/postgresql/data"
]

sh.exec(`docker run --name pg ${settings.join(' ')} -d postgres:11-alpine`)

tvaughan 2021-05-28T16:04:04.196800Z

> I'm trying to limit myself only to Docker commands for my current project, and Makefiles for CI I'm so thankful this is becoming a trend. (Although I think using podman and avoiding the client/server model of docker is better.)

tvaughan 2021-05-28T16:08:46.200Z

This https://gitlab.com/tvaughan/docker-flask-starterkit is a project I created a number of years ago that was a port of a proprietary project I developed in Clojure (although it's language agnostic). It follows this approach, as well as includes everything required to provision a complete environment in aws and run tests in a nearly identical setup locally (traefik is used in-place of an ELB, for example)

futuro 2021-05-28T16:35:06.201800Z

I don't use Dockerfiles to build the project resources, instead using normal build tools to do that in our CI/CD pipeline, then having the Dockerfile copy the built artifacts into the image. That way we've got a reproducible artifact that's easy to deploy to ECS/wherever.

futuro 2021-05-28T16:35:21.202200Z

I find doing as little as possible in Docker is best.

km 2021-05-28T18:13:43.202700Z

Exactly, that's why I can't leave docker behind. So abusive!

km 2021-05-28T18:19:45.203800Z

@futuro @tvaughan @d.marrs @simongray Thanks for the tips, I'll go over these. Rich should do a new "Spec-ulation" about CI/CD, haha.

πŸ‘ 1
indy 2021-05-28T21:29:15.208200Z

A question for the JS experts, is it possible to pass the JS AST directly to the JS engine and skip the parsing step? Do the JS engines expose such an API? (couldn't gather much from their docs)

souenzzo 2021-05-30T15:45:54.217700Z

Hey @kslvsunil, in a context of clojurescript, you can thin about "clojure -> GCC IR" https://github.com/google/closure-compiler/wiki/Writing-Compiler-Pass Google Closure Compiler has an internal AST in pratice, it's just another wired, internal, and unstable js AST, so you may run into breaking changes between GCC releases

1
indy 2021-05-28T21:33:46.208300Z

Asking because, if that was possible, why not just parse CLJS to the JS AST and send it to the browser?

indy 2021-05-28T21:34:50.208500Z

(could be really rookie thinking)

ghadi 2021-05-28T21:36:08.208700Z

wasm is pretty close to downloadable AST

seancorfield 2021-05-28T21:37:05.208900Z

I would expect each JS engine to have its own somewhat unique AST (but I haven’t looked at the source of any of them). But, yeah, WASM would probably make more sense as a target if you’re trying to avoid transpilation to JS.

indy 2021-05-28T21:44:55.209100Z

But if CLJS had to be compiled to wasm, then all the memory management semantics will have to be taken care of

indy 2021-05-28T21:46:50.209400Z

I was wondering if it could understand an AST like https://github.com/acornjs/acorn, then it would be viable to emit such an AST from the CLJS source and let the JS engines take care of the mem management

indy 2021-05-28T21:47:17.209800Z

https://astexplorer.net/

indy 2021-05-28T22:13:04.210400Z

https://groups.google.com/g/v8-users/c/_WracRX9BTQ/m/vON21HDOshEJ 😞

🀦 1
seancorfield 2021-05-28T22:27:48.210700Z

That’s about what I expected πŸ™‚