reveal

Docs: https://vlaaad.github.io/reveal/ Source: https://github.com/vlaaad/reveal
Stefan 2020-12-07T09:10:29.310400Z

From this day on, Reveal is part of my standard development flow. AWESOME!!!! 🎉 Thanks so much @vlaaad!

🦜 1
vlaaad 2020-12-07T10:36:50.310600Z

I’m glad you like it! Very curious to know how you use Reveal — do you use it mostly as a repl output with tap> and occasional eval-on-selection? Or maybe you also use built-in visualisations and tools to build ad-hoc UI? Or what?

Stefan 2020-12-07T10:53:58.310900Z

It’s too early to tell at this point, but I very much like the ease of exploring my data. Just see what’s there. Since a few months, I’m working on a large years-old codebase, so the exploration is great. And definitely also tap> support. I’m not sure yet if I will be using the eval capabilities a lot.

❤️ 1
Stefan 2020-12-07T10:55:42.311100Z

Having multiple ways of visualizing data is definitely very cool; I don’t have an active need as such, but I suspect I have a passive need if you know what I mean 😉

2020-12-07T16:29:24.311600Z

how do I actually run reveal from cider?

2020-12-07T16:29:46.312200Z

I mean if I use the alias with main-opts and jack-in it just runs the reveal UI but I don't get a repl

2020-12-07T16:30:08.313200Z

maybe I need to avoid the main-opts and then fire up reveal manually when I get the repl?

vlaaad 2020-12-07T16:30:22.313800Z

Since you are using nrepl, you can use nrepl middleware that is bundled in reveal

2020-12-07T16:30:40.314300Z

but I thoguht so but I tried to connect and it didn't manage

2020-12-07T16:30:48.314700Z

ah ok got it

vlaaad 2020-12-07T16:31:09.315300Z

you should have reveal on the classpath, add middleware and launch cider/nrepl as usual

2020-12-07T17:03:40.316Z

one thing I noticed is that the reveal interface relies a lot on the mouse to move around and scroll

2020-12-07T17:04:02.316700Z

I guess there isn't a way to make it more keyboard based?

vlaaad 2020-12-07T17:27:34.316800Z

@andrea.crotti Everything you can do in Reveal you can do with keyboard

vlaaad 2020-12-07T17:28:03.316900Z

If anything, there is some stuff that is accessible only by keyboard 😂

vlaaad 2020-12-07T17:31:26.317Z

Hmm, I guess navigating charts does require mouse after all... Where do you reach for mouse?

2020-12-07T17:37:18.317300Z

ah right I just didn't know how to use it then 😄

2020-12-07T17:38:14.318300Z

yeah I guess the annoying is that when I don't have a proper tiling window manager available I have to keep the reveal window handy somwhere

2020-12-07T17:38:30.318800Z

but well not much can do about that unless it runs inside Emacs 😄

2020-12-07T17:38:35.319100Z

which I guess it's not possible sadly

vlaaad 2020-12-07T17:39:12.319300Z

There is a readme section about navigation: https://vlaaad.github.io/reveal/#ui-concepts-and-navigation

vlaaad 2020-12-07T17:41:56.319400Z

Re emacs, I'm planning to add a remote control capabilities to Reveal so you'll be able to use it without leaving emacs. Design is TBD, but it's an agenda item for me

vlaaad 2020-12-07T17:42:27.319500Z

What os do you use @andrea.crotti?

2020-12-07T20:05:16.319700Z

arch on my personal

2020-12-07T20:05:21.319900Z

another Linux for work

2020-12-07T20:05:41.320200Z

and yeah remote control would be awesome I guess

2020-12-07T20:05:47.320600Z

not having to switch windows

dharrigan 2020-12-07T20:08:41.321Z

I use Arch, what WM do you use?

2020-12-07T20:32:23.321200Z

i3

2020-12-07T20:32:38.321400Z

the problem is the work box where it's more complicated

2020-12-07T20:32:49.321600Z

and I can't really use a nice tiling WM

dharrigan 2020-12-07T20:57:28.321800Z

I use i3 too

dharrigan 2020-12-07T20:57:37.322Z

(i3-gaps to be precise)

JAtkins 2020-12-07T21:59:20.323700Z

Anyone using Shadow CLJS + Reveal + Cursive successfully? I've tried to set it up a few times, but the integration ends up being terrible. It could be issues with the other projects, but I figured I'd see if anyone has a working setup before I go bug them 🙂

vlaaad 2020-12-08T08:13:50.323800Z

Haven’t tried myself, but it seems you need to have :prepl specified in your shadow cljs config (see https://github.com/thheller/shadow-cljs/issues/508#issuecomment-535866881)

vlaaad 2020-12-08T08:14:50.324200Z

Then you’ll need to use remote-prepl (described here: https://vlaaad.github.io/reveal/#remote-prepl) to connect reveal to shadow-cljs project

vlaaad 2020-12-08T08:15:51.324400Z

Cursive setup is a local repl as described in https://vlaaad.github.io/reveal/#cursive

vlaaad 2020-12-08T08:17:05.324600Z

But in Parameters, instead of -m vlaaad.reveal repl you’ll need something like -m vlaaad.reveal remote-prepl :port your-prepl-port-number

JAtkins 2020-12-08T09:11:56.327800Z

Yup. I have it working (mostly), but the integration seems off. Particularly cursive prepl seems really weird. Not a reveal issue, but this is where I expected to see the most people who may have had similar issues.

JAtkins 2020-12-08T09:12:34.328800Z

Technically it could be reveal’s problem, but I doubt it.

vlaaad 2020-12-08T09:21:34.329Z

what seems weird?

JAtkins 2020-12-08T09:26:51.331500Z

Cursive won’t do any of the REPL tooling, e.g. when sending a form to the REPL the statement should be evaluated in the context of the namespace of the file.

JAtkins 2020-12-08T09:27:56.332800Z

Also, a bunch of what I presume to be prepl messages end up in the console unparsed

JAtkins 2020-12-08T09:29:11.334800Z

It’s more likely than not Cursive’s issue. I just figured I’d find more people who have tried this setup in here than in the cursive channel.

vlaaad 2020-12-08T09:30:25.335Z

> Cursive won’t do any of the REPL tooling, e.g. when sending a form to the REPL the statement should be evaluated in the context of the namespace of the file. There is “Switch REPL NS to Current File” command

JAtkins 2020-12-08T09:39:00.337300Z

Right. Separate issue though - typically cursive will bracket calls to the REPL with the current ns and a call to return it to where it was. Part of its nrepl integration.