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/
anthonyrrubin 2021-04-20T04:03:35.268100Z

Random tidbit: Crash was written in a lisp: https://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/

2👍1
Ben Sless 2021-04-20T06:21:13.268500Z

Signal integrity used to be my favorite subject when I studied electrical engineering. Fun fact - SI problems weren't noticed until electronics got small and fast enough, right around the early 90s. The field still has a lot of heuristics and numerical analysis in it. It earned the nickname "black magic". Attached picture is one of the first books on the subject

2021-04-20T19:23:44.270800Z

is there an good diagramming tool format that's both understood by an intuitive graph editor GUI and easy to parse into a graph in code?

2021-04-20T19:24:10.271200Z

dia and yed look promising, but I'm not finding the resources for my particular use case in either

2021-04-20T19:26:49.271500Z

maybe I can bite the bullet and use yed's graphml

Dimitar Uzunov 2021-04-20T19:48:51.272Z

Graphviz

2021-04-20T19:52:04.273Z

Graphviz is good for generating text by hand, or from a program, to describe a graph with optional node and edge labels, and control a lot about its presentation. I don't recall if there is a good way to turn that into something that you can further easily edit by hand with a GUI program, unless you just want to "paint on top of it"

2021-04-20T19:54:15.273300Z

right, I want a graph I can walk or even edit and re-export

2021-04-20T19:54:44.273900Z

right now I'm messing with clojure.xml and graphml export, it's got some ugliness but looks like it will work

2021-04-20T19:54:58.274200Z

but if there's something simple I'd love to hear about it

2021-04-20T19:55:57.274700Z

concretely, I have a DSL for a design task where using a graph editor would be intuitive and save me a bunch of work

2021-04-20T19:56:11.275Z

so I want to be able to load up a graph from the gui into clojure

2021-04-20T19:59:42.275500Z

I half recall that there might be some output format that Graphviz can produce that can be read and edited in a GUI program, perhaps xfig?

2021-04-20T20:03:54.276300Z

Yeah, if you do dot -Tfig foo.dot > foo.fig, that foo.fig file can be read and edited via xfig. I haven't used this much, but it is possible.

2021-04-20T20:04:42.277300Z

The resulting file is a text file in xfig-specific format, and not designed to be restricted to graph data structures, nor to be able to extract the graph structure from it. It is a visual rectangle/line/text-with-positions kind of file format.

2021-04-20T20:06:17.278400Z

yeah - I figured out how to get vanilla clojure data out of the graphml, and the lowest effort way to get precisely what I need is going to be editing in yed, and loading into clojure via data.xml - thanks

2021-04-20T20:32:37.279300Z

I haven't seen yed before. Looks interesting. Looking at web site I would guess it is commercial product that costs money to buy a license? Not obvious from a couple of mins of browsing their site, to me.

lilactown 2021-04-20T20:52:03.279900Z

how fun/horrible would it be to use a macro that took in an ASCII graph diagram and emitted code

lilactown 2021-04-20T20:52:40.280200Z

(not for your specifically noisesmith just in general)

2021-04-20T20:54:14.280600Z

haha - ascii art image recognition sounds like a fun toy task

2021-04-20T20:54:31.280900Z

the rules are definitely simpler than they would be for photos...

2021-04-20T20:55:04.281200Z

doesn't emacs have something like this in its stdlib?

2021-04-20T20:55:31.281600Z

but I wanted intuitive so that's emacs ruled out 👿

lilactown 2021-04-20T20:58:53.282Z

Emacs has an ASCII diagram editor I've used in org mode yeah

dpsutton 2021-04-20T20:59:11.282300Z

racket has 2d control flow like this

dpsutton 2021-04-20T20:59:45.282500Z

(define (same? a b)
  #2dcond
  ╔═════════════╦═══════════════════════╦═════════════╗
  ║             ║       (pair? a)       ║ (number? a) ║
  ╠═════════════╬═══════════════════════╬═════════════╣
  ║ (pair? b)   ║ (and (same? (car a)   ║     #f      ║
  ║             ║             (car b))  ║             ║
  ║             ║      (same? (cdr a)   ║             ║
  ║             ║             (cdr b))) ║             ║
  ╠═════════════╬═══════════════════════╬═════════════╣
  ║ (number? b) ║          #f           ║   (= a b)   ║
  ╚═════════════╩═══════════════════════╩═════════════╝)

4🤯
dpsutton 2021-04-20T21:00:08.282700Z

https://docs.racket-lang.org/2d/index.html

2021-04-20T21:00:20.282900Z

wow

dpsutton 2021-04-20T21:00:39.283300Z

yeah. can't imagine what it's like to actually use it in real life but it is quite a beautiful proof of concept

lilactown 2021-04-20T21:00:49.283600Z

i love it

dpsutton 2021-04-20T21:04:00.284400Z

I won't flood with more examples but this is quite pretty

(define (subtype? a b)
  #2dmatch
  ╔══════════╦══════════╦═══════╦══════════╗
  ║   a  b   ║ 'Integer ║ 'Real ║ 'Complex ║
  ╠══════════╬══════════╩═══════╩══════════╣
  ║ 'Integer ║             #t              ║
  ╠══════════╬══════════╗                  ║
  ║ 'Real    ║          ║                  ║
  ╠══════════╣          ╚═══════╗          ║
  ║ 'Complex ║        #f        ║          ║
  ╚══════════╩══════════════════╩══════════╝)

1👀1😍
lilactown 2021-04-20T21:04:13.284600Z

I was thinking about this in the context of drawing a literal signal graph when using some reactive dataflow lib

dpsutton 2021-04-20T21:04:51.284900Z

the BNF grammar is something else haha

2021-04-20T21:16:53.285200Z

Catastrophic Failure!

2💥
raspasov 2021-04-20T22:01:33.288Z

What does everybody use for usage analytics in your CLJS + React / ReactNative app? Generally familiar with the standard stuff like Mixpanel, Google Analytics, etc. Generally ok with any good tool: free, paid, open source, closed source, et al. Looking for creative ideas.

2021-04-22T01:57:15.296900Z

mixpanel is ok

1👍